Макеты в http-сервисах OneScript

03.06.18

Разработка - OneScript

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

Введение

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

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

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

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

Описание

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

Общие макеты

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

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

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

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

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

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

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

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

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

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

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

Установка

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

 
<!--Определяем каталог, где расположены файлы перечислений -->

<add key="commonTemplatesPath" value="~/ОбщиеМакеты/" />

<!—Подключаем сборку -->

<add key="Templates " value="attachAssembly" />

 

Использование

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

 
ОбщийМакет = ПолучмитОбщийМакет(“ИмяОбщегоМакета”);

МакетОбработки = Обработки.МояОбработка.ПолучитьМакет(“ИмяМакета”);

 

Заключение

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

См. также

OneScript Программист Бесплатно (free)

OneScript – это скриптовый движок для автоматизации всего и вся. О том, как OneScript помогает в разработке скриптов на языке 1С, пойдет речь в статье.

10.10.2024    453    ardn    1    

4

Инструментарий разработчика OneScript Программист Руководитель проекта Бесплатно (free)

Все мы хотя бы раз работали с конструктором запросов. Результатом его работы является синтаксически верный запрос, оформленный по некоторому стандарту. Нравится - не нравится, а привыкаешь быстро, и на запрос, написанный руками, уже не хочется смотреть... А почему бы не попробовать сделать то же самое с исходным кодом 1С? Ну я и попробовал...

23.09.2024    422    0    stopa85    4    

4

Групповая разработка (Git, хранилище) OneScript Программист Платформа 1С v8.3 Бесплатно (free)

Скрипт для работы с SonarQube и локальным репозиторием Git.<br> Цель проекта – возможность выполнить быструю проверку качества кода перед тем, как помещать доработки в рабочее хранилище. В Sonar и Git выгружается не вся конфигурация, а только объекты из заданного списка.<br> https://github.com/vkrivov/go/

02.07.2024    3119    vkrivov@yandex.ru    8    

18

DevOps и автоматизация разработки OneScript Системный администратор Программист Стажер Бесплатно (free)

Рассмотрим создание самоформирующейся документации через комментарии и соглашения: как это сделать и зачем, с описанием полного цикла от исходников конфигурации до странички в интернете

17.06.2024    4704    bayselonarrend    5    

61

OneScript Программист Стажер Бесплатно (free)

Поговорим про меню, спиннеры, прогресс-бары и прочие свистелки для CLI приложений на OneScript

20.05.2024    2731    bayselonarrend    18    

70

Групповая разработка (Git, хранилище) OneScript Системный администратор Программист Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    2349    bayselonarrend    3    

42

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    4792    kamisov    21    

63

OneScript Программист Бесплатно (free)

Думаете, на OneScript неудобно создавать сложные инфраструктурные приложения? Ошибаетесь. Благодаря фреймворку ОСень за последний год экосистема библиотек, упрощающих написание собственных приложений, существенно выросла. Расскажем о самых передовых технологиях OneScript. Спойлер: будет много рефлексии, мета-аннотаций, желудей, напильников и дубов с завязями.

21.11.2023    4147    NikitaIvanchenko    16    

48
Оставьте свое сообщение