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

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

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

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

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

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

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

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

Общий макет 1С — объект конфигурации 1С, предназначенный для формирования печатных форм электронных документов, и доступный из любого места конфигурации (разных программных модулей).

Общие макеты печатных форм располагаются в ветви «Общие» дерева конфигурации, в отличие от печатных форм объектов конфигурации (справочников, документов, журналов документов, планов счетов, планов видов характеристик, планов видов расчетов, регистров, отчетов и обработок и др.), которые располагаются в подчиненных объектах «Макеты», а также во внешних файлах (в этом случае должно быть установлено свойство табличного документа Макет ).

Макет объекта конфигурации «Справочники»:

Таким образом, «Общие макеты» (шаблоны печатных форм) не принадлежат конкретному объекту конфигурации, и могут используются из разных программных модулей.

Типы макетов 1С:

  • Табличный документ – использование стандартной технологии создания и использования макетов: подготовка макета производится с помощью табличного редактора.
  • Текстовый документ – использование текстового документа в качестве макета: подготовка текстового макета производится с помощью редактора текстовых макетов.
  • Двоичные данные – используются двоичные данные.
  • ActiveDocument – использование технологии OLE Active document (документы Microsoft Office OpenXML не могут быть использованы в качестве макета ActiveDocument).
  • HTML-документ – использование редактора HTML-документа.
  • Географическая схема – использование в качестве макета географической схемы, подготовленной в редакторе географических схем.
  • Графическая схема – использование подготовленной в редакторе графической схемы.
  • Схема компоновки данных – использование схемы компоновки данных, подготовленной в конструкторе.
  • Макет оформления компоновки данных – предполагает использование макета оформления системы компоновки данных.
  • Внешняя компонента – хранение внешних компонент, используемых в мобильном или обычном прикладном решении.

Внешняя компонента — это механизм интеграции, сторонняя программа, которая используется для решения задач, недоступных встроенному языку 1С:Предприятия (например, для настройки низкоуровневого взаимодействия с операционной системой или подключаемым оборудованием).

Внешняя компонента поставляется в виде dll-библиотеки, и расширяет встроенный язык новыми методами.

При работе с внешней компонентой после программной загрузки объекты внешней компоненты подключаются к «1С:Предприятию 8».

В платформе 1С:Предприятие имеется достаточно удобный механизм, позволяющий централизовано хранить различные пользовательские шаблоны да и просто файлы, а также осуществлять доступ к ним по имени. Это механизм макетов. В настоящее время платформа OneScript не имеет такого механизма, поэтому была написана библиотека, частично реализующая этот механизм в http-сервисах OneScript.

Отличия от 1С:Предприятие

Поддерживаются макеты только нижеследующих типов: Текстовый документ, Двоичные данные и HTML документ.

Для типа ОболочкаHTMLДокумента, возвращаемого при получении макета типа HTML документ, реализована только одна функция – ПолучитьТекст.

Библиотека входит в состав набора библиотек, расширяющих возможности http-сервисов OneScript. В платформе 1С:Предприятие есть два вида макетов – Общие макеты, которые находятся в одноименной ветке конфигуратора, а также макеты, принадлежащие соответствующим объектам конфигурации. В нашем случае – это макеты обработок.

Общие макеты

Представляют собой файлы, которые хранятся в определенной папке на диске, и имеют следующую схему именования:

ИмяМакета.Расширение

Где ИмяМакета – это имя макета, которое используется для доступа из внутреннего языка.

Расширение – принимает значения: txt — для макетов типа Текстовый документ, bin – для макетов типа Двоичные данные и html – для макетов типа HTML документ.

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

Макеты обработок

Представляют собой файлы, которые хранятся в папке обработок, совместно с модулями, которые имеют следующую схему именования:

ИмяОбработки.Макет.ИмяМакета.Расширение

Где ИмяОбработки – это имя обработки на внутреннем языке, Макет – признак того, что файл является макетом, ИмяМакета – имя макета, которое используется для доступа из внутреннего языка.

Расширение – принимает значения: txt — для макетов типа Текстовый документ, bin – для макетов типа Двоичные данные и html – для макетов типа HTML документ.

Следует отметить, что для обработок, написанных по технологии внешних компонент OneScript, реализация функции ПолучитьМакет, а также место хранения макетов и их формат, полностью на совести разработчика.

Установка осуществляется копированием файлов dll в папку Bin веб-приложения. Затем, необходимо внести нижеследующие изменения в секцию , файла web.config:

Использование макетов в http-сервисах OneScript аналогично их использованию в 1С:Предприятие. Пример использования макетов в OneScript представлен ниже:

Надеюсь, что настоящая библиотека позволит вам использовать преимущества стандартных механизмов 1С:Предприятие в ваших web-приложениях OneScript.

Оцените статью
SoftLast
Добавить комментарий