Ядерный Снегопат

Публикация № 1492348 04.08.21

Приемы и методы разработки - Инструментарий разработчика - Снегопат, openconf

Проект Снегопат предназначен для расширения возможностей штатного конфигуратора 1С 8-й версии. В около-1С-ной сфере проект Снегопат – это, наверное, самый долгий долгострой. О том, какой путь прошел проект с 2009 года до сегодняшнего дня, на конференции Infostart Event 2021 Post-Apocalypse рассказал программист компании Инфостарт Александр Орефков.

Это был очень долгий путь…

 

Проект Снегопат я начал еще в 2009 году. Один бы я с ним не справился – в разработке скриптов мне помогали очень много людей, среди них Александр Кунташов, Артур Аюханов и другие.

Все началось с того, что в свое время я разработал проект OpenConf, который расширял возможности конфигуратора 7.7. И после этого людям, которые им пользовались, хотелось получить от конфигуратора 8-й версии большего, хотелось получить те возможности, которые OpenConf давал в 7.7. Поэтому мне пришлось расчехлить дизассемблер и залезть во внутренности 8-ки, чтобы разобраться, что там к чему.

На основе этого в 2009 году появился проект Снегопат.

Как и у OpenConf, основная задача Снегопата – это расширение возможностей конфигуратора.

 

 

У Снегопата было три ключевых этапа развития.

 

Первый вариант – с 2009 по 2016 год

На первом этапе в движке Снегопата взаимодействие с движком 1С было написано полностью на C++. Логика была частично вынесена в скрипты на JavaScript. Этот Снегопат сам запускал процесс 1С и внедрялся в него.

Основные сложности с таким подходом состояли в том, что с каждым выходом нового релиза 1С начинался ад. Внутреннее устройство движка 1С каждый раз немного изменялось. Отслеживать и сопровождать эти изменения непосредственно на C++ было очень трудно, потому что C++ – жестко типизированный язык. И в нем всю логику по работе с разными релизами приходилось, по сути, выносить в длинную проверку условий. Если у нас такой релиз запущен – делаем так. Если такой релиз запущен – делаем по-другому.

 

Снегопат Reborn – с 2016 по 2020 год

В 2015 году я начал переделку Снегопата – портировал его практически полностью на новый движок. Новый вариант Снегопата я назвал Снегопат Reborn, потому что это было возрождение – люди уже думали, что проект Снегопат закончился и не сможет перебороть эти проблемы.

В новом движке я для взаимодействия с движком 1С использовал скриптовый язык AngelScript – на нем была реализована вся основная логика Снегопата.

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

А сам код уже работал в разных релизах – сопровождение новых релизов упростилось.

Но жизнь не стоит на месте, бьет ключом. И возникли новые проблемы.

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

  • Вторая проблема, которая возникла – это появление конфигуратора на архитектуре x64. Старый Снегопат работал только под x86, поэтому при запуске конфигуратора на x64 в нем, естественно, Снегопата не было.

  • Поскольку Снегопат сам запускает процесс 1С, а потом внедряется в него, ситуация могла окончиться совсем непредсказуемо. Для разных баз используются разные релизы платформы – сам механизм запуска очень сложный. Например, Снегопат запускал процесс 1С, тот при открытии нужной базы вычислял, какой релиз требуется запустить, при этом сам мог закрыться, открыть вместо себя следующий процесс, и так по цепочке. На каждом этапе процесс внедрения Снегопата в 1С мог прерваться. И таким образом, когда запускался конфигуратор, в этом конечном процессе Снегопата уже не было.

И поэтому было решено сейчас сделать третий уже вариант движка Снегопата.

 

Архитектура нового Снегопата

 

 

На слайде показана архитектура нового Снегопата.

Сам Снегопат было решено еще раз разделить на две части.

  • Первую часть мы назвали Core.As – она содержит непосредственно движок AngelScript и движок, работающий с архитектурой процессора. Core.As отвечает за вызов и перехват функций на C++. Это отдельный независимый процесс, который никак не связан с 1С – он ничего об 1С не знает. Core.As работает практически так же, как сервер NodeJS, который для встраиваемого в браузер языка JavaScript реализует отдельный процесс выполнения, тем самым делая из него отдельный язык. Core.As работает практически так же – из скриптового языка AngelScript, который, по сути, является встраиваемым, сделан отдельный язык – его можно запускать как отдельный модуль и выполнять какой-то код.

  • Вторая часть – это сам модуль Снегопата, который написан на AngelScript, отвечает за логику взаимодействия с внутренним устройством 1С

С помощью Core.As реализовано внедрение модуля Снегопата в запускаемые процессы – мы просто один раз запускаем резидентный стартер Core.As Loader, он отслеживает запускаемые программы и, если запускается конфигуратор 1С, он просто туда внедряет модуль Снегопата. В принципе, можно разрабатывать и другие модули, внедряться в другие процессы, не только в конфигуратор.

 

Возможности последних версий

 

Итак, что удалось сделать в последних релизах?

  • После полугода интенсивной разработки удалось сделать в Снегопате полную поддержку x64 – все возможности, которые были раньше под x86, сейчас уже работают и под x64. По крайней мере, те скрипты, которыми я пользуюсь, работают.

  • Сам процесс разработки и публикации релизов был перенесен на GitHub. Если раньше все это работало на базе моего сайта, под управлением системы fossil, то теперь все сделано по правилам. Модуль Core.As Loader расположен в одном репозитории, а модуль Снегопата – в другом репозитории. Сам Снегопат сейчас является открытым проектом. Любой может подключиться к разработке, что-то свое добавить, если есть желание.

  • Самая важная новость – с помощью сообщества удалось догнать 1С по версиям. Сейчас Снегопат работает уже во всех релизах 1С, которые были выпущены. И в x64, и в x86.

 

Проще использовать и разрабатывать

 

Помимо переделки архитектуры было упрощено подключение скриптов. Раньше люди жаловались на запутанный порядок подключения скриптов – сейчас при первом запуске открывается окно, где можно просто расставить галочки, какие скрипты вам нужны. Кроме того, можно сразу пакетно включить рекомендованные скрипты, в зависимости от своего уровня подготовки – выбираете пункт меню, вам сразу же расставляются галочки для нужных скриптов. И после нажатия «Применить и закрыть» все сразу работает.

 

 

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

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

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

 

 

Использовать Снегопат стало проще, разрабатывать тоже стало проще.

Если у вас есть желание и идеи, как сделать конфигуратор для себя удобнее, то приглашаю – присоединяйтесь, подключайтесь.

Чтобы начать разработку скриптов, нужно несколько достаточно простых инструментов – Git, Visual Studio Community Edition, Visual Studio Code и небольшие познания в JavaScript.

Процесс настройки окружения и разработки скриптов для новой версии Снегопата описан в статье «Разработка скриптов для Снегопата».

 

Ближайшие планы

 

 

Ближайшие планы по движку:

  • Выпустить триальную и полную версию на новой архитектуре.

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

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

И по скриптам – ближайшее, что будем развивать:

  • сделаем набор инструментов для упрощения работы с Git;

  • и скрипты для интеграции с инструментами контроля качества кода. Один из таких скриптов уже есть – это скрипт, который вызывает для текущего модуля BSL Language Server и выводит результат его работы прямо здесь же в отдельном окошке, позволяя сразу же переходить к нужному месту кода.

 

Вопросы

 

Будет ли поддержка Linux?

Поддержки Linux нет и не будет. Дело в том, что Application Binary Interface под Linux другой, он отличается от Microsoft. Чтобы реализовать поддержку Linux, надо будет, по сути, всю эту работу опять повторить. Это будет уже отдельный продукт.

Для новой версии Снегопата реализована возможность при запуске из командной строки дождаться завершения работы конфигуратора, если мы пытаемся автоматизировать что-либо в конфигураторе скриптом, аддином в Снегопате?

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

При выпуске новой версии платформы как долго ждать обновления Снегопата для поддержки? Примерные есть какие-нибудь прогнозы по срокам?

Если 1С очень сильно ничего не перелопатит внутри, то в среднем, Снегопат начинает поддерживать вообще сразу – если ключевые механизмы не поменялись. Бывает, за пару часов удается подстроиться под новый релиз. Иногда несколько дней занимает. Сейчас 17-18-й релизы выходили, и даже не я сам, а участники сообщества (в частности, Семен Павлюков) – посидели и разобрались, как это все работает. Они даже уже без моей помощи смогли сами сделать поддержку последних релизов. На это требуется буквально от нескольких часов до максимум недели.

Если куплена лицензия на первый вариант Снегопата, насколько я помню, на второй вариант был переход бесплатно, а это уже третий вариант – нужно будет платить?

Нет.

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

Нет, мы здесь ничего не нарушаем. Этот вопрос нами разбирался досконально, никаких нарушений здесь нет. Что касается возможных действий со стороны фирмы 1С – коммерческая фирма просто так ничего не делает. Чтобы что-то начать делать, у этого должно быть какое-то финансовое обоснование. Затраты на обфускацию тоже не бесплатные. Надо сажать программистов, обфусцировать. После этого усложнится процесс тестирования. Мне это просто кажется смешным. С одной стороны, фирма 1С – это огромное всероссийское предприятие. И с другой стороны – один я. И что, они скажут, что не могут конкурировать с Орефковым? Если вспоминать историю, EDT появился после того как на первой конференции Инфостарта представили Снегопат и потом, когда Инфостарт устраивал голосование за вопросы Борису Нуралиеву, первым по популярности вопросом в обсуждении был вопрос именно по поводу Снегопата. Возможно, именно он и подтолкнул фирму 1С к началу развития. Не знаю, почему они решили вместо того, чтобы развивать конфигуратор, который я считаю очень хорошей средой разработки, перейти на Eclipse и, по сути, делать двойную работу. У них сейчас, получается, нужно сперва какую-то фичу реализовать непосредственно в движке 8-ки в конфигураторе. А потом еще поддержку этой фичи реализовать в EDT. Причем код повторно использовать даже не получится, потому что EDT на Java, а 1С на C++.

Расскажите про свою команду разработки. Вы один или сколько вас? Насколько мы можем быть уверены, что завтра Снегопат не пропадет и будет развиваться?

Всего в Снегопате идет три слоя – это основное ядро, затем его движок – код AngelScript и третий слой – это обвязка из скриптов на JavaScript. Чем слой выше, тем больше людей им занимается. Основное ядро я пока пишу один. А разработкой скриптов сейчас активно занимается 10 энтузиастов. Разработкой движка на AngelScript сейчас занимается где-то три-четыре человека. Они разбираются, что к чему и даже что-то исправляют. Если посмотреть недавние правки на GitHub, Артур Аюханов делал доработки по ключевым словам. Семен Павлюков много улучшений сделал. А основной код самого движка пишу пока я один. Так как я сейчас в команде Инфостарт, даже если я куда-то пропаду, моя работа никуда не денется.

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

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

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse. Больше статей можно прочитать здесь.

Приглашаем всех 11-12 ноября принять участие в INFOSTART EVENT 2021 в Москве: //infostart.ru/events/1451228/

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Nio 66 05.08.21 07:51 Сейчас в теме
День добрый. Очень хочу попробовать, но не могу найти инструкцию. С чего начать? Пробовал использовать старую версию, но не пошло.
2. kuntashov 420 05.08.21 08:44 Сейчас в теме
(1) Сейчас пока доступна альфа-версия, как ее установить написано в README репозитория https://github.com/infostart-hub/snegopat_modul/
3. Nio 66 05.08.21 11:07 Сейчас в теме
Прошел по инструкции. При запуске получил вот это.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: starter.exe
Версия приложения: 1.0.0.9
Отметка времени приложения: 60ddcfb4
Имя модуля с ошибкой: KERNELBASE.dll
Версия модуля с ошибкой: 6.1.7601.24545
Отметка времени модуля с ошибкой: 5e0eb7f5
Код исключения: c0000005
Смещение исключения: 0000df15
Версия ОС: 6.1.7601.2.1.0.256.48
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt
Показать
Прикрепленные файлы:
4. sinichenko_alex 116 05.08.21 17:30 Сейчас в теме
А можно все-таки хотябы небольшую часть времени выделить и организовать поддержку старых версий платформ?
20. kuntashov 420 07.08.21 23:07 Сейчас в теме
(4) Сейчас отлаживаются баги в ядре Снегопата, чтобы это сделать быстрее делается пока на одной версии платформы, которой мы сами активно внутри Инфостарта пользуемся.

Поддержку других версий будем делать, как стабилизируем основной функционал на "основной" версии (кажется, уже скоро).

Сейчас поддержку других версий на добровольной основе делает Семен Павлюк и присылает свои PR в репозиторий, за что ему спасибо (исходники Снегопата открыты, каждый может прислать доработку, ссылка на репозиторий есть в статье). Информацию о поддержки новой версии появляется в чате поддержки Снегопата в телеграме: https://t.me/snegopat_chat, там же можно написать, какую версию вам бы хотелось, чаще всего по запросу или Саша сам или Семен по возможности делают (смотрят, быстро ли, и если да, делают).
sinichenko_alex; +1 Ответить
5. Yashazz 4143 05.08.21 17:53 Сейчас в теме
Понадобилось мне совсем недавно поработать в 7.7, и досталась мне сборка с этим самым опен-конфом. И глючило оно страшенным образом. И вылетала у меня платформа 027 так, как даже 004 в своё время не падала. И пока я не выломал все эти, простихосспади, приблуды, оно нормально не работало. Причём выключить простым флажком было нельзя, пришлось разбирать компаунд поставки на куски.
У меня всё.
6. kuntashov 420 05.08.21 18:02 Сейчас в теме
(5) Вместо однотипных подобных комментариев под каждой статьей про Снегопат лучше напишите отдельную статью на эту тему, как его удалить и не страдать.
AleksandrLeshkov; AzagTot; sinichenko_alex; the1; +4 Ответить
7. Yashazz 4143 05.08.21 18:09 Сейчас в теме
(6) Если нормально - агитировать, рекламировать и продвигать, рассказывать клёвые байки про крутизну и реактивно-термоядерное улучшение в работе, то, считаю, не менее справедливо рассказывать и о случаях, ткскзть, обратных. Так что не следует мне в подобном тоне указывать, не следует.

А статью "как удалить" более адекватно писать автору продукта. Если, конечно, продукт действительно серьёзен, а не просто позиционируется как таковой. Тем более, что я с восьмёрочным не связывался и на эту тему ничего дельного не скажу.
8. kuntashov 420 05.08.21 18:12 Сейчас в теме
(7) Ну так вы же совершенно про другой продукт для другой платформы пишете. У ОпенКонфа для 1С:Предприятия 7.7 совершенно другая кодовая база, другие скрипты, написанные другими людьми, другие принципы взаимодействия с 1С.

> Так что не следует мне в подобном тоне указывать, не следует

Что не так в моем тоне?
9. alexey_kurdyukov 80 05.08.21 18:42 Сейчас в теме
(5) Когда я еще работал на семерке, у меня был OpenConf. А уж сама конфигурация была на 1С++ - ни одного дурацкого семерочного запроса, только SQL. Множественное наследование, все дела - куда уж там восьмёрке.
Так вот работало как часы.
nyam-nyam; NoRazum; kuntashov; Student1C; DmitryRBS; zqzq; Alex1c; +7 Ответить
10. o.nikolaev 206 05.08.21 20:10 Сейчас в теме
(5) На заре своей юности когда занимался 7.7 OpenConf прекрасно работал. И под XP ничего не вылетало.
7OH; nyam-nyam; Student1C; DmitryRBS; +4 Ответить
23. dvk09 10.08.21 08:24 Сейчас в теме
(5)Я постоянно пользуюсь
этим самым опен-конфом
.
Мне очень даже помогает.

Снегопатом начал пользоваться с пол года назад.
Core.As - вполне себе работает.

До этого пользовал Триал версию Реборна, она иногда падала, но не так часто, что бы от неё отказываться...
11. saa@kuzov.org 05.08.21 23:48 Сейчас в теме
Принцип работы новой версии понятен: висит в памяти приложение и патчит процесс конфигуратора, если заметит его появление.

А если пойти другим путем? При запуске конфигуратора exe-файл подключает несколько dll-библиотек. Если заменить одну из этих библиотек на свою, которая будет патчить в памяти все что нужно, а потом прозрачно перенаправлять вызовы к оригинальной dll-библиотеке.

Тут, возможно, будет юридический аспект, ведь нужно будет переименовать оригинальную библиотеку и подложить свою. Но многих это бы устроило.
12. alexey_kurdyukov 80 06.08.21 05:28 Сейчас в теме
платформу 8.3.19 - не поддерживает, версию для обучения - совсем не видит (
а 8.3.18.1208 x64?
28. 7OH 32 12.08.21 00:34 Сейчас в теме
(12)
1. 8.3.19 - х86 пока только - с некоторыми ограничениями. х64 - изучаем как поднять.
2. 8.3.18.1208 (х64) - во вложении
3. с учебной версией - да - Сашу попробуйте попросить добавить поддержку, тем более учебная только х86, которая стабильнее.
Прикрепленные файлы:
13. fancy 12 06.08.21 07:26 Сейчас в теме
Все работает пока отлично, без вылетов
14. Angel_19 6 06.08.21 07:57 Сейчас в теме
Просьба написать какие возможности дает. Может и попробовал бы - только пока не знаю зачем это все - нужны реальные примеры того, как его можно использовать.
SlavaKron; +1 Ответить
19. kuntashov 420 07.08.21 23:00 Сейчас в теме
(14) На Инфостарте уже было несколько обзоров. Они сделаны для "старой" версии Снегопата, но "старый" относится только к архитектуре стартера/загрузчика, функционал для конечных пользователей точно такой же, поэтому рекомендую посмотреть очень подробный обзор:

- текстом: https://infostart.ru/1c/articles/1279858/ (с раздела "Основные возможности Снегопата" и далее до конца статьи идет описание фишек Снегопата и скриптов)
- видео: https://www.youtube.com/watch?v=dzhC-1KB-2o
15. AnderWonder 25 06.08.21 10:30 Сейчас в теме
Шикарная вещь. Как долго будет работать альфа версия? Какая планируется ценовая политика?
16. DrAku1a 1467 06.08.21 14:50 Сейчас в теме
Я всё-таки упорно не понимаю политику 1С!
Народ просил, народ посчитал это самым важным! Если не ошибаюсь, первый из 50 вопросов (по голосованию) лично Нуралиеву. И что отвечает создатель 1С - Не, мы не будем покупать "несовместимый" продукт...
Ну, купили бы не как продукт, а как технологии и переписали бы ядро на совместимость с платформой. Уверен, если бы движок скриптов и плагинов был вшит в платформу 1С - не приходилось бы плясать с бубном над его загрузкой и внедрением в код продукта, а следовательно - не было бы проблем с версией платформы, системными крашами при запуске и т.д. Зато программеры полюбили бы конфигуратор и даже не задумывались об экспериментах с EDT...
Время от времени - промелькают новости типа "Google купил то", "Yandex купил это", даже про "Инфостарт" - правда, не купил, а "в ряды Инфостарта включились такие крутые спецы как ..." но суть то примерно та-же... Почему бы 1С не купить перспективный, хорошо оцененный народом продукт, за наличие которого в "движке" - мы, разработчики, будем ещё больше гордиться платформой?!!...
И именно купить, а не написать свою версию, расспросив автора что это, как работает и зачем. Автор проделал немалый труд, придумал концепт и реализовал его. Это уже стоит дорого! Стоит ценить работу, иначе мы так и будем жить стереотипами 90-х, что раз можно скопировать - зачем платить деньги?!..
Сори, сумбурно, но как есть...
Моя благодарность автору - дважды куплена лицензия Снегопата (старая и новая Reborn отдельно, хотя я мог и просто перейти). А также, когда была возможность - подкинул автору немного $m на рекламу (когда на Инфостарте работали переводы между пользователями). Я также активно рекомендую Снегопат своим коллегам.
DJ_Codebase; 7OH; dabu-dabu; avgreen; sergant500; kuntashov; +6 Ответить
17. mashinist 6 06.08.21 15:34 Сейчас в теме
тоже не взлетело... а жаль.. 8.3.16.1690

>>> Исключение AngelScript.
        Процесс: 1cv8.exe ( 8.03.0016.1690 )
        Core.As: 1.0.0.9
         Модуль: Snegopat (  ) 
           Файл: C:\Snegopat\modules\Snegopat\engine\com_metadata.as
         Строка: 783
        Функция: IMDContainer@ getIBMDCont()
         Строка: 783
       Описание: Исключение 0xC0000005 по адресу 0xFFFF7D63 при вызове функции "IConfigMngr::getMDCont"
                 Стек вызовов:
                   C:\Snegopat\modules\Snegopat\engine\com_metadata.as : IV8MetaData::IV8MetaData(int), строка 18,9
                   C:\Snegopat\modules\Snegopat\engine\com_metadata.as : IV8MetaData@ IV8MetaData(int), строка 0,0
>>> Bad AngelScript result code in entranceToGateToAngelScript
>>> Исключение AngelScript.
        Процесс: 1cv8.exe ( 8.03.0016.1690 )
        Core.As: 1.0.0.9
         Модуль: Snegopat (  ) 
           Файл: C:\Snegopat\modules\Snegopat\engine\com_events.as
         Строка: 196
        Функция: void transmitCommandTrap(ICommandReceiver&inout, const CommandRef@, bool)
         Строка: 196
       Описание: Null pointer access
>>> Bad AngelScript result code in entranceToGateToAngelScript
>>> Исключение AngelScript.
        Процесс: 1cv8.exe ( 8.03.0016.1690 )
        Core.As: 1.0.0.9
         Модуль: Snegopat (  ) 
           Файл: C:\Snegopat\modules\Snegopat\engine\com_events.as
         Строка: 196
        Функция: void transmitCommandTrap(ICommandReceiver&inout, const CommandRef@, bool)
         Строка: 196
       Описание: Null pointer access
>>> Bad AngelScript result code in entranceToGateToAngelScript
Показать
30. 7OH 32 12.08.21 00:45 Сейчас в теме
(17) нет такой официальной версии
попробуйте обновиться из гита - там много правок было перенесено из старого снегопата
Прикрепленные файлы:
32. mashinist 6 12.08.21 09:15 Сейчас в теме
(30)

пошел искать на
нашел
## FAQ
#### Как скачать обновление из текущего репозитория?

Действия:

- качаем архив по ссылке https://github.com/infostart-hub/snegopat/archive/master.zip
- это ссылка на самый актуальный набор

Ну и дальше тупик
Сканирование при доступе обнаружило угрозу. Файл был удален.C:\Downloads\snegopat-master\tools\TrayTip.exe является вредоносным ПО типа Gen:Variant.Ursu.385564
33. 7OH 32 12.08.21 09:36 Сейчас в теме
(32) Вы ушли в старую тему.
Core живёт в гите.
Пока собирается из двух архивов (ну или из самого гита для освоивших эту технологию).
https://github.com/infostart-hub/core_as_loader/releases
https://github.com/infostart-hub/snegopat_modul/releases
скачать и распаковать в одну папку.
18. Aleksandr55555 144 07.08.21 09:30 Сейчас в теме
Полезный продукт зреет? Что-то пишут, что не взлетает у людей... Хочется посмотреть видео-обзор полезных функций. Узнать цену и качество техподдержки по продукту. Поисковиком посмотрел, мало интересного и полезного)
И примерные сроки окончания разработки для x64?
Не будет ли такого, что Фирма 1С в будущем поглотит этот продукт к себе в поставку платформы?
22. Ashandy 09.08.21 18:57 Сейчас в теме
(18)
https://infostart.ru/1c/articles/1279858/
https://www.youtube.com/watch?v=dzhC-1KB-2o
Сроки.. да кто его знает...
можете в телеге пообщаться насчет этого https://t.me/snegopat_chat
Нет, 1с не хочет покупать и об этом насчет снегопата она сама говорила.
21. user595194_bendery_sh 09.08.21 12:19 Сейчас в теме
Как повторно вызвать окно инициализации набора возможностей ?
24. dvk09 10.08.21 08:29 Сейчас в теме
(21) Ctrl + Shft + M => вверху кнопка "Выбрать скрипты"
25. user595194_bendery_sh 10.08.21 14:14 Сейчас в теме
СПС.
А есть возможность найти все переменные процедуры/функции и объявить их локальными?
26. user595194_bendery_sh 10.08.21 14:26 Сейчас в теме
Выбрал Уровень ГУРУ 1С:Предприятие 8.3 (8.3.18.1289) (x64)
при загрузке ругается:
Ошибка загрузки аддина 'script:addins\\code_gen\gen_mgr.js': Аддин с уникальным именем 'codegen_manager' уже загружен
Ошибка загрузки аддина 'script:addins\\dvcs\logview.js': Аддин extfiles не найден
27. user595194_bendery_sh 10.08.21 14:50 Сейчас в теме
>>> Исключение AngelScript.
Процесс: 1cv8.exe ( 8.03.0018.1289 )
Core.As: 1.0.0.9
Модуль: Snegopat ( )
Файл: T:\snegopat-Release-2021-07-27\modules\Snegopat\engine\com_windows.as
Строка: 211
Функция: IMDObject@ getMdObjFromView(IFramedView@)
Строка: 211
Описание: Исключение 0xC0000005 по адресу 0x75001052 ( core_as.dll ) при вызове функции "QueryInterface"
Стек вызовов:
T:\snegopat-Release-2021-07-27\modules\Snegopat\engine\com_windows.as : IV8MDObject@ IV8View::get_mdObj(), строка 544,13
T:\snegopat-Release-2021-07-27\modules\Snegopat\engine\com_windows.as : bool IDispatch::call(int, array<Variant>&inout, Variant&out = void), строка 0,13
Переменные:
view = native object 'IFramedView' (0x5F640090)
dv = native object 'IDocumentView' (0x00000000)
doc = native object 'IDocument' (0x00000000)
ui = native object 'IConfigMngrUI' (0x00000000)
ow = native object 'IConfigMngrUIOwner' (0x00000000)
pCont = native object 'IConnectionPointContainer' (0x00000000)
pCP = native object 'IUnknown' (0x00000000)
pdata = 0x0000000000000000
size = 0x030C8850
i = 0x00000000
pSink = native object 'DocSinkRef' (0x00000000)
eh = native object 'IMDEditHelper' (0x00000000)
er = native object 'IEventRecipient' (0x5F640030)
ct = native object 'ICommandTarget' (0x5D636898)
obj = native object 'IMDObject' (0x00000000)
29. 7OH 32 12.08.21 00:41 Сейчас в теме
(27) попробуйте обновиться с гита. Просто запуск этой версии работает. Возможно сможете описать как воспроизвести проблему
31. user595194_bendery_sh 12.08.21 06:39 Сейчас в теме
Запуск Этой версии работает. В зависимости от уровня настроек.
34. the1 971 29.11.21 11:56 Сейчас в теме
20-я платформа как бы вышла, а поддержки 19-й до сих пор нет. Это очень печально.
Возможно, Александру стоит признаться, что проект не взлетел и перестать питать надежды пользователей.
Оставьте свое сообщение

См. также

Разработка скрипта для проекта Снегопат Промо

Снегопат, openconf v8 1cv8.cf Россия Бесплатно (free)

Подробное пошаговое описание порядка создания скрипта для проекта Снегопат (http://snegopat.ru) на примере скрипта "Авторские комментарии". Затрагивает ключевые особенности объектной модели, реализуемой Снегопатом.

12.02.2012    20366    kuntashov    59    

Разработка скриптов для Снегопата

Снегопат, openconf v8 Бесплатно (free)

Это небольшая статья для тех, кто хочет сам разрабатывать скрипты для нового Снегопата, или править сам движок Снегопата, или просто собирать модуль самостоятельно для внесения оперативных исправлений. В ней я расскажу, как установить и настроить всё необходимое для этого. Скрипты будем создавать на языке TypeScript, инфраструктура заточена именно под этот язык. Предполагается, что вы умеете пользоваться git’ом и настраивать переменные окружения.

26.07.2021    2164    orefkov    1    

Пробуем Снегопат (устанавливаем и настраиваем полнофункциональную триальную версию)

Снегопат, openconf v8 Бесплатно (free)

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

31.08.2020    12002    kuntashov    73    

Снегопат – Dev или Ops?

Снегопат, openconf v8 Бесплатно (free)

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

17.08.2020    8309    orefkov    49    

Скрипты для проекта Снегопат: автоматизация работы в Конфигураторе Промо

Снегопат, openconf v8 1cv8.cf Россия Бесплатно (free)

Снегопат (http://snegopat.ru) – это проект по расширению возможностей конфигуратора 1С:Предприятия 8.2 как среды разработки прикладных решений. Для знакомых с ОпенКонфом, можно коротко сказать, что Снегопат – это ОпенКонф и Телепат, только для 1С:Предприятия 8.2 и уже на сегодня заметно круче :). Кроме специализированного функционала, который добавляется в Конфигуратор при использовании Снегопата, разработчики могут добавлять новый функционал самостоятельно, создавая свои собственные скрипты, автоматизирующие работу в Конфигураторе. Предлагаю вам обзор возможностей существующих на сегодня скриптов для Снегопата с короткими, но наглядными видеоиллюстрациями их работы.

16.01.2012    27378    kuntashov    42    

Опыт разработки скриптов для автоматизации работы в конфигураторе

Математика и алгоритмы Снегопат, openconf Практика программирования v8 Бесплатно (free)

Статья опубликована на мотивам доклада, прочитанного автором на Конференции IE 2012 15-16 ноября 2012 года, и вошедшего в Журнал Инфостарта №1. В настоящее время частично утратила актуальность, выложена в основном в качестве архива, чтобы помнить историю развития проекта.

24.02.2015    19773    kuntashov    4