OneScript 1.2.0: разрабатывать скриптовые библиотеки на языке 1С стало проще

22.11.2019
46787

В новой версии OneScript 1.2.0 значительно доработан отладчик, реализованы условные директивы препроцессора в зависимости от операционных систем, улучшена диагностика модулей, скомпилированных в exe.

История проекта

Проект OneScript появился в 2014 году и анонсирован в сообществе Инфостарта как инструмент, с помощью которого можно запускать скрипты, написанные на языке 1С.

За последние 5 лет:

  • выросла экосистема разработанных на базе OneScript библиотек и приложений;
  • появилось хранилище пакетов с возможностью установки любой существующей в сообществе библиотеки с помощью менеджера пакетов (сейчас в хабе находится 100 пакетов, которые можно установить из командной строки);
  • на базе Visual Studio Code реализована собственная инфраструктура для разработки скриптов с возможностью автодополнения и отладки.

Возможности языкового движка тоже не стоят на месте: OneScript уже давно используется не только для решения CI/CD задач простого 1С-ника (упрощение работы с конфигуратором, с хранилищем и т.д). Фреймворк для сайтов OneScript.Web позволяет описывать серверную и клиентскую часть веб-приложений. Пакет oscript-simple-gui реализует полноценный пользовательский интерфейс к OneScript-приложению. К тому же, OneScript изначально поддерживает возможность компиляции в исполняемый exe-файл, который позволяет не зависеть от установленного ПО на компьютере клиента.

Развитие отладчика

В новой версии OneScript 1.2.0 значительно доработан отладчик, который поставляется в виде расширения к Visual Studio Code – его можно установить из панели расширений. Для работы с новой версией движка предназначен отладчик OneScript Debug 0.5.0.

 

 

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

 

 

В окне контрольных значений и в табло реализован Intermediate-вычислитель выражений.

 

 

Поддерживаются коллекции – структуры, соответствия, таблицы значений.

 

 

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

Условные директивы препроцессора

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

#Если Windows Тогда

#КонецЕсли

Реализованы стандартные символы: Linux, MacOs, Windows. При запуске на соответствующей операционной системе переменная препроцессора будет иметь значение Истина.

Технически при компиляции на определенной операционной системе препроцессорные директивы вырезают куски кода, не соответствующие условиям. Это упрощает задачу написания платформозависимого кода в приложениях и библиотеках.

Отдельные дистрибутивы для 64-битной и 32-битной платформ

Дистрибутивы для скачивания теперь имеют два варианта – x86 и x64.

32-разрядную сборку рекомендуется применять для взаимодействия с 32-битной версией «1С:Предприятия» с помощью COM-соединителя. В остальных случаях рекомендуется использовать сборку x64.

Доработки и улучшения

Выполнен рефакторинг лексического анализатора – разбор текста ускорен на 20%.

Улучшена диагностика модулей, скомпилированных в exe – сообщения, которые выдает при ошибке скомпилированное OneScript exe-приложение, содержат в себе строку кода, на которой произошло исключение.

Доработана совместимость поведения языкового движка между OneScript и 1С. Добавлен ряд новых объектов и методов.

Установка приложения

Версию OneScript 1.2.0 можно установить двумя способами:

  • скачать дистрибутив на сайте проекта (к загрузке доступны версии для Windows, rpm и deb);

  • с помощью пакетного менеджера chocolatey командой:
    choco install onescript

 

Подробнее об изменениях в новом релизе OneScript 1.2.0

Автор:
Аналитик

См. также

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1920    VKuser24342747    4       

2

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    1157    VKuser24342747    0       

2

Спустя пять лет разработки вышел релиз компилятора для языков программирования Python и Cython – проект Cython 3.0. Он позволяет транслировать код Python в представление на C/C++.

28.07.2023    1743    VKuser24342747    0       

2

GitLab представила собственную нейросеть Code Suggestions, способную генерировать код по запросу на естественном языке. ИИ-помощник поддерживает работу с 13 языками программирования.

10.07.2023    1751    VKuser24342747    0       

1

Stack Overflow представил рейтинг языков программирования за 2023 год. В исследовании учитывали не только частоту применения языка, но и интерес разработчиков к нему. Также компания составила рейтинг платформ и ИИ-инструментов. 

20.06.2023    2122    VKuser24342747    1       

2

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

14.12.2022    7528    VKuser24342747    0       

3

В статистическом отчете репозитория названы самые популярные языки программирования среди пользователей платформы, а также данные об активности аудитории сервиса.

01.12.2022    8929    VKuser24342747    11       

3

Ричард Мэттью Столлман, основатель Фонда свободного программного обеспечения, представил руководство по языку C и расширениям GNU. Пособие доступно всем желающим и предназначено как для опытных, так и начинающих программистов.

19.09.2022    12262    VKuser24342747    0       

4

Комментарии

Инфостарт бот
1. andreosh 22.11.19 12:04 Сейчас в теме
Какие русскоязычные языки программирования мне известны:
1С, OneScript,
Перфолента http://promcod.com.ua/subcat.asp?cat=perfolenta-programmig-language&subcat=perfolenta-download и
Русский Фокс https://www.youtube.com/watch?v=9pfhi9HBvzI&list=PLo4sldcUomOrKAPb_0A5Kv-nILQG3I7Dd&index=34
Может, кто то продолжит список ?
Perfolenta; +1 Ответить
4. kuntashov 22.11.19 17:30 Сейчас в теме
(1) Из модных-молодежных

* Гонец: https://github.com/covrom/gonec
* ЯГТР https://github.com/san-smith/USSRHTML
* ну и конечно Епта-скрипт https://github.com/samgozman/YoptaScript (https://yopta.space/)

Правда вторые два, конечно, стеб, но Гонец вполне серьезно делался.

Ну и еще есть всякие ископаемые типа Рапиры, Ершола и т.п.
AlX0id; JohnyDeath; andreosh; +3 Ответить
8. AlX0id 26.11.19 15:54 Сейчас в теме
(4)
Вот епта-скрипт - очень перспективная х.. разработка.
2. Serg O. 22.11.19 12:21 Сейчас в теме
Спасибо за информацию.
Пакет oscript-simple-gui - ранее не использовал...
скачал - всё сразу заработало!

Спасибо разработчикам ОГРОМНОЕ.

Обновления VsCode у меня "сами" скачались,
но можно и "скачать другую версию"...
Прикрепленные файлы:
3. Darklight 22.11.19 12:24 Сейчас в теме
Ооо - из мира 1С сама годная новость за месяц! Респект!
5. Xelgo 23.11.19 09:40 Сейчас в теме
Добрый день, не у кого не было проблем после компиляции exe, что не запускается приложение т. к не видит. OneScript. Language
6. Evil Beaver 23.11.19 13:30 Сейчас в теме
(5) напишите мне задачку на гитхаб, я посмотрю
7. Perfolenta 24.11.19 07:11 Сейчас в теме
Хорошая новость! С OneScript-ом работать все приятнее...
Однако, надо бы еще немного подумать над случаем, когда обе версии 32 и 64 стоят на одной машине... вызов из консоли теперь зависит от порядка установки версий, т.к. поиск идет в переменной среды Path... может 32 разрядный назвать oscript32.exe? Тогда будет более осмысленный запуск той версии, которую хочешь... а библиотеки ScriptEngine.dll и остальные можно для обеих версий оставить AnyCPU... тогда будет один дистрибутив вместо двух и в батниках можно будет четко указывать какую версию запускаешь без указания полного пути...
Glebis; andreosh; +2 Ответить
9. Vix 27.11.19 17:35 Сейчас в теме
Может я не там читаю, а каким образом можно скомпилировать отдельный EXE файл, нажимаю компиляция, все отрабатывается без ошибок, а сам файл где? Простите может за глупый вопрос, только начал изучать ваше творение и оно мне уже нравится)
10. vikad 27.11.19 17:37 Сейчас в теме
(9) https://infostart.ru/public/287643/ раздел "Построение самостоятельного exe-модуля"
11. Vix 27.11.19 19:14 Сейчас в теме
(10) отлично, спасибо большое за наводку

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