Введение
Настоящая конфигурация является обновленной версией каркасной конфигурации, описанной в этой публикации и также, как и предыдущая версия, предназначена для создания и отладки web-приложений на основе механизма http-сервисов, в среде 1С:Предприятие, с последующим их выполнением в OneScript.
Конфигурация никоим образом не претендует на то, чтобы стать “убийцей” или заменой каких-либо распространенных web-фреймворков etc. J и предназначена исключительно для расширения возможностей информационных систем, созданных на платформе 1С:Предприятие, в тех случаях, когда использование платформы по каким-либо причинам неудобно или невозможно.
К возможным сферам применения таких web-приложений можно отнести горизонтальное масштабирование частей информационной системы, посредством выполнения “тяжелых” функций, слабо связанных с информационной базой, средой выполнения OneScript, которая не требует лицезий и может быть развернута на множестве серверов. Другой сферой применения может быть создание различных сервисов, которые будут являться неким промежуточным звеном, между конечными пользователями или другими системами с платформой 1С:Предприятие.
Системные требования
Компьютер под управлением ОС Windows 7 или более поздней версии.
На компьютере должен быть установлен .NET Framework версии не ниже 4.5.2.
На компьютере должна быть установлена платформа 1С:Предприятие, версии не ниже 8.3.6.1977
Новые функции
В целом, методика установки, настройки и работы с конфигурацией аналогична методике, используемой в предыдущей версии, однако есть некоторые отличия, которые описаны ниже.
Новые объекты конфигурации
В отличии от предыдущей версии, где для разработки могли быть использованы только общие модули, в настоящей версии, для разработки и выполнения в OneScript стали доступны нижеследующие объекты конфигурации 1С:Предприятие:
- Обработки
- Макеты
- Перечисления
- Фоновые задания (см. также об обновлениях в механизме)
Таким образом, теперь вы можете использовать эти объекты для создания web-приложений.
Улучшена поддержка работы с СУБД
Основой для работы с СУБД, как и в предыдущей версии, является библиотека OneScript SQL. В новой версии есть надстройка, позволяющая работать с библиотекой как с набором обработок, что позволяет сделать код работы с СУБД полностью переносимым. Также появился инструмент, позволяющий писать и отлаживать запросы к СУБД из среды 1С:Предприятие.
Подробное описание этих механизмов и работы с ними находится в этой статье.
Дополнительные настройки
В связи с появлением новых объектов, а также с целью улучшения удобства использования, в окне настроек появились новые опции:
Код языка (1) – Поскольку в 1С:Предприятие возможно создание различных версий макетов для разных языков, данный параметр указывает, какие версии макетов будут использоваться для создания web-приложения.
Пул приложений (2) – Поскольку в ОС Windows работа приложения возможна в классическом и интегрировааном пуле, данный параметр указывает, какой тип пула будет использовать приложение. Данный параметр влияет на генерацию файла web.config.
Папки компонентов (3), (4), (5), (6) – Данные параметры служат для настройки имен папок, в которых будут расположены соответственно общие модули, общие макеты, перечисления и обработки.
Изменения в методике создания приложений
В предыдущей версии конфигурации имелись нижеследующие предопределенные объекты:
ПлатформаOneScript – макет, содержащий исполняемые файлы и библиотеки платформы OneScript.
web_config – макет, содержащий тело файла web.config
web_config_linux – макет, содержащий тело файла web.config для Linux.
БиблиотекиOneScript – макет, содержащий исполняемые (*.dll) файлы библиотек, не относящихся к платформе OneScript.
ПрочиеФайлы – макет, содержащий все остальные файлы, не относящиеся к общим модулям, http-сервисам, платформе, библиотекам или конфигурационным файлам web.config.
Таким образом, внедрение новой библиотеки или обновление, влекло за собой пересборку вышеуказанных макетов, что естественным образом могло привести к ошибкам.
Для упрощения задач по внедрению и изменению компонентов вашего web-приложения, в конфигурации имеется несколько предопределенных подсистем:
ИсполняемыеФайлыWebПриложения – данная подсистема содержит макеты с zip-архивами, которые содержат исполняемые файлы или dll, которые необходимы для работы web-приложения. Фактически, совокупность этих макетов является аналогом макета БиблиотекиOneScript в предыдущей версии. В процессе создания приложения, производится выгрузка и распаковка содержимого всех макетов.
В качестве примера, на рисунке ниже, показан состав этой подсистемы в каркасной конфигурации.
ПрочиеФайлыWebПриложения – данная подсистема содержит макеты, аналогично макету ПрочиеФайлы, предыдущей версии. Распаковка и выгрузка производится аналогично макетам исполняемых файлов.
СекцияAppSettingsФайлаWebConfig – данная подсистема содержит макеты, содержащие ключи секции appSettings, файла web.config. В процессе создания web-прилоджения, содержимое этих макетов формирует секцию appSettings, файла web.config.
В качестве примера, на рисунке ниже, показан состав этой подсистемы, а также содержимое макетов для каркасной конфигурации.
СекцияConnectionStringsФайлаWebConfig – служит для формирования секции connectionSrtrings, аналогично секции appSettings.
ИнформацияОКомпонентахWebПриложения – содержит макеты типа ТекстовыйДокумент, в которых разработчик может указать версию библиотеки, описание или какую-либо другую справочную информацию. Просмотреть информацию об установленных компонентах и библиотеках, можно выбрав пункт Информация о компонентах, на вкладке Инструменты.
Конечно создание макетов с описанием компонентов не является обязательным, однако это удобно.
ОбъектыКонфигурацииWebПриложения – данная подсистема содержит объекты конфигурации, которые будут выполняться в среде OneScript. Использование данной подсистемы не обязательно, однако желательно, чтобы избежать путаницы с выгрузкой объектов в web-приложение.
Таким образом, внедрение новых библиотек и фрагментов кода, а также их обновление может быть осуществлено сравнением/объединением с фильтрацией по подсистемам.
В качестве примера, на рисунке ниже приведен состав подсистемы БиблиотекаSqlDataProcessor.
Заключение
Надеюсь, что с этим наверное уже можно как-то работать J. В общем – пробуйте, создавайте распределенные системы, решайте бизнес-задачи J.
P.S.
Если есть интересные идеи – можем попробовать реализовать их вместе.
История версий
Версия 2.0.5.
Исправлена ошибка: При создании web-приложения из файлов конфигурации возникает исключительная ситуация, если в выгружаемых объектах присутствует обработка, имеющая реквизиты с ссылочным типом.
Ошибку можно исправить, закомментировав строки 660 и 663 в общем модуле ФункцииHTTPСервисыOneScript:
Версия 2.0.4.
Исправлена ошибка, вызывающая исключительную ситуацию, при выполнении запроса типа Команда в форме справочника ЗапросыСУБД.
Исправлена ошибка: общий макет ПрочиеФайлы не включен в подсистему ПрочиеФайлыWebПриложения.
Исправлена ошибка: Переменные в модуле объекта обработки ТипыСУБД имеют неверный тип данных. Данная ошибка влияет на работу с СУБД в среде 1С:Предприятие.
Исправлена ошибка: Функция Обработки.ПараметрыСоединенияСУБД.ПолучитьТипСУБД возвращает неправильный тип данных. Данная ошибка влияет на работу с СУБД в среде 1С:Предприятие.