1c executor ide что это

Обновлено: 06.07.2024

они чего java переписали под 1с подобный язык?
и зачем ключевое слово Метод?
и иерархия типов-для языка сценариев(которые пишут быстро)-маразм да и только.

в общем,очереднлй велосипед без колес.

(10) оно статически типизированный – ваще не питон ни разу
из всех языков понемногу,чтобы никто не ушел обиженным.
(11) там не только голова и туловище,там все должно быть от разных зверей.
(13) да, в питоне динамическая типизация, и классы есть. на скриншоте 1С только процедурный стиль продемонстрирован. может быть это они почву под 1С 9.0 готовят :)

1сники купили оскриптищка?

(0) Из всего этого, на мой взгляд, самое интересное - Continuous Integration. Можно будет конфигуратор из пользовательского режима вызывать.
Т.е., никого не смутило, что это компилируемый скриптовый язык?
(32) Неправильно. Там стоит ? так что ещё NULL может быть. Или вообще undefined.
Язык типа Паскаль минус классы. заточен пол толстых клиентов. стандартизирует разработку тулзов облегчающих администрирование. не, ну а чё, намана!
(30) и что тут конкретно "многое от typescript"?
Тут можно и kotlin, и go, и даже nim какой-нибудь припрести

(37) Не знаю языка до TS в котором переменная имела ограничение на типы
пер А: Строка|Число|Неопределено

Котлин моложе TS

Кстати, а какой англоязычный синоним у программы? Executor?
(42) и то верно - у 1Script язык один в один - одинэсный, а тут опять новый диалект.
(41) с "экзекутором" они вообще молодцы! Теперь можно не просто ибстись с серверами, а заниматься экзекуцией. Одинесники предпочитают жёсткий, суровый трах.
(40) Неа
By extension, a simple C enum defined as:
enum sign < positive, zero, negative >;
can be written in OCaml as:
type sign = Positive | Zero | Negative
Мне просто интересно, кто вообще в адекватном состоянии юзает кластер
(44) Я не знаю точно как перевели, только предположил. В русском языке экзекутор ассоциируется с палачом, а не трахом.

(0) Похоже цель этого цирка задушить OneScript. Видать знатно "пригорело" у кого-то.

Лично мне он станет интересен, если появится программный доступ к конфигурации (манипуляция объектами метаданных, их свойствами и т.д.). Ну и привязка к Яве и EDT совсем не радует.

(48) Чтобы во время написания скрипта работала контекстная подсказка.

Почитал про OneScript, Снегопат, Cucumber.
Кто все эти люди? Для кого это? Откуда у них столько времени?

(48) Прежде всего для интеллисенса. Но как и в TypeScript тип по умолчанию любой

метод СократитьДо(Строка: любой, Длина: любой): любой

Да ну нафиг еще одно угрёбище от 1с учить. От этого то тошнит уже. Мне питона заглаза.
(52) Давай и ИР в этот ряд поставим. К их автору те же вопросы?
Когда они хоть что-нибудь до ума доведут прежде чем новое велосипедить.
(0) 1с постоянно и целенаправленно подминает под себя всю свою экологическую нишу. Сначала забрала под себя чисто учетные функции (БП, ЗУП, УТ, КА, ERP и так далее), оставив партнерам только узкую зону отраслевой специфики, коробки и обслуживание типовых. Потом пошли в сторону подмятия технологических фишек. EDT заменил всякие снегопаты, турбо конфигураторы, метадата и прочее. Потом добавили 1с аналитику убив всякие прочие системы аналитики на основе 1с которую пытались писать партнеры. Сейчас лесом пойдет 1script. Вообщем на мой взгляд как то неправильно поступает 1с. Опасно становится что то разрабатывать в нише 1с кроме как чинить типовые глюки

(0) Ждать этот язык могут или программисты(которые хотят воплотить свои поделки и заработать денег) или владельцы бизнеса (которым нужны быстрые и нетребовательные к ресурсам программы)



✔ Является статически типизированным ✔ Поддерживаются пользовательские структуры, перечисления и исключения
✔ Нет разделения на функции и процедуры – используется единое ключевое слово "метод". Если метод возвращает значение, на это указывает тип возвращаемого значения в сигнатуре метода
✔ Поддерживается повторное определение (перегрузка) методов. Перегруженные методы могут отличаться количеством и/или типом параметров и типом возвращаемого значения. Перегруженные методы не могут различаться только типом возвращаемого значения
✔ В многострочных литералах не надо писать «|» в начале каждой новой строки
✔ Нет точки с запятой «;» в конце операторов. В программе каждая инструкция располагается на отдельной строке. Символ ";" является универсальным символом, завершающим группировку инструкций: оператор или метод. ";" является заменой ключевых слов КонецЕсли, КонецЦикла, КонецФункции, КонецПроцедуры.
✔ Объявления исключений, структур и перечислений заканчиваются символом ";" ✔ Поддерживается интерполяция строк (возможность сослаться из строки через символ % на переменную или выражение)
Параллельно c 1C:Исполнителем выпускается среда разработки и отладки 1C:Executor IDE (на базе 1С:Enterprise Development Tools ). Для работы требуется JRE или JDK v.1.8 (или выше), для среды разработки требуется Liberica JDK (64x) . Существует два варианта поставки (развиваются параллельно): 1С:Исполнитель U (Universal) – Требует предустановленной Java. 1С:Исполнитель X (eXecutable) – Выпущен в апреле 2021. Работает без Java и для конкретной ОС (Windows, Linux, macOS), используется, когда критично время запуска скриптов и нежелательна установка Java . Реализован на виртуальной машине GraalVM . Содержание установленного каталога с программой:
  • executor.cmd - утилита для запуска скриптов в Windows
  • executor.sh - утилита для запуска скриптов в Linux или macOS
/config - конфигурационные файлы, необходимые для работы системы executor -s имя файла[-m метод] [-v] [-d номер порта] [--] [параметры сценария]
-s (source-path) - имя файла со скриптом(*.sbsl). Является обязательным, только в том случае, если имя запускаемого сценария не является единственным параметром при запуске executor. -m (method) - имя метода, с вызова которого стартует исполнение скрипта. Если параметр не заполнен, то исполнение скрипта начнется с вызова метода Скрипт (Script). -v ( version) - для получения версии исполнителя скриптов. -d (debug-port) - номер порта (диапазон от 0 до 65535, исключая первый и последний номер), который будет использоваться сервером отладки. -- - признак прекращения разбора аргументов командной строки. Если параметр указан, то будет отключен разбор оставшейся части командной строки и все оставшиеся значения передаются как параметры сценария (разделитель: пробел). Данный параметр так же используется при необходимости передать в качестве значения другого параметра командной строки системы последовательность символов, начинающихся с -. параметры сценария - в случае, когда после определения именованных параметров в командной строке запуска сценария остались значения, то они будут переданы в запускаемый сценарий (в качестве параметров). Пример простой командной строки: “%ПапкаИсполнителя%\executor_j11.cmd” –s “%ПапкаСкрипта%\ИмяСкрипта.sbsl” –m ИмяМетода При работе скрипта исполнитель выводит информацию в стандартный поток вывода: stdout . При наличии ошибок в работе, используется стандартный поток ошибок: stderr . Примечание: кодировка выводимой информации зависит от ОС (windows - cp866; linux и macOS - UTF-8) Результат выполнения скрипта при завершении выводится в виде кода завершения:
  • 0 - скрипт и исполнитель успешно завершил работу.
  • 255 - завершение работы с ошибкой.
  • Скрипт начинается с метода Скрипт(Script). Это основной метод для запуска скрипта, который стартует, если выполнить файл sbsl без параметров.
  • Отсутствуют процедуры и функций, используется только ключевое слово метод (method).
  • Вместо КонецЕсли, КонецЦикла используется точка с запятой «;» и её теперь не нужно ставить в конце каждой строки, достаточно установить при завершении всего блока.
  • Язык является регистрозависимым. Ключевые слова всегда должны быть с маленькой буквы, все остальные - как и в 1С - в ГорбатомРегистре.
  • Для вывода результата используется Консоль.Записать.

метод Скрипт ()
// Объявление переменных
пер AAA : любой // Неопределено
пер BBB : Строка // Пустая строка
пер CCC : Число // 0
пер DDD : Строка ? // Неопределено
пер EEE : Строка|Число = 15 // 15

// Недопустимые значения при объявлении переменных
пер XXX : Строка|Число // Не указано значение инициализации
пер YYY : Строка = [ 5 , 7 ] // Не совпадение с указанным типом
;

метод Скрипт ()
ВывестиБазовыеТипы ( Тип ( Число ))
ВывестиБазовыеТипы ( Тип ( Массив ))
ВывестиБазовыеТипы ( Тип ( ПотокЗаписи ))
ВывестиБазовыеТипы ( Тип ( ИсключениеНедопустимыйАргумент ))
;

метод ВывестиБазовыеТипы ( Параметр : Тип )
Консоль . Записать ( "Базовые типы для " + Параметр )
пер Результат : Множество = ПеречислитьПредков ( Параметр )
для Элемент из Результат
Консоль . ЗаписатьСтроковоеПредставление ( Элемент )
;
;

метод ПеречислитьПредков ( Значение : Тип , Предки : Множество = <> ): Множество
для ТекущийБазТип из Значение . БазовыеТипы
Предки . Добавить ( ТекущийБазТип )
ПеречислитьПредков ( ТекущийБазТип , Предки )
;
возврат Предки

ЭлементНаПроверку это [не] КонтрольныйСписокТипов // Оператор это выполняет проверку: является ли присваиваемым список типов выражения в список типов (справа за оператором)

метод Скрипт ()
ЭтоКоллекция ( 1 )
ЭтоКоллекция (новый Массив ())
ЭтоКоллекция (новый ФиксированныйМассив ([]))
ЭтоКоллекция (новый Соответствие ())
ЭтоКоллекция (новый Множество ())
;

метод ЭтоКоллекция ( Параметр : Объект )
Консоль . ЗаписатьСтроковоеПредставление ( "Тип параметра Это фиксированная коллекция" )
иначе
Консоль . Записать ( "Это не фиксированная коллекция" )
;
;

метод Скрипт ()
пер X : Строка|Число = ""
пер Y : Строка|Число|Ууид = 0
пер Z : любой
// Разрешенные операции
если X это Строка
;
Z = Y как Число
X = Y как Строка|Число
СкриптСПриведением ( "строка" )
СкриптСПриведением ( 7 )
// Запрещенные операции
X = Y
Z = Y как ДатаВремя

метод СкриптСПриведением ( Параметр : Объект )
если Параметр это Строка // "строка"
МетодСтрока ( Параметр как Строка )
иначе если Параметр это Число // 7
МетодЧисло ( Параметр как Число )
иначе если Параметр это Булево
МетодБулево ( Параметр как Булево )
иначе
// действие для других типов
;
;

метод Скрипт ()
пер Z = СкриптВычисление ()
;

метод СкриптВычисление (): Число
пер Y : Число
Y = 5
возврат Y
;

метод Скрипт ()
пер МаркаАвто : Строка
МаркаАвто = Консоль . СчитатьСтроку ( "Введите марку автомобиля: " )
// Область видимости переменной "МаркаАвто" распространяется до конца скрипта
если МаркаАвто == "BMW"
пер ДизельныеДвигатели : Массив
// Видимые переменные: МаркаАвто, ДизельныеДвигатели
иначе если МаркаАвто == "Audi"
пер БензиновыеДвигатели : Массив
// Видимые переменные: МаркаАвто, БензиновыеДвигатели
иначе
область
пер СписокМарокАвто : Массив
// Видимые переменные: МаркаАвто, СписокМарокАвто
для КонкретнаяМаркаАвто из СписокМарокАвто
// Видимые переменные: МаркаАвто, СписокМарокАвто, КонкретнаяМаркаАвто
;
// Видимые переменные: МаркаАвто, СписокМарокАвто
;
область
пер СписокКонтактов : Массив
// Видимые переменные: МаркаАвто, СписокМарокАвто
;
// Видимые пременные: МаркаАвто
;
; метод Скрипт ()
пер pNumb : Число
pNumb = 75 // целое 10-ое число
pNumb = 2.7182818284 // дробное 10-ое число
pNumb = 75 / 15 // выражение с использованием 10-х чисел
pNumb = 0x5A3 // 16-ое число
pNumb = - 0x5A3 // отрицательное 16-ое число
pNumb = 0b101 // 2-ое число
; Пример подключения к системе взаимодействия и показ в консоль первых 20 непрочитанных обсуждений:

// Адрес сервера для создания приложения (протокол+адрес сервера+порт сервера)
пер АдресСервераWSS = "wss://address.ecs:9094?transport=websocket&version=4"

// Путь к файлу с хранилищем ключей, содержащему сертификат сервера СВ
пер ФайлХранилищаJKS = "C:\\key.jks"

// Строка с паролем к хранилищу
пер ПарольХранилища = "keyPass"

// Строка с паролем к сертификату
пер ПарольКлюча = "certPass"

// Таймаут операции
пер ТаймаутОперации = 10с //10 секунд

// Строка с именем пользователя приложения
пер ИмяПользователя = "Артур"

// Строки с полным именем пользователя приложения
пер ПолноеИмяПользователя = "Коржан Артур"

// Код, который присылает сервер СВ для регистрации нового приложения
пер КодАктивации = "9876543210"

// Адрес эл. почты для регистрации приложения на сервере СВ
пер ПочтовыйАдрес = "artur@1cnik.by"

// ИмяПриложения подключаемой информационной базы
пер ИмяПриложения = "myApp"

// Подключение.
СистемаВзаимодействия . Подключиться ( АдресСервераWSS , ФайлХранилищаJKS , ПарольХранилища , ПарольКлюча , ТаймаутОперации )

// Подготовка ключа.
пер Ключи = новый КлючиПриложения ()

// Создание приложения.
пер ПарПриложенияСВ = СистемаВзаимодействия . СоздатьПриложение ( Ключи , ПользовательПриложения , ИмяПользователя , ПолноеИмяПользователя , КодАктивации , ПочтовыйАдрес , ИмяПриложения )

// Ответ сервера.
пер ИдентификаторПриложенияСВ : Ууид = ПарПриложенияСВ . ИдентификаторПриложения
пер ОткрытыйКлючПриложенияСВ : Строка = ПарПриложенияСВ . ОткрытыйКлюч

// Сохранение параметров приложения (для последующего использования)
Консоль . Записать ( Ключи . ОткрытыйКлюч . ВСтроку ())
Консоль . Записать ( Ключи . ЗакрытыйКлюч . ВСтроку ())
Консоль . Записать ( ИдентификаторПриложенияСВ . ВСтроку ())
Консоль . Записать ( ОткрытыйКлючПриложенияСВ . ВСтроку ())

// Аутентификация.
пер ИдПользователяСВ = СистемаВзаимодействия . Войти ( Ключи , ПользовательПриложения , ИмяПользователя , ПолноеИмяПользователя , ПарПриложенияСВ )

// Работа с системой взаимодействия.
// Получение первых 20-ти непрочитанных обсуждений и вывод в консоль
попытка

// Получение непрочитанных обсуждений
пер МассивИДНепрочитанныхОбсуждений = СистемаВзаимодействия . ПолучитьНепрочитанныеОбсуждения (, 20 )


«1С:Исполнитель» – новое решение для администрирования информационных систем на 1С

Фирма «1С» выпустила бета-версию «1С:Исполнителя», информация о котором уже публиковалась ранее на страницах официального технологического блога «Зазеркалье».

«1С:Исполнитель» – это консольное приложение, предназначенное для исполнения скриптов, которое адресовано в первую очередь системным администраторам и администраторам инфраструктуры CD/CI (Continuous Delivery / Continuous Integration), создающим скрипты автоматизации.

Скриптовый движок «1С:Исполнителя» работает во всех операционных системах, которые поддерживаются для «1С:Предприятия» (Windows, macOS, Linux).

В движок встроена богатая библиотека объектов – поддерживается:

Реализованы специализированные программные интерфейсы (API) для работы с кластером «1С:Предприятия» и «Системой взаимодействия».

«1С:Исполнитель» – это полностью самостоятельный продукт, для запуска которого не требуются лицензии «1С:Предприятия».

Две среды разработки


Для разработки скриптов 1С:Исполнителя можно использовать наравне:

    (поддерживаются автодополнение, встроенная проверка синтаксиса, квикфиксы и отладка);
  • или специализированную среду разработки на базе Eclipse, аналогичную EDT (помимо уже упомянутых возможностей имеет встроенный синтакс-помощник с примерами использования).

Разработку можно вести с применением русского и английского синтаксиса.

Что представляет собой язык, используемый в «1С:Исполнителе»

Для написания скриптов для «1С:Исполнителя» фирма «1С» предлагает совершенно новый язык программирования, который чем-то напоминает язык 1С, но имеет несколько особенностей:

Язык «1С:Исполнителя» строго типизирован. У каждой переменной, параметра и метода, возвращающих значения, должны быть заданы типы или перечисление возможных типов через вертикальную черту «|» – нельзя передать переменную непредусмотренного типа.

Типизированы даже исключения – можно описать обработку исключения определенного типа.

Поддерживается повторное определение (перегрузка) методов. Перегруженные методы могут отличаться:

  • количеством параметров;
  • типом параметров и типом возвращаемого значения (одним типом возвращаемого значения перегруженные методы различаться не могут).

Вместо разделения на функции и процедуры используется единое ключевое слово «метод». Если метод возвращает значение, на это указывает тип возвращаемого значения в сигнатуре метода (например метод Метод(): Число).

В языке присутствует иерархия типов – например, базовым типом для типов, использующих системные ресурсы, является специальный тип «Закрываемое», который позволяет автоматически возвращать ресурсы, которые уже не используются, операционной системе.

Все ключевые слова языка (метод, пока, для, по и т.д.) пишутся строчными буквами – прописные буквы в ключевых словах не используются.

Все стандартные типы (Строка, Число, Дата, Длительность, Массив, Соответствие, Множество, Байты и Ууид) указываются строго с прописной буквы – т.е. язык в целом является регистрозависимым.

В инструкции «если» не используется ключевое слово «Тогда», в инструкции «для» и «пока» не используется ключевое слово «Цикл», в инструкции «для из» не используется ключевое слово «каждого»,

Поддерживаются многострочные комментарии.

Поддерживается интерполяция строк.

Поддерживаются многострочные литералы.

Поддерживаются собственные типы данных в виде пользовательских структур и перечислений.

При объявлении переменной обязательно должно использоваться одно из ключевых слов:

  • пер – для создания переменной, доступной на запись и чтение;
  • знч – для создания переменной, доступной только для чтения;
  • исп – для создания переменной, тип которой должен быть потомком типа Закрываемое, и которая доступна только для чтения. При выходе из области видимости для такой переменной будет автоматически вызван метод Закрыть();
  • конст – позволяет определить именованное значение, которое синтаксически выглядит как переменная, но значение которого нельзя изменить после объявления.

Если переменная объявлена внутри блока «для» или «если», за его пределами ее значение недоступно.

В качестве операторов сравнения не поддерживаются используемые в «1С:Предприятие» операторы «=» и «<>». Вместо них используются операторы «==» и «!=».

Можно использовать операторы присваивания, совмещенные с арифметическими операциями, такие как «+=», «-=», «*=», «/=» (эквивалентны результату арифметической операции между значениями, используемыми в левой и правой части выражения).

Каждая инструкция располагается на отдельной строке. Символ ";" является универсальным символом, завершающим группировку инструкций: оператор или метод. Можно сказать, что символ ";" является заменой ключевых слов КонецЕсли, КонецЦикла, КонецФункции, КонецПроцедуры. Объявления исключений, структур и перечислений также заканчиваются символом ";".

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

Требования для разработки скриптов и работы с 1С:Исполнителем

Доступ к дистрибутиву бета-версии «1С:Исполнителя» могут получить все пользователи с активным договором 1С:ИТС и партнеры фирмы 1С.

Для запуска среды разработки на базе Eclipse необходимо использовать 64-разрядный дистрибутив Liberica JDK из последней таблицы с заголовком «Полная версия Liberica включает LibericaFX и Minimal VM, где это применимо».

Документация 1С:Исполнителя

С продуктом можно ознакомиться самостоятельно по документации, которая выложена вместе с дистрибутивом.

Также в состав среды разработки на базе Eclipse входит синтакс-помощник, где содержится большое количество примеров для разработки скриптов.

Пользователи с активным договором 1С:ИТС могут ознакомиться с примерами использования скриптов для 1С:Исполнителя на сайте 1С:ИТС.

Особенности бета-версии и условия участия в бета-тестировании

Фирма «1С» указывает на некоторые ограничения и особенности, которые присущи тестовой версии 1С:Исполнителя:

на этапе бета-тестирования будет выпущено еще несколько версий, которые будут содержать расширенную функциональность

после обновления бета-версии в отдельных случаях может не поддерживаться совместимость встроенного языка и библиотеки объектов встроенного языка с предыдущими версиями

выпуск финального релиза запланирован на четвертый квартал 2020 года.

Более подробная информация о бета-версии и порядке ее распространения приведена в информационном письме фирмы «1С».


1C:Исполнитель - командный интерпретатор в "1С:Предприятии"

В блоге фирмы "1С" "Заметки из Зазеркалья" разместили анонс нового инструмента в системе программ "1С:Предприятие" – 1C:Исполнитель.

Во всех популярных операционных системах (ОС) есть "командный интерпретатор" или "интерпретатор командной строки". Это такой "помощник", который помогает управлять компьютером. В Windows это интерпретатор командной строки cmd.exe и язык командных файлов (.bat-файлов). В Linux и macOS это командный интерпретатор bash и его язык сценариев.

Теперь появится похожий инструмент и в системе программ 1С:Предприятие - 1C:Исполнитель.

· Кроссплатформенный язык сценариев; интерпретатор языка работает во всех поддерживаемых операционных системах: Linux, macOS и Windows.

· Этот язык сценариев базируется на встроенном языке разработки 1С:Предприятие (но имеет ряд отличий от него).

· Этот язык сценариев обладает библиотекой времени исполнения, очень схожей с таковой в системе программ "1С:Предприятие", поддерживая, в том числе, и очень специфические объекты (например, доступ к кластеру серверов 1С:Предприятия).

1C:Исполнитель – это инструмент для автоматизации и администрирования информационных систем, созданных на платформе 1С:Предприятие. 1C:Исполнитель может применяться для автоматизации развертывания информационных систем, поддержки практики Continuous Integration и других задач.

Вместе с 1C:Исполнителем выпускается среда разработки и отладки 1C:Executor IDE на базе 1С:Enterprise Development Tools. Также доступен плагин для разработки и отладки в среде Visual Studio Code.

В настоящий момент 1C:Исполнитель используется:

· В сервисе 1С:Готовое Рабочее Место (ГРМ) - для управления инфраструктурой (создание и удаление виртуальных машин и контейнеров и их настройка), для управления информационными базами 1С (создание, удаление, резервное копирование, публикация на веб-серверах)

Для работы 1С:Исполнителя требуется Java Runtime Envinronment (JRE) или Java Development Kit (JDK) версии 1.8 или более новой.

Для работы среды разработки 1С:Исполнителя требуется Liberica JDK (необходим 64-разрядный дистрибутив из последней таблицы с заголовком «Полная версия Liberica включает LibericaFX и Minimal VM, где это применимо»).

Читайте также: