С чего начать разработку скриптов на OneScript? Первые шаги

Публикация № 685014

Разработка - Языки и среды - OneScript

Скрипт OneScript обзор

После моего доклада на INFOSTART 2017 EVENT COMMUNITY ко мне многие обращались с таким вопросом: с чего начать разработку скриптов на OneScript? В этой статье привожу набор ссылок и некий порядок действий (как его вижу я) для людей, не знакомым с этим инструментом.

Прежде всего хочу сказать, что я не явлюсь автором движка или стандартных библиотек OneScript. Здесь я бы хотел просто рассказать о том пути, который прошел я, чтобы начать разрабатывать на OneScript. Ни в коем случае не настаиваю на истинность или полноту действий. Если кто-либо из причастных захочет что-то добавить или изменить (на что я надеюсь), с радостью добавлю или изменю. Давайте напишем этот мануал вместе!

Итак:

1. Для начала, предлагаю посмотреть вот это 25-минутное видео (которое я записывал в рамках пятничных вебинаров разработчиков 1С), где "с нуля" создается первый скрипт, а также объясняются все основные понятия:  

2. В видео частично повторяются действия, описанные Андреем Овсянкиным в статье "Как решать повседневные задачи с помощью OneScript". Думаю стоит ее прочитать.

3. Далее, обратите внимание на официальный сайт проекта http://oscript.io, в частности на разделы:

4. Наиболее полный список и описание всех имеющихся стандартных библиотек содержится здесь: https://github.com/oscript-library, а обзор некоторых библиотек есть здесь: //infostart.ru/public/699642/.

5. Все скрипты, в принципе, можно разрабатывать и в NotePad++, но все же удобнее это делать в Visual Studio Code

6. Задать вопрос авторам:

  • По функциональности движка можно здесь: https://gitter.im/EvilBeaver/OneScript
  • По стандартным библиотекам здесь: https://gitter.im/EvilBeaver/oscript-library 
  • По каждому отдельному инструменту также доступно обсуждение в Gitter. 
  • Про баги и хотелки можно писать в Issues соответствующего репозитория на GitHub.

7. На infostart уже имеется достаточно статей и программ написанных на OneScript. Прогнозирую в будущем создание отдельного пункта в разделах, например, в фильтре "Платформа":

Ну а пока, можно воспользоваться поиском, для просмотра всех материалов по этой теме.

8. Примеры готовых инструментов (не из числа стандартных библиотек) на OneScript:

9. Еще полезные статьи о OneScript:

 

Ну и в заключение хочу сказать, что я вам искренне желаю не делать одни и те же действия руками. Не бойтесь изучать новое, не бойтесь заниматься автоматизацией. Это не только полезно, но и очень увлекательно. Удачи!

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. dalgaso2010 248 12.10.17 04:30 Сейчас в теме
Виталий, спасибо за статью!

Хотел с вами поболтать на IE2017, но почему-то не получалось пересечься :(

Хорошая вводная статья, помню когда начал сам разбираться с темой OneScript не хватало как раз хорошо структурированного вводного материала. В начале этого года я тоже писал статью по OneScript для журнала "Системный администратор". Электронную версию можно почитать в моем персональном блоге. Может и она кому-нибудь окажется полезной.
Vladimir Litvinenko; artbear; Tavalik; +3 Ответить
2. Tavalik 2278 12.10.17 06:27 Сейчас в теме
(1)
Ого, какая большая и подробная статья! Что же вы ее только сейчас в блоге выложил? :)
Добавил в ссылку в статью.
3. dalgaso2010 248 12.10.17 06:56 Сейчас в теме
(2) Спасибо! Ее опубликовали в мае в журнале, через 2 месяца только имею право публиковать у себя. Могу выложить и на инфострате, только не знаю, можно ли делать копипаст со своего блога. На Хабре, например, такое не позволяют.
4. 1cWin 12.10.17 13:21 Сейчас в теме
Для удобства программирования в npp можно подключить список функций. К сожалению, с ограничениями (слова Процедура и Функция надо писать Procedure & Function), но у меня работает.

Для этого в файлике functionList.xml надо внести следующие правки в соответствующих тегах:

<association userDefinedLangName="1CEnt" id="os_function" />

- <parser id="os_function" displayName="os_source" commentExpr="((/\*.*?\*)/|(//.*?$))">
   - <function mainExpr="^[\t ]*(procedure|function)[\s]+\w+\(">
      - <functionName>
         <nameExpr expr="(?:((procedure|function)[\s]+))[\w_]+[\s]*\(" /> 
         <nameExpr expr="(?:((procedure|function)[\s]+))[\w_]+" /> 
     </functionName>
  </function>
  </parser>
Показать
Прикрепленные файлы:
5. artbear 1180 12.10.17 13:56 Сейчас в теме
(4) Юзай VSC, в нем максимально удобно разрабатывать скрипты/пакеты OneScript
Пройди по ссылке внутри статьи.
npp я лично пару лет не юзаю вообще.
6. user814789 12.10.17 22:52 Сейчас в теме
Присоединяюсь к хвальбам о полезности статьи. Про п.5 хотел бы добавить, что при установке onescript - сразу устанавливается ярлык для раскраски кода и его отладки! Respect Создателям! (5) VSC раскраска не стандартная.
7. baton_pk 401 13.10.17 09:13 Сейчас в теме
(6)
сразу устанавливается ярлык для раскраски кода и его отладки

не пользуйтесь им, эта консоль вообще не предназначена для какой-либо серьёзной разработки и не ровен час вообще будет исключена из поставки. Привыкайте к VSCode - он довольно удобный и развивается.


(6)
VSC раскраска не стандартная

Это настраивается.
8. Vladimir Litvinenko 15.10.17 17:27 Сейчас в теме
Видео опубликовано еще в августе, но как-то пролетело мимо глаз в подписках на YouTube.
Спасибо, что опубликовали также здесь. Отличный материал! Ряд приемов обязательно пригодятся в работе.
Несмотря на многочисленные рекомендации использовать VSC, за примеры в Notepad++ также спасибо. Хорошо уметь пользоваться разными инструментами, чтобы осознанно выбирать лучший для себя.
9. Tavalik 2278 16.10.17 05:47 Сейчас в теме
(8)
Спасибо за ваш комментарий.
Я использую обе среды: на своей машине - VSC, а на серверах клиентов - Notepad++. Установку VSC бывает трудно обосновать, а вот блокнот часто уже есть, и необходимость его установки, как правило, почему-то вопросов не вызывает.
10. vikad 116 16.10.17 14:44 Сейчас в теме
vs code можно использовать в портативном варианте, просто скопировав на флешку папку из Program Files, а нужные расширения поставив в папку extensions
JohnConnor; JohnyDeath; artbear; +3 Ответить
11. artbear 1180 16.10.17 17:30 Сейчас в теме
(10) Виктория права, VSC также в портативном варианте юзается
12. adhocprog 1177 21.12.17 19:05 Сейчас в теме
13. ahyahy 05.12.19 19:12 Сейчас в теме
Добавлю сюда своё решение к пункту 8. Библиотека для создания gui (форм). Приходите на https://onescriptgui.teriy.com/ Пока она там находится. Классов - 176, свойств - 1073, методов - 557, перечислений - 63. Основана на KiXforms.NET v3.2.16.0 написанной Shawn Tassie. Исходный код позже будет, времени не стало хватать.
14. Perfolenta 187 30.01.20 04:30 Сейчас в теме
(13)
KiXforms.NET v3.2.16.0 написанной Shawn Tassie

Работа вами проделана большая!!! Круто!
Жаль, что исходная библиотека написана еще под Net 2.0
Устарела по нынешним временам... её бы перевести на современный Net Framework 4.8, вот было бы здорово... или уже сразу на Net Core 3... хотя я уже и не знаю, может Net 5 подождать? До него как бы совсем не далеко уже... :)
Оставьте свое сообщение

См. также

Swagger для 1С.

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

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    9987    0    botokash    35    

Автоматическое сравнение-объединение баз данных с мини-конфигурацией

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

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

14.10.2019    2583    0    artkor    2    

АИТП. Подсистема взаимодействия с рабочими серверами OneScript

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

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    4829    0    blackhole321    33    

1Script.Web. Интернет-приложения на языке 1С

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

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18345    0    Evil Beaver    33    

Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7

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

В статье описана методика создания высокодоступной фермы рабочих серверов OneScript, для конфигурации АИТП.

14.05.2019    4160    0    blackhole321    0    

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

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

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    5697    0    blackhole321    0    

Хостим OneScript.Web приложение (heroku)

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

Развертывание oscript.web в heroku.

19.12.2018    5919    0    pallid    6    

"Перезаливатор" - приложение для автоматизации "перезаливки" баз

Архивирование (backup) Абонемент ($m)

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

1 стартмани

05.07.2018    13027    15    Tavalik    24    

Хостим OneScript.Web приложение

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

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    7388    0    pallid    3    

Автоматизируй это!

Практика программирования Инструментарий разработчика Бесплатно (free)

Здравствуйте. Меня зовут Виталий Онянов. Я работаю в компании ФТО. Мы занимаемся внедрением и поддержкой ERP-систем, в том числе и на 1С. Сегодня я хотел бы поделиться нашим опытом автоматизации своих задач и рассказать о том, какие регламентные задания мы настраиваем на серверах наших клиентов. Возможно, кому-то покажется, что это совсем простые и очевидные вещи, но я в своей работе периодически вижу разработчиков, которые делают какие-то задачи руками изо дня в день, и мне бы хотелось донести до них мысль о том, что многие из этих задач можно и нужно автоматизировать.

02.07.2018    20250    0    Tavalik    12    

Добавляем онлайн-чат в web-приложение OneScript

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

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    7108    0    blackhole321    1    

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

OneScript DevOps Jenkins v8 1cv8.cf ИТ-компания Бесплатно (free)

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    20320    0    stas_ganiev    34    

Макеты в http-сервисах OneScript

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

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    7904    0    blackhole321    1    

Перечисления в http-сервисах OneScript

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

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

03.06.2018    7561    0    blackhole321    13    

Обработки в http-сервисах OneScript

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

В статье описана библиотека, реализующая механизм обработок в http-сервисах OneScript.

25.05.2018    7265    0    blackhole321    0    

Расширенные методы загрузки внешних библиотек в http-сервисах OneScript

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

В статье описаны расширенные методы загрузки внешних библиотек в http-сервисах OneScript на примере механизма фоновых заданий.

25.05.2018    7158    0    blackhole321    0    

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci

OneScript v8 1cv8.cf Бесплатно (free)

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    12190    0    pallid    3    

OneScript в облаке или Развертываем http-сервис OneScript на хостинге

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

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

05.05.2018    9085    0    blackhole321    0    

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки

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

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    14017    0    Tavalik    22    

Развертывание http-сервиса OneScript на Raspberry Pi

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

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

23.04.2018    10478    0    blackhole321    10    

Создаем свою библиотеку для OneScript

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

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    20653    0    nixel    36    

Развертывание http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

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

В статье описан процесс настройки сервера, а также процесс развертывания http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

04.03.2018    14929    0    blackhole321    14    

Веб-разработка на 1Script. Глава 1

Практика программирования Бесплатно (free)

Разрабатывать веб-приложения должно быть просто. И для этого 1С-ник не должен страдать, изучая десятки и сотни побочных технологий. В конце прошлого года я анонсировал разработку движка веб-приложений на языке 1С. Я планирую выпустить серию статей, оформленных в виде книги, или серии блог-постов, в которых постепенно будут описаны методики разработки сайтов на нашем любимом языке программирования – 1С.

12.02.2018    29337    0    Evil Beaver    97    

Обзор имеющихся библиотек OneScript

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

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

14.11.2017    40489    0    nixel    86    

Начало работы с OneScript

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

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты. В статье рассмотрены: 1) Установка OneScript. 2) Установка редактора кода. 3) Настройка редактора кода под OneScript. 4) Запуск скриптов из редактора кода 5) Полезные ссылки

18.10.2017    38553    0    DmitrySinichnikov    53    

Вебинтерфейс для OneScript и 1С

OneScript v8 Россия Бесплатно (free)

Пример создания вебинтерфейса для OneScript с использованием библиотеки UfaScript.osb

30.06.2017    13252    0    andreosh    7    

OneScript и Ajax. POST-запрос и мои дальнейшие планы с фантазиями о будущем

OneScript v8 Россия Бесплатно (free)

Моя библиотека для OneScript (версия 3.0 от 09.06.2017 см.GitHab UfaScript) https://github.com/andreosh/UfaScript теперь позволяет посылать POST-запросы на сервер без использования сторонних библиотек типа jquery.

09.06.2017    17510    0    andreosh    3    

Как сделать OneScript объектно-ориентированным

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

Описание метода создания объектов на OneScript и метода передачи функции в качестве параметра.

16.04.2017    8108    0    andreosh    7