1с как получить общий макет
Перейти к содержимому

1с как получить общий макет

  • автор:

1с макеты печатных форм, получение

Для того, что бы получить макет вашей печатной формы или отчета следует использовать функцию глобального контекста ПолучитьМакет(<ИмяМакета>). Таким способом можно получить макет документа, справочника или внешней печатной формы / обработки / отчета, но только непосредственно из их модулей.

Если нужный вам макет находится в Общих макетах, то получить его можно используя функцию ПолучитьОбщийМакет(<ИмяОбщегоМакета>)

ПолучитьМакет в 1С 8.3

Анна Викулина

В процессе разработки печатных форм или отчетов на обычных формах разработчики 1С часто использовали команду «ПолучитьМакет» на стороне клиента. В управляемых же формах платформы 1С 8.3 эта команда доступна только на сервере или толстом клиенте. Так как подавляющее большинство пользователей работают в режиме тонкого, программистам придется изменить процесс, чтобы получить макет внешней обработки 1С.

Как получить макет на клиенте?

В этом нам поможет отдельная функция, работающая на стороне сервера. С помощью функции «РеквизитФормыВЗначение()» мы передадим объект в виде нашей внешней обработки в серверную функцию и там получим макет. В качестве реквизита формы выступает основной реквизит, выделенный на самой форме жирным шрифтом. Подробный код функции содержит следующие строки:

Рис.1 Подробный код функции Рис.1 Подробный код функции

Передача объекта с клиентской формы на сервер;

Получение макета по наименованию. Наименование задается при добавлении макета во внешнюю обработку;

Рис.2 Получение макета по наименованию Рис.2 Получение макета по наименованию

Возвращаем полученный макет на клиент;

Это изменение призвано оптимизировать работу тонкого клиента и перенести «тяжелые» операции на сервер. Подобные разграничения пропагандирует компания 1С, стараясь оставить на стороне клиента лишь работы по прорисовке интерфейса. Чуть больше строк кода даст нам прирост производительности и более стандартизированный код. Если придерживаться единых стандартов 1С при разработке, то будет намного удобнее и понятнее поддерживать сложные конфигурации.

Управляемое приложение. Получить общий макет из общего модуля

Всем доброго времени суток. Практикуюсь в написании конфигурации с управляемым приложением. Стоит такая задача (вернее, сам её для себя поставил): есть общий макет «Товарная накладная», а функция по заполнению и выводу находится в общем модуле «Для печати». Подскажите, пожалуйста, как из этого общего модуля получить вызвать функцию ПолучитьОбщийМакет, чтобы не возникала ошибка
«Процедура или функция с указанным именем не определена (ПолучитьОбщийМакет)» ?

Настройка печати в 1С

Здравствуйте дорогие читатели блога 1С Программист.

Спонсор Поста: Прошивка принтеров, заправка картриджей, ремонт принтеров в Москве. Прошивка принтера Samsung ML-2950ND/2955ND. Перепрошивка принтера Samsung ML 3300, прошивка принтеров Xerox.

В работе 1С Программист часто имеет дело с созданием и редактированием печатных формам документов, и сегодня поговорим о создании печатных формы для документов и настройкой печати.

При построении печатной формы используются следующие объекты:
1) Макет – В нем содержатся различные области для формирования печатной формы.
2) Табличный документ – Необходим для вывода печатной формы на экран.

Построение печатной формы происходит в следующем порядке:
1) Получить макет (созданный для данного объекта или общий)
2) Получаем области макета (в областях макета содержится параметр или текст)
3) Создаем табличный документ (тот объект, куда будет происходить вывод).
4) Подставляем значения в параметры и выводим области в табличный документ.
5) Отображаем табличный документ на экране.

Создание Макетов и областей макетов затрагивать сейчас не будем, а сразу перейдем к типу данных “ТабличныйДокумент”, который необходим для вывода печатной формы созданной на основании макета.
“Макет” доступен только на сервере и толстом клиенте, поэтому для формирования печатной формы потребуется серверный вызов, Заполнение макета будем производить на сервере, а вывод на клиенте.

Пример создания простейшей печатной формы:

Существует множество методов и свойств класса ТабличныйДокумент, с помощью которых можно сразу же выводить табличный документ на печать, устанавливать настройки принтера, свойства страницы, многое другое.

Сейчас рассмотрим более подробней как документ будет выгладить в распечатанном виде, задавая установки параметров печати через свойства и методы объекта «Табличный документ».

Свойства Табличного Документа

Зададим для печати принтер, отличный от установленного по умолчанию.
Используем свойство Табличного документа «ИмяПринтера» которое позволяет задать имя принтера известного в системе, на который бедет выводится печать.

Установим количество копий печатуемого документа программно.

Установив признак разбора по копиям для документа.

Установим через свойство «РазмерСтраницы» которое позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список в справке 1С).

Если размер бумаги нестандартен (Custom – произвольный размер бумаги ) то укажем значения высоты и ширины страницы (в мм):

Зададим поля для страницы (по умолчанию поля 10мм).

Программно управляем вывводом колонтиттула и его содержимым в 1С через свойства «ВерхнийКолонтитул» и «НижнийКолонтитул».
Пример:

Еще пару свойств страницы:

Если свойство АвтоМасштаб имеет значение Ложь или еще не заданно то можно указать значение масштабирования в процентах (через свойство «МасштабПечати»).

Методы Табличного Документа

Отправим на печать табличный документ непосредственно на принтер.

Перед печатью будет выведен диалог печати.

Скрываем окно табличного документа.

Или открываем окно для показа и редактирования табличного документа.

Можно принудительно вставить разрывы страниц используя методы «ВывестиГоризонтальныйРазделительСтраниц()» и «ВывестиВертикальныйРазделительСтраниц()»

Более полный список по свойствам и методам Табличного Документа смотрите в справке 1С.

На платформе «1С:Предприятие 8.2» у свойств и методов идет четкое разделение по контексту исполнения. Если свойства доступны в любом контексте, то методы в основном недоступны на «Тонком» клиенте. Следовательно, оформляем документ на сервере, а отправку на печать производим в клиентской процедуре.

Чтобы понять, что написано в модуле формы необходимо разбираться в контексте модуля формы.

П.С. Если вам необходимо создать печатную форму или отредактировать существующую обращайтесь 1С Программист к вашим услугам.

Пожалуйста, оставляйте комментарий мне важно ваше мнение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *