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

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

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

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

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

Подробный код функции
Подробный код функции

Объявление функции;


         &НаСервере
         Функция ПолучитьМакетНаСервере()

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


         ОбъектВнешнейОбработки = РеквизитФормыВЗначение("Объект");

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

Получение макета по наименованию
Получение макета по наименованию


         НовыйМакет = ОбработкаОбъект.ПолучитьМакет("НовыйМакет");

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


         Возврат НовыйМакет;
         КонецФункции

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

Рассказать друзьям
Предыдущая статья статья
Загрузка прайс листа в 1С 8.3
Следующая статья статья
1С:Управление торговлей 8 версия 11.5: обзор возможностей
Комментарии