«1С:Исполнитель» – новое решение для администрирования информационных систем на 1С
Фирма «1С» выпустила бета-версию «1С:Исполнителя», информация о котором уже публиковалась ранее на страницах официального технологического блога «Зазеркалье».
«1С:Исполнитель» – это консольное приложение, предназначенное для исполнения скриптов, которое адресовано в первую очередь системным администраторам и администраторам инфраструктуры CD/CI (Continuous Delivery / Continuous Integration), создающим скрипты автоматизации.
Скриптовый движок «1С:Исполнителя» работает во всех операционных системах, которые поддерживаются для «1С:Предприятия» (Windows, macOS, Linux).
В движок встроена богатая библиотека объектов – поддерживается:
- работа с файловой системой;
- чтение и запись данных в форматах XML и JSON;
- работа с протоколом HTTP;
- отправка сообщений электронной почты;
- работа с процессами операционной системы;
- работа с переменными среды исполнения;
- работа с консолью ввода-вывода;
- работа с двоичными данными.
Реализованы специализированные программные интерфейсы (API) для работы с кластером «1С:Предприятия» и «Системой взаимодействия».
«1С:Исполнитель» – это полностью самостоятельный продукт, для запуска которого не требуются лицензии «1С:Предприятия».
Две среды разработки
Для разработки скриптов 1С:Исполнителя можно использовать наравне:
- плагин для Visual Studio Code (поддерживаются автодополнение, встроенная проверка синтаксиса, квикфиксы и отладка);
- или специализированную среду разработки на базе Eclipse, аналогичную EDT (помимо уже упомянутых возможностей имеет встроенный синтакс-помощник с примерами использования).
Разработку можно вести с применением русского и английского синтаксиса.
Что представляет собой язык, используемый в «1С:Исполнителе»
Для написания скриптов для «1С:Исполнителя» фирма «1С» предлагает совершенно новый язык программирования, который чем-то напоминает язык 1С, но имеет несколько особенностей:
-
Язык «1С:Исполнителя» строго типизирован. У каждой переменной, параметра и метода, возвращающих значения, должны быть заданы типы или перечисление возможных типов через вертикальную черту «|» – нельзя передать переменную непредусмотренного типа.
-
Типизированы даже исключения – можно описать обработку исключения определенного типа.
-
Поддерживается повторное определение (перегрузка) методов. Перегруженные методы могут отличаться:
- количеством параметров;
- типом параметров и типом возвращаемого значения (одним типом возвращаемого значения перегруженные методы различаться не могут).
-
Вместо разделения на функции и процедуры используется единое ключевое слово «метод». Если метод возвращает значение, на это указывает тип возвращаемого значения в сигнатуре метода (например метод Метод(): Число).
-
В языке присутствует иерархия типов – например, базовым типом для типов, использующих системные ресурсы, является специальный тип «Закрываемое», который позволяет автоматически возвращать ресурсы, которые уже не используются, операционной системе.
-
Все ключевые слова языка (метод, пока, для, по и т.д.) пишутся строчными буквами – прописные буквы в ключевых словах не используются.
-
Все стандартные типы (Строка, Число, Дата, Длительность, Массив, Соответствие, Множество, Байты и Ууид) указываются строго с прописной буквы – т.е. язык в целом является регистрозависимым.
-
В инструкции «если» не используется ключевое слово «Тогда», в инструкции «для» и «пока» не используется ключевое слово «Цикл», в инструкции «для из» не используется ключевое слово «каждого»,
-
Поддерживаются многострочные комментарии.
-
Поддерживается интерполяция строк.
-
Поддерживаются многострочные литералы.
-
Поддерживаются собственные типы данных в виде пользовательских структур и перечислений.
-
При объявлении переменной обязательно должно использоваться одно из ключевых слов:
- пер – для создания переменной, доступной на запись и чтение;
- знч – для создания переменной, доступной только для чтения;
- исп – для создания переменной, тип которой должен быть потомком типа Закрываемое, и которая доступна только для чтения. При выходе из области видимости для такой переменной будет автоматически вызван метод Закрыть();
- конст – позволяет определить именованное значение, которое синтаксически выглядит как переменная, но значение которого нельзя изменить после объявления.
-
Если переменная объявлена внутри блока «для» или «если», за его пределами ее значение недоступно.
-
В качестве операторов сравнения не поддерживаются используемые в «1С:Предприятие» операторы «=» и «<>». Вместо них используются операторы «==» и «!=».
-
Можно использовать операторы присваивания, совмещенные с арифметическими операциями, такие как «+=», «-=», «*=», «/=» (эквивалентны результату арифметической операции между значениями, используемыми в левой и правой части выражения).
-
Каждая инструкция располагается на отдельной строке. Символ ";" является универсальным символом, завершающим группировку инструкций: оператор или метод. Можно сказать, что символ ";" является заменой ключевых слов КонецЕсли, КонецЦикла, КонецФункции, КонецПроцедуры. Объявления исключений, структур и перечислений также заканчиваются символом ";".
Подробное описание отличий языка «1С:Исполнителя» от встроенного языка «1С:Предприятия» опубликовано в разделе для разработчиков на портале 1С:ИТС.
Там же опубликованы Руководство разработчика для Executor IDE и Справочник по объектной модели языка 1С:Исполнителя.
Требования для разработки скриптов и работы с 1С:Исполнителем
Доступ к дистрибутиву бета-версии «1С:Исполнителя» могут получить все пользователи с активным договором 1С:ИТС и партнеры фирмы 1С.
Для работы «1С:Исполнителя» требуется установленная среда исполнения Java версии не ниже 8 (рекомендуется версия 11, которую можно скачать со страницы https://bell-sw.com/pages/downloads/). Минимальное количество требуемой оперативной памяти – 4Гб.
Для запуска среды разработки на базе Eclipse необходимо использовать 64-разрядный дистрибутив Liberica JDK из последней таблицы с заголовком «Полная версия Liberica включает LibericaFX и Minimal VM, где это применимо».
Документация 1С:Исполнителя
С продуктом можно ознакомиться самостоятельно по документации, которая выложена вместе с дистрибутивом.
Также в состав среды разработки на базе Eclipse входит синтакс-помощник, где содержится большое количество примеров для разработки скриптов.
Пользователи с активным договором 1С:ИТС могут ознакомиться с примерами использования скриптов для 1С:Исполнителя на сайте 1С:ИТС.
Особенности бета-версии и условия участия в бета-тестировании
Фирма «1С» указывает на некоторые ограничения и особенности, которые присущи тестовой версии 1С:Исполнителя:
-
на этапе бета-тестирования будет выпущено еще несколько версий, которые будут содержать расширенную функциональность
-
после обновления бета-версии в отдельных случаях может не поддерживаться совместимость встроенного языка и библиотеки объектов встроенного языка с предыдущими версиями
-
выпуск финального релиза запланирован на четвертый квартал 2020 года.
Разработчики 1С:Исполнителя приглашают всех бета-тестеров включиться в дискуссию по продукту на форуме разработчиков, а также призывают делиться полученным опытом по почте testplatform@1c.ru.
Более подробная информация о бета-версии и порядке ее распространения приведена в информационном письме фирмы «1С».