Меня зовут Александр Орефков, я системный программист, с недавних пор сотрудник Инфостарта.
Многие меня знают как независимого разработчика, который уже долгое время создает продукты и помогает 1С-никам программировать, еще начиная с 7.7, и как автора Снегопата. О нем мы сегодня и поговорим.
Среды разработки для 1С
Начнем с того, что поговорим о средах разработки. Все-таки первая половина в слове DevOps – это Dev, Develop, разработка. Собственно ради нее весь Ops потом и накручивается. И для современной разработки одна из самых значимых вещей – это IDE, среда разработки.
Я не буду тратить много времени на перечисление полезностей хорошей среды разработки – все и так все понимают. Поэтому просто остановимся кратко на том, что имеется у других, что мы имеем, что мы хотим.
Понятно, что у разработчиков на других языках программирования более широкий выбор сред, потому что обычно языки наподобие C++ имеют множество сред разработки и реализаций среды исполнения. Но у нас в 1С ситуация немного другая. Мы завязаны на одного вендора, и развитие самой среды разработки во многом находится именно в руках вендора.
Что мы имеем на сегодняшний момент для разработки?
- Первое – это, конечно же, привычный нам конфигуратор.
- И второе – это много лет уже развивающаяся и вот-вот уже почти доделанная EDT (Enterprise Development Tools).
- А поскольку фирма «1С» под EDT сделала возможность выгружать конфигурацию в набор отдельных файлов, это породило еще одно интересное направление в 1С-разработке – редактирование BSL-файлов в Visual Studio Code.
Видимо, не от хорошей жизни люди идут на такие авантюры. Наверное, им чего-то не хватает. Что же хочется людям от среды разработки? Чтобы она была удобной, быстрой, нетребовательной к ресурсам и помогала решать стоящие перед ними задачи.
EDT
Давайте немного поговорим о EDT.
- Многие знают, что ситуация с ней такая, что она как бы есть, но ее как бы и нет – она до сих пор Релиз-кандидат.
- Она до сих пор отстает, поддерживает не все релизы платформы.
- Она очень требовательна к ресурсам – для более-менее комфортной разработки на ней надо минимум от 16Гб оперативной памяти.
- Основной плюс EDT в том, что она может быть расширяема за счет плагинов к Eclipse, но чтобы разрабатывать такие плагины, нужно обладать особыми знаниями,.
Конфигуратор
И основное, что у нас есть – это старый добрый конфигуратор, похож на набор ручных ключей.
- Его главный плюс в том, что он всегда с собой. Худо-бедно умеет делать все, что необходимо для разработки.
- Но, как говорится, батарейки в комплект не входят – каких-то средств автоматизации (шуруповертов, дрелей) в нем не имеется. Никаких способов его расширить нет. Грубо говоря, там не то, что батарейки в комплект не входят, а, собственно, даже нет отсека для батареек, их некуда вставить.
Конфигуратор + Снегопат
И что мы имеем на сегодняшний день?
В 2009 году, имея опыт по расширению конфигуратора для 7.7, я взялся за проект для расширения возможностей конфигуратора v8, который получил название Снегопат. За это время он пережил несколько реинкарнаций и падений. Долгое время, как все вы знаете, он был в застое – последние версии 1С не поддерживал. Но ситуация немного поменялась – сейчас конфигуратор доработан.
Принцип работы Снегопата следующий – он запускается параллельно с конфигуратором, и теперь разработчик может не только взаимодействовать с конфигуратором, но и с помощью Снегопата автоматизировать различные действия.
Снегопат реагирует на события, происходящие в конфигураторе, и предоставляет программный интерфейс, чтобы различные дополнения к Снегопату могли обращаться к методам самого конфигуратора.
Снегопат + Инфостарт
Вкратце хочу рассказать о текущем состоянии, о том, что мы с Инфостартом объединяем усилия. Доржи взял, так сказать, меня «на буксир». Теперь я могу сказать, что все свое рабочее время я могу посвящать исключительно развитию Снегопата.
- На текущий момент Снегопат доработан, и сейчас поддерживаются все актуальные 32-битные релизы 1С вплоть до 8.3.17. Единственное исключение, что пока с релизов 8.3.12 и старше не работают альтернативные редакторы модулей – V8Colorer и SynEdit.
- В связи с этим изменяется и схема распространения. Сейчас мы приняли решение, что полнофункциональная версия Снегопата становится доступной бесплатно в виде триальной версии сроком на три месяца. Начиная с 17 августа (изм.ред.), ее сможет получить каждый. И в дальнейшем, если понравится его использование, может приобрести подписку. Те же, кто сейчас уже является пользователями Снегопата, в ближайшее время получат обновление и смогут, не продлевая подписку, пользоваться Снегопатом в течение года.
- И, так как я теперь полностью все свое рабочее время могу уделять Снегопату, естественно, что обновления будут выходить более своевременно.
Основные возможности Снегопата
Теперь для тех, кто не знает, что такое Снегопат, я хочу рассказать о его основных возможностях. Но для этого, наверное, проще будет открыть конфигуратор и показать на примере. Запустим конфигурацию «Бухгалтерия предприятия 2.0» с релизом платформы 8.3.17.
Восстановление сессии при открытии
Обратите внимание, здесь при открытии отработал один из аддинов – «Менеджер сессий». Автоматически сразу же открылись модули, которые у меня редактировались в прошлом сеансе.
Сворачиваемые блоки кода и улучшенная контекстная подсказка
А сейчас я просто расскажу о существующих возможностях.
Первая возможность, встроенная в Снегопат – это расширение контекстной подсказки и редактор модулей. Например, мы здесь имеем произвольно сворачиваемый блок кода с помощью комментариев специального вида. Данная функциональность появилась еще до того, как в 1С появился оператор Область, но она до сих пор работает.
Хочу показать улучшенную контекстную подсказку Снегопата. В чем ее преимущество? В ней работает автоматическое появление – не нужно каждый раз нажимать Ctrl+пробел. Нажали п – у нас сразу же появилась подсказка. Удалим букву и сразу можем выбрать – процедура/функция/переменная.
Что мы сразу же видим в этом списке? Главное отличие подсказки Снегопата от штатной подсказки – Снегопат старается уменьшить количество пунктов, которое он показывает, чтобы было видно только то, что сейчас нужно.
Если мы вызовем стандартную подсказку 1С – мы увидим, что здесь вываливаться огромный список того, что нам сейчас совсем не нужно.
А если мы вызовем список Снегопата по Ctrl+Alt+пробел – мы видим, что здесь только три пункта.
Смена цветовой схемы кода конфигуратора
Для редактора кода можно поменять расцветку – например, сейчас я сделаю штатную расцветку, как все привыкли. Открываем окно выбора макроса Снегопата по Ctrl+M и в ветке Пользовательские аддины – Настройки – Настройка профилей цветов редактора – Применить цветовую схему.
Настройка сразу же переключается.
Возможности улучшенной контекстной подсказки
Следующее отличие от штатной контекстной подсказки – это то, что по мере набора слов список Снегопата фильтруется и сокращается. Подсказка старается быть как можно незаметнее, как можно меньше, чтобы не закрывать код, над которым работает разработчик. Но, несмотря на это, длинные названия в списке видны всегда.
Давайте посмотрим штатный вариант – мы начинаем набирать слово, но видите, что, во-первых, сам список не сокращается, во-вторых, длинные слова в нем отображаются не полностью.
А если мы начнем набирать в Снегопате, список будет сокращаться.
Вне процедур Снегопат нам все равно много в списке не покажет, поэтому создадим какой-нибудь тестовый метод. Смотрите, мы набираем зав – и у нас осталось всего три слова в подсказке. Причем, длинное слово, на котором сейчас у нас стоит выделение, мы все равно видим полностью.
Кроме фильтрации, Снегопат еще особым образом сортирует слова – те, которые недавно вставлялись из списка, он в следующий раз размещает вверху. Тогда у нас нужное слово находится быстрее.
Поддерживается много разных способов фильтрации выбора. Например, попробуем набирать слово не в той раскладке. Как видите, если мы забыли переключить раскладку на английскую и набираем «ифы», Снегопат все равно находит, что мы хотели набрать Base64, например.
Есть возможность фильтрации по частям слова. Если мы набираем «адм» – у нас появилось много возможных продолжений, у них всех длинное одинаковое начало. Мы нажимаем Shift+пробел, список переходит уже в режим фильтрации, и он сейчас будет искать по вхождению слов. Выбрал только те пункты, в которых есть «адм» и есть «про». Это гораздо проще.
И такой есть еще режим фильтрации по заглавным буквам. Если мы попробуем набрать «вос», у нас в качестве подсказки отображается «ВариантОтображенияСообщенияОбОшибке».
Обратите внимание, что после точки Снегопат не работает. За много лет это еще не сделано.
Но у Снегопата есть специальная настройка – перехватывать штатный список с подсказками. Давайте ее включим.
Тогда вместо штатной подсказки появляется уже список Снегопата. Он берет список из штатной подсказки и показывает его. Здесь уже также начинают работать все его возможности:
- слово видно полностью;
- по мере набора список сокращается;
- при вставке сразу же вставляются еще и закрывающие скобки, точки с запятой.
Все нацелено на то, чтобы как можно сильнее сократить время набора.
Умный Enter
Следующая возможность Снегопата – это автопродолжение строк и комментариев в Снегопате. Это так называемый «Умный Enter». Например, если мы в конце комментария нажимаем Shift+Enter, он автоматически начинает следующую строку с комментария.
Теперь – если мы внутри кавычек нажимаем Enter, то автоматически вставляются символы “|” внутри многострочной строки. Это одна из самых древних возможностей – я это сделал еще в первом Телепате в 2004 году. В EDT это тоже сделали в одной из версий.
Раскраска многострочных строк в цвета запроса
Вы, наверное, обратили внимание, что для многострочной строки используется особый цвет фона. Это еще одна из штатных возможностей Снегопата. Это – раскраска мультистрок в цвета запроса. Вот такие многострочные строки при включенном Снегопате подсвечиваются фоном и раскрашиваются в цвета запросов, потому что по большей части такие строки используются для запросов. Благодаря подсвеченному фону разрывы тоже сразу же бросаются в глаза, сразу же визуально видно, где у нас идет какое-то конструирование строки. Кроме того, добавлена возможность сворачивать мультистроки в конфигураторе.
Автопреобразование символов ++, --, += и др.
Из мелких улучшений – автопреобразование символов ++, --, +=,. Так как я программирую в основном на C++, мне этого очень не хватало.
Снегопат какие-то инструкции автоматически разворачивает. Причем, если мы набираем без пробела «Номер--», то у нас и вставка идет без пробела. Если же мы вставляем «Номер --» с пробелом, то у нас и результат развернется тоже с пробелом.
Аналогично +=, -=, *=, /=, %=.
Не переключайся!
Следующая встроенная возможность Снегопата – «Не переключайся!», которая позволяет вставлять спецсимволы без переключения раскладки.
Мы, не переключая язык, можем нажать:
- Alt+б – у нас будет вставлен символ «<»;
- Alt+ю – будет вставлен символ «>»;
- Alt+х можем вводить квадратные скобки – причем, они сразу вставляют парную закрывающую скобку;
- Alt+Shift+х – вставляет фигурные скобки;
- по Alt+n будет вставлено Null;
- аналогично – знаки @ # $ ^ &.
Типизирующие комментарии
Следующей хочу показать такую возможность Снегопата, как типизирующие комментарии. У нас в этой функции есть параметр Парам1. Понятно, что штатно конфигуратор нам не показывает никаких свойств этого параметра после точки, потому что он не знает тип.
Если же мы вставим комментарий такого вида, и теперь попробуем набрать – появляется подсказка. Этот способ использовался давно – обычно просто делали в виде блока «#Если _ Тогда ... #КонецЕсли», чтобы 1С видела это выражение. А Снегопат это реализует немного по-другому: он перехватывает момент, когда 1С строит список того, что показать после точки, и просто убирает символ этого комментария и 1С типизирует переменную.
Сейчас в EDT тоже используется подобный механизм.
Доработка конструктора «Новый»
Также немного доработана работа с вводом конструктора типа «Новый». Во-первых, тут Снегопат сразу же предлагает вставить скобки либо выбрать тип.
Здесь также работает поиск без учета раскладки. Мы набираем русскими буквами на английских клавишах и находим тип «HTTPЗапрос».
Если у этого типа имеется конструктор, Снегопат предлагает подставить скобки. Если же нам конструктор не нужен, мы нажимаем Backspace – он сразу же обе эти скобки убирает.
Для типа Запрос сразу же автоматически вызывается конструктор запросов.
В зависимости от выбранного варианта это сразу же разворачивается вот в такую конструкцию. При этом при вставке, во-первых, определяется имя переменной и подставляется именно оно, во-вторых, для каждого параметра в тексте запроса сразу вставляется конструкция «имяПеременной.УстановитьПараметр(“ИмяПараметра”,);»
Ctrl+Enter как замена F12
Следующая возможность, на которую я хотел бы обратить внимание – это сочетание Ctrl+Enter как замена нажатию F12. В чем отличие?
- Если мы нажимаем просто штатную кнопку F12, у нас сначала вываливается ненужный нам диалог.
- Если же мы нажимаем Ctrl+Enter, мы сразу же проваливаемся в определение без этого промежуточного диалога.
А для перехода назад/вперед сделан еще один дополнительный привычный хоткей – Alt+Влево/Вправо.
Улучшенный список методов модуля
Из встроенных возможностей Снегопата мы еще имеем улучшенный список методов модуля.
Вот у нас открывается такой список методов модуля, который содержит строку ввода для быстрого поиска – фильтрующую как обычно, как все в Снегопате сделано. Быстро и удобно.
Это были встроенные возможности Снегопата по работе с контекстной подсказкой и в работе в редакторе модулей.
Аддины, макросы, хоткеи
Следующий очень большой пласт функциональности в Снегопате – это работа с аддинами, макросами и хоткеями. Это основное преимущество Снегопата – загрузка аддинов и предоставление им программного интерфейса. Аддины – это дополнения к Снегопату с разными дополнительными функциями. Их можно писать на JavaScript, на VB, можно сделать какую-то свою dll. Снегопат их всех может загрузить. И сейчас сторонние разработчики в основном пишут скрипты для этого на JavaScript.
Код в этих аддинах может вызываться:
- либо автоматически в ответ на различные события – многие скрипты работают таким образом, что их загрузили, они подписываются на событие (например, на открытие модального окна диалога или вызов какой-либо команды), перехватывают это событие и выполняют свою функциональность.
- либо код в аддинах может быть оформлен в виде макроса, и пользователь может вызвать это дополнение вручную с помощью окна выбора макросов (открывается по Ctrl+M).
Может быть, вы уже заметили, по нажатию Ctrl+M у нас открывается список макросов. Это различные уже загруженные аддины, которые могут выполнять различные задачи при вызове макросов.
На каждый макрос может быть назначен свой хоткей. Для назначения клавиш вызова макросов в окне Снегопата есть вкладка «Хоткеи». Здесь мы можем назначить сочетания клавиш на вызовы макросов.
Обратите внимание, что в состав команд в окне макросов входят практически все стандартные команды из меню самого Конфигуратора. Для них тоже показываются их хоткеи – если хотите, их можно переназначить. Благодаря этому можно переназначать сочетания клавиш в конфигураторе, можно настроить хоткеи под себя.
Пользовательский интерфейс для аддинов
Понятно, что аддинам для отображения результатов работы нужно иметь какую-то визуальную форму. Для отображения визуального интерфейса сейчас используются обычные формы 1С-ных обработок – это одна из моих последних доработок после того, как я начал сотрудничать с Инфостартом.
Например, откроем внешнюю обработку, где лежат формы, которые сам Снегопат использует для отображения своего окна.
При выборе MainWindow у нас открывается стандартная форма, в которой мы можем разместить элементы управления.
На закладке Модуль находятся пустые обработчики событий для элементов управления. Этот модуль не выполняется Снегопатом. Вместо него запускается скрипт разработчика, и в этот скрипт передается объект Форма – штатный объект 1С.
Этот объект Форма, с которым мы все привыкли работать в 1С, передается в скрипт, и из скрипта можно обращаться к его свойствам и методам. Это одна из возможностей программного интерфейса Снегопата, что в скриптах можно создавать много объектов из самой 1С – таблицы значений, массивы, текстовый документ, файл и т.д.
Также из скриптов, исполняемых внутри конфигуратора, можно вызывать очень большой список привычных 1С-никам глобальных методов – Предупреждение, ВыбратьФайл и т.д.
Несколько скриптов от сторонних разработчиков
Сторонними разработчиками реализовано очень много скриптов. Не все они подключены по умолчанию, некоторые можно подключить дополнительно в главном окне Снегопата на закладке «Аддины».
Кратко рассмотрим несколько скриптов от сторонних разработчиков.
Заголовок окна конфигуратора
Первый важный, часто используемый скрипт – это заголовок окна конфигуратора.
Его очень полезно использовать, когда у вас открыто много конфигураторов, и вам нужно быстро сориентироваться – в каком из них вы работаете.
Здесь пользователь может сам для себя настроить, что именно отображать в строке. Сейчас у меня настроено – показывать имя базы, строку соединения и название базы.
«Расширенный поиск» и «Быстрый поиск»
Следующие очень полезные скрипты – это «Расширенный поиск» и «Быстрый поиск». Давайте я покажу, чем хорош «Расширенный поиск». Например, позиционируемся на слове «ОпределениеВидаРасчетовПоПараметрамДоговоров» и выбираем макрос «Глобальный поиск» – он у нас начинает искать.
В отличие от штатного глобального поиска он выполняется в фоне. И пока он ищет, мы в это время можем делать что-то другое, а в заголовке конфигуратора видно, что глобальный поиск в это время шерстит конфигурацию и находит то, что нам нужно. Из окна результатов можно сразу же перейти, куда нам нужно.
Есть еще скрипт «Быстрый поиск» (подключается дополнительно) – он индексированный, делается за счет выгрузки.
Сперва все тексты модулей выгружаются в базу данных sqlite, это занимает минут пять. Зато потом очень быстро можно искать полнотекстовым поиском – все вхождения находятся буквально за одну секунду.
В этом окне можно также произвести и обычный поиск. Так он ищет немного дольше, зато уже может искать по любому вхожению, а не только по целому слову.
Что тут хочется отметить? Из-за того, что используется интерфейс обычных форм, результаты здесь сейчас показываются не очень в удобном виде. Но, начиная с 14-го релиза, для элемента формы ПолеHTMLДокумента фирма «1С» перешла на webkit, т.е. полностью поддерживается HTML5.0. Поэтому в принципе можно использовать ПолеHTMLДокумента для вывода любых отчетов в конфигураторе – причем, они могут быть интерактивными. Из какого-то отчета мы по щелчку можем перейти, например, в модуль или еще куда-нибудь.
Навигатор по метаданным
Навигатор по метаданным – это тоже один из первых скриптов.
Здесь мы также можем быстро найти, что нам нужно. И сразу же выполнить некоторые действия:
- можем просто найти этот объект в дереве конфигурации;
- можем открыть его на редактирование;
- если, например, это – форма, можем открыть форму, а если это модуль – можем сразу же открыть модуль и перейти в него.
В окне сохраняется история поиска – это очень удобно.
В окне можно переходить сразу к конкретным методам модуля. Если мы нажимаем двоеточие, у нас здесь сразу же открывается список процедур модуля, мы можем сразу же выбрать нужную процедуру и перейти к ней.
Выбор подсистем
Реализован скрипт удобного выбора подсистем (подключается дополнительно). Скрипт перехватывает открытие выбора подсистем и можно отфильтровать дерево метаданных по подсистеме либо снять фильтр.
Расширенный список модулей
Дальше – Расширенный список методов (вызывается по Ctrl+3).
Здесь можно по каждой процедуре модуля видеть дополнительную информацию – какие методы вызываются из этого метода. Можно сразу же туда перейти.
Внешние файлы
Скрипт «Внешние файлы».
Те, у кого много внешних обработок, это очень полезный скрипт. Сюда можно подключить какие-то каталоги, и здесь будет выводиться состав каталогов – можно будет прямо отсюда открывать их содержимое.
С помощью формы настройки можно добавить сюда нужные каталоги – как общие для всех баз, так и для какой-то конкретной базы. И они здесь будут отображаться. Это будет встроенный менеджер файлов.
Панель окон
Следующий очень хороший скрипт – это панель окон (подключается отдельно). В нем более удобно находить нужные нам окна из тех, что открыты.
Ищем «справ» и можем быстро перейти. И эта же панель окон параллельно работает со скриптом «Менеджер сессий». Когда мы конфигуратор закрываем, он те модули, которые сейчас открыты нами для работы, запоминает и при следующем запуске сразу же их открывает.
Генераторы кода
И есть различные генераторы кода (подключаются отдельно).
Для примера давайте попробуем создать программный код заполнения нового документа «Доверенность».
Выберем все реквизиты.
И в открытом модуле будет сформирован код генерации такого документа.
Благодаря тому, что из скриптов есть доступ ко всем метаданным, они могут генерировать такой код с учетом того, чтобы подставить сюда все реквизиты, выдать все комментарии и прочее.
Еще более умный Enter
Есть из недавних фич, добавленных в Снегопат, – еще более умный Enter.
Когда мы вводим конструкцию «Если/Для» и нажимаем Enter внутри нее, курсор сразу же перескакивает на следующее нужное поле. Эта небольшая возможность экономит вам три-четыре нажатия клавиш. За день набегает довольно много.
Расширенный анализ текущего модуля
И из последних еще скриптов, которые я недавно начал делать – это интеграция с BSL Language Server. Многие, наверное, знают такой продукт, который выполняет расширенный анализ модуля и может выдавать различные диагностики.
У меня он на Ctrl+Shift+F7 повешен. Нажимаем хоткей и, пожалуйста, – он вызывает BSL Language Server, который в свою очередь выводит диагностики, и мы сразу же можем по этим диагностикам перейти к нужному месту модуля.
Но это пока еще прототип. Сейчас для вывода результата использована простая таблица значений. В принципе, можно сделать поле HTML документа и вывести очень красивый отчет, который будет интерактивным. Здесь сразу же можно перейти в конфигураторе на то место, которое нам необходимо.
Планы развития
Коротко расскажу о планах развития.
- У нас планы по развитию инструментов именно для Ops-части, в частности, мы хотим сделать инструментарий для интеграции конфигуратора с Git, чтобы упростить работу с Git из конфигуратора.
- Следующее направление разработки – это реализовать взаимодействие со сторонними разработками по части улучшения кода. Например, как была показана расширенная диагностика от BSL Language Server.
- Хотим добавить OneScript как еще один язык для аддинов – это позволит еще больше уменьшить порог вхождения разработчиков в создание скриптов. Сейчас и так для создания визуальной части используются обычные формы 1С, а если еще и для скриптовой части будет OneScript, то практически очень многие 1С-ники смогут сами разрабатывать различные дополнения для конфигуратора.
- И последний пласт работы, который сейчас планируется – это разработка и поддержка для 64-битных версий.
- Я смотрел доклад Станислава Косолапова по покрытию кода тестами, мне это показалось интересным, и показалось, что тот же самый отчет по покрытию можно получить и вывести сразу же в конфигураторе. И тут же переходить к модулям. Можно это разработать. Суть Снегопата именно в том, что он дает возможность в дальнейшем расширять конфигуратор. И у людей может появиться масса идей, что можно реализовать с его помощью. Развитие будет продолжаться.
Вопросы:
- Какова стоимость поставки Снегопата?
- Пока что будет выпущена триальная бесплатная полнофункциональная версия. Вся функциональность доступна. Пожалуйста – регистрируйтесь, получайте, пробуйте, обкатывайте. Если понравится – пожалуйста, потом подписку оформите, и будете пользоваться.
- Будет ли Снегопат крашить платформу так же, как его предыдущие версии?
- В последнее время стабильность очень увеличена. Проект перетерпел много реинкарнаций, с каждой у меня увеличивался опыт. Сейчас практически все проблемные места уже закрыты. Даже если где-то крашится – в 95% случаев Снегопат успевает перехватить проблему и не допустить аварийного завершения работы, что конфигуратор у вас не вылетит совсем, сможете сохранить работу таким образом. А в повседневной деятельности у меня уже почти никогда не крашится
- Я тоже уже несколько недель использую бета-версию – не крашится. Вначале было, когда был переходный период – один раз за все это время. И все.
- Снегопат будет как SaaS или можно будет как Life-time купить?
- Как Life-time он смысла не имеет, потому что если вы один раз его купите, вы обновления все равно не будете получать бесплатно весь срок жизни Снегопата. Оформляете подписку – в течение этой подписки вы будете иметь доступ ко всем свежим обновлениям. Если подписки нет, вы просто обновления не сможете получать. Если вы релиз 1С не обновляете, пожалуйста, пользуйтесь тем, что есть. А выйдет новый релиз 1С – соответственно, тоже нужно будет Снегопат обновить, чтобы он поддерживал работу с последним релизом.
- А разработчикам скриптов, насколько я помню – предоставляется бесплатная версия?
- Естественно, с нашей стороны всегда было особое внимание к людям, которые что-то разрабатывали – дополнительные скрипты для Снегопата всегда имели «зеленый свет» и карт-бланш – бесплатная бессрочная версия. У них на сайте Снегопата написано, что срок поддержки – бесконечность.
- Расскажите подробнее, как вы собираетесь реализовать в Снегопате хранилище версий конфигурации, основанное на Git?
- Это пока еще планы. Там не будет самого Снегопат-хранилища, просто будет набор скриптов и возможно, дополнений к редактору кода, чтобы можно было удобно из конфигуратора обращаться к Git. В каком направлении тут я планирую двигаться? Сейчас в конфигураторе есть возможность выгрузить конфигурацию в файлы, чем пользуются EDT-ники с GitConverter, или те, кто работают через gitsync в VS Code. Но этот механизм у 1С работает только целиком для всей конфигурации. Нужно каждый раз полностью выгружать. Но я надеюсь, что раскопаю, и можно будет быстро выгрузить и отправить в Git только один какой-то текущий объект метаданных, который вам нужен в этот момент. Примерно таким образом. А там посмотрим, как пойдет, что откопаем по ходу исследований.
- А автосохранение будет как в VS Code?
- Скрипт «Автосохранение» в Снегопате есть, это чуть ли не первый скрипт, который написали для Снегопата с учетом того, что первые версии часто вылетали. Он просто автоматически запускает сохранение по таймеру.
- К чему привязывается лицензия Снегопата?
- Сейчас пока доступна только персональная лицензия. Она не привязывается ни к чему. Каждый, кто купил персональную лицензию для себя, получает свою персональную версию snegopat.dll. Там жестко прописано его имя. При запуске видно, чья это копия. Расчет на то, что человек свою копию никому не будет сливать. А так он может ею пользоваться – хоть дома, хоть на работе, хоть с клиентами по ней ходить. И готовится к выходу корпоративная версия – там будет уже для фирм привязка к софтверному ключу. В сети будет подниматься сервер лицензий, и работники могут использовать Снегопат внутри фирмы в рамках купленных лицензий.
- Сейчас еще будет выпущена специальная бесплатная триальная версия, которая для всех будет работать три месяца. Три месяца пользуйтесь, принимайте решение. А потом мы планируем в среднем раз в месяц выпускать свежий полнофункциональный триал. Месяц пройдет – мы выпустим новую полнофункциональную версию. Те, кто хочет попробовать, они всегда получат свежую версию Снегопата. Пробуйте три месяца, используйте в своей работе, а потом самостоятельно принимайте решение – стоит оно того или нет, есть ли смысл покупать платную версию, когда она появится. Пока она еще не планируется. Пока только бесплатная версия.
- Решили рассказать на этом митапе, потому что здесь собираются люди, у которых самих полно каких-то идей, они любят сами для себя какие-то инструменты дотачивать, разрабатывать. И с помощью Снегопата они смогут сами воплотить какие-то свои мысли и желания по улучшению конфигуратора.
- Как сделан расширенный анализ кода через BSL LS?
- Первый вариант простой – просто запускается, текст модуля сохраняется во временную папку, через командную строку вызывается BSL LS, он сохраняет результат в файл, который читается скриптом Снегопата. Это первое приближение. Потом можно будет сделать уже полностью по протоколу, чтобы он работал где-то в фоновом режиме, если нужна будет именно пакетная обработка многих файлов. Пока что работает только для текущего модуля.
Скачать триальную версию Снегопата