ИГОРЬ АНТОНОВ, руководитель отдела разработки ПО, Страховая компания АО «ДальЖАСО», a@iantonov.me
Тотальная автоматизация для 1C-разработчика
Как автоматизировать типовые задачи с помощью OneScript – инструмента, который стоит взять на заметку всем, чья работа связана с разработкой и сопровождением решений на базе платформы 1С:Предприятие
Для автоматизации рутинных операций в операционной системе разработчики с системными администраторами давно привыкли использовать встроенные средства. CMD, PowerShell, VSScript, JS, BASH – прекрасные инструменты дляразработки автоматизирующих сценариев. Минус у них лишь один – обязательность изучения еще одного диалекта.
Это не очень большая проблема для профессионального разработчика, но, согласитесь, хорошо, когда в экосистеме есть специализированный инструмент, решающий стандартные задачи на знакомом языке. За примерами далеко ходить ненужно. PHP, JavaScript, Python-разработчики используют свой язык разработки для написания сценариев автоматизации. Они пишут на языке каждый день, и написать на нем код для, скажем, резервного копирования разрабатываемого проекта – дело нескольких часов.
Здорово ведь, что не требуется переучиваться и разбираться с очередным синтаксисом вместо написания кода для решения определенной проблемы. Именно этого и не хватает 1С-разработчикам – инструмента, понимающего код навстроенном языке 1С и умеющего делать различные системные вещи.
К счастью, такой инструмент существует, причем уже не первый год, и сегодня мы внимательно посмотрим на него с разных практических сторон. Итак, коллеги, знакомьтесь, OneScript – системная палочка-выручалочка для 1С-разработчиков.
Начнем с главного: к созданию OneScript компания «1С» не имеет никакого отношения. Это полностью независимая кроссплатформенная реализация виртуальной машины для исполнения сценариев на встроенном языке платформы1С:Предприятия.
Решение создавалось специально для 1С-разработчиков, поэтому синтаксически это чистый язык 1С. Циклы, коллекции, условия и т.д. – все точно такое же, как мы привыкли использовать при разработке под платформу 1С:Предприятие.
Эффективно решайте задачи на привычном языке вместо траты времени на изучение синтаксиса интерпретатора |
OneScript предоставляет 1С-разработчику создавать сценарии автоматизации на привычном языке без привязки к платформе. Проще говоря, чтобы исполнить сценарий, написанный на OneScript, вам не требуется наличие установленной платформы 1С:Предприятие. Достаточно установленного интерпретора OneScript и наличия в системе .NET Framework. Причем первое условие вполне реально обойти, но об этом чуть позже.
Другая важная особенность OneScript – кроссплатформеность. Платформа 1С:Предприятия давно существует под разные платформы, и OneScript придерживается той же идеологии. Проект создан с использованием .NET Framework, азначит, ничто не мешает применять OneScript на Linux, MacOS. Проект Mono (реализация .NET под Linux/MacOS) и сценарии заработают в альтернативной среде.
Третья из приятных особенностей OneScript – расширяемость. Это значит, что разработчик при желании может расшить возможности OneScript за счет написания дополнительных библиотек. Под словом «библиотека» подразумевается непросто сборник жизненно необходимых функций, а реализация полноценных объектов, которые могут быть использованы в сценариях и поставляться посредством менеджера пакетов OneScript Package Manager (opm).
OneScript развивается не первый год и за это время успел обзавестись полезными библиотеками от независимых авторов. Тем самым показав, что ставка на бесшовную расширяемость была сделана не напрасно.
Области применения
Первая очевидная ниша для OneScript – автоматизация типовых задач 1С-разработчика/администратора, связанных с сопровождением информационных баз. За примерами далеко ходить не нужно. Все мы (надеюсь, что все) написали свои «лучшие» сценарии для автоматизации резервного копирования, завершения работы пользователей в живой базе и другие знакомые всем вещи. Все перечисленные вещи наверняка создавались на одном из озвученных выше инструментов (CMD, PowerShell и т.д.).
OneScript поможет сделать все то же самое, но на «родном» языке программирования. Перечисленные задачи – идеальный полигон для OneScript.
Хорошо, с обслуживанием все понятно. А для чего еще его можно применять? Тут все зависит от фантазии и задач, стоящих перед разработчиком. OneScript прекрасно подойдет для создания консольных приложений. Вам необязательно думать об OneScript как о части экосистемы платформы 1С:Предприятие. Правильнее думать о нем как об отдельном инструменте со знакомым языком. Тогда полезных сценариев применения удастся придумать значительно больше.
Одной из таких идей может стать добавление OneScript к другим проектам, где требуется предоставление возможности расширения за счет плагинов. Представим, что вы занимаетесь разработкой узкоспециализированной системы учета. Увас есть база довольных пользователей с постоянным запросом новых функций.
Одни предложения по доработке функционала интересны и могут быть полезными широкому кругу пользователей, а другие – узкие, решающие единичные проблемы. Тратить время на такие вещи нецелесообразно, и вот тут становится очевидной реализация системы плагинов. Если проект создан под платформу 1С:Предприятие, то особых трудностей нет. 1С-разработчиков много, и кто-нибудь да и возьмется за доработки. Совсем иная ситуация с не столь распространенным технологическим стеком.
Да, вы без труда сможете предоставить API, но тем самым создадите необходимость изучения нового языка разработки. Некоторые разработчики подобных проектов понимают сложность изучения языков вроде C#/Java и предоставляют прикладным разработчикам собственный синтаксис (такие мини-языки программирования). Они думают, что несут пользу, но на самом деле создают дефицит разработчиков и еще больше проблем.
Утверждение может показаться спорным, но те, кто на практике столкнулся с сопровождением учетных систем вроде «Инфо-бухгалтер», «Парус» и т.д., прекрасно понимают боль, связанную со сложностью применения нового синтаксиса/парадигмы для доработки решения.
С 1С-разработчиками ситуация противоположная. Их много, и если позволить им создавать для продукта расширения на понятном им языке, то от этого выиграют все стороны. Для таких задач OneScript подходит идеально. Вам требуется организовать интеграцию OneScript со своим решением, а дальше эстафетную палочку примут прикладные разработчики.
Применений для OneScript множество, главное – не бояться пробовать новый инструмент на практике и решать с его помощью реальные повседневные задачи.
Статью целиком читайте в журнале «Системный администратор», №5 за 2017 г. на страницах 55-61.
PDF-версию данного номера можно приобрести в нашем магазине.
- Официальный сайт проекта OneScript – http://oscript.io.
- Бесплатный универсальный редактор Visual Studio Code от Microsoft – https://code.visualstudio.com.
- Плагин для работы с OneScript из редактора VSCode – https://marketplace.visualstudio.com/items?itemName=xDrivenDevelopment.language-1c-bsl.
- Репозиторий готовых библиотек для OneScript – https://github.com/xDrivenDevelopment.
- Автоматизация загрузки и установки официальных обновлений – https://github.com/BlackDrak0n/oscript-AutoUpdateIB.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|