Макеты в 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.

См. также

TCP прокси-сервер хранилища конфигурации 1С

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

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

17.01.2024    2638    kamisov    17    

56

Что такое ОСень? Или как лучшие практики из мира Java прижились в экосистеме OneScript

OneScript Бесплатно (free)

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

21.11.2023    3015    NikitaIvanchenko    16    

46

Библиотека создания клиент-серверных приложений для сценарного языка OneScript

Инструментарий разработчика Работа с интерфейсом OneScript Россия Бесплатно (free)

Представленная библиотека позволяет создать многопоточный TCP сервер, к которому может одновременно подключиться множество TCP клиентов с удаленных компьютеров. Эти клиенты могут вызывать методы скриптов как на сервере, так и на других клиентах. Методы будут выполнены в контексте скрипта на удаленной машине. Возможна передача параметров в метод и получение результата. Для TCP клиента можно создать графический интерфейс с большим набором элементов управления, модальными диалоговыми окнами и с обработкой событий.

31.07.2023    1976    ahyahy    8    

32

Получаем статистику по git-репозиторию в разрезе разработчиков

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Итак! Представим, что наступил момент, когда разработка через исходный код реализована на предприятии в полном объеме. Мы разрабатываем в EDT или конфигураторе (но выгружаем конфигурацию в исходный код), версионируем внешние отчеты и обработки и расширения, собираем релизы, проверяем код статическим анализом, в разработке царит гармония и мир. Красота! Но менеджерам этого мало, всегда хочется чего-то еще, и вот мне прилетает задача - дай статистику по вкладу в код каждого разработчика.

13.03.2023    3553    ardn    3    

27

Прокси хранилища 1С (IIS, OneScript)

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

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    7991    kamisov    57    

95

OneScript на страже порядка на сервере тестовых баз данных

Администрирование СУБД OneScript Бесплатно (free)

Наводим порядок на сервере тестовых баз с помощью любимого инструмента - OneScript. Находим заброшенные базы на сервере MS SQL, определяем кандидатов на удаление.

14.06.2022    4201    ardn    23    

37

Идем в Serverless с кодом 1С

Облачные сервисы, хостинг OneScript Россия Абонемент ($m)

Запускаем код OneScript в Serverless Container Яндекса.

1 стартмани

29.04.2022    3677    1    papami    2    

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