Автоматическое создание команд пакетного режима.
Создание, хранение и запуск сценариев команд пакетного режима.
Сценарии пакетного режима запуска конфигуратора.
При выполнении административных функций появляются рутинные задачи, которые можно решить с применением команд пакетного режима запуска конфигуратора.
Постоянно наступая на одни и те же грабли, при составлении команд, пришла идея создать конфигурацию для облегчения процесса составления как самих команд, так и небольших сценариев их выполнения, а так же, возможности их сохранения/редактирования, параметризации и запуска.
Конфигурация состоит из нескольких справочников:
Базы конфигураций – это справочник в котором храниться информация о подключениях к базам, с которыми мы собираемся работать с использованием пакетного режима.
Команды пакетного режима – В этом справочнике хранится информация о командах пакетного режима. Информацию для заполнения была взята из типовой справки, поэтому навигация по дереву аналогичная источнику.
В элементе команды перечислены возможные параметры и дополнительные команды с переменными (выделяются через знак «&»). Параметры команд являются ссылками на отдельный «условно» подчиненный справочник «Параметры команд».
Внимание! В справочнике перечислены не все команды пакетного режима, а только те, которые мне требовались в работе или которыми я планировал пользоваться. В случае, если вам потребуется дополнительная команда пакетного режима, нужно открыть типовую справку в конфигураторе 1С (раздел «Команды пакетного режима запуска конфигуратора») и по указанным в справке данным создать в базе новый элемент, по аналогии с уже имеющимися командами.
Сценарии пакетного режима – это и есть, по сути, «сердце» разработки.
Остановимся подробнее на элементе справочника.
В окне 1 вводится сценарий последовательности команд пакетного режима, а так же «База» к которой применяется данная команда.
В окне 2 для каждой команды (из окна 1) указываются параметры запуска. Параметры ограничены тем перечнем, что был указан для команды в справочнике «Команды пакетного режима».
В окне 3 система автоматически выводит «Переменные», которые потребуются при выполнении команды. (При работе с данным механизмом не было необходимости привязывать переменные к командам и параметрам, т.к. они не пересекались. Если вдруг потребуется одной и той же переменной в рамках разных команд задать разные значения, необходимо будет доработать функционал или переименовать саму переменную в одной из команд в элементе справочника «Команды пакетного режима»).
Для чего же это все? Для автоматизации двух действий:
1. Процедура «Сформировать строку пакета» запускается из элемента справочника «Сценарии пакетного режима». Для запуска выберите команду из списка и нажмите соответствующую кнопку в панели форма элемента.
Программа выдаст результат, который можно использовать для проверки корректности заполнения параметров и переменных, а так же использовать в командной строке или при составлении скриптов
2. Процедура «Выполнить сценарий» запускается из списка справочника «Сценарии пакетного режима». Для запуска выберите сценарий из списка и нажмите соответствующую кнопку в панели формы списка.
Ход выполнения будет отображаться в окне сообщений.
Что необходимо знать перед скачиванием?
- Основные процедуры выполняются "НаКлиенте".
- В приложенной базе (1cv8.dt) в справочнике "Команды пакетного режима" перечислены и заполнены только несколько команд, наиболее часто используемые, но всегда можно завести новую или отредактировать старую команду (по аналогии с уже введенными).
А еще можно взять Jenkins и не изобретать свой CI.
(1) Думаю можно найти ещё множество вариантов решения этой задачи, в т.ч. и заплатить кому-то и наслаждаться созерцая как другие работают.
Предложенное мной решение не требует ни чего кроме 1С:Предприятия (а если человек столкнулся с проблемой запуска команды в пакетном режиме, то у него есть установленное 1С:Предприятие) и небольшой опыт использования данного режима.
При знании основ программирования на 1С можно подпилить под себя.
В предложенном вами варианте, нужно разбираться с новым ПО (если честно, я про него впервые прочитал). Необходимо знание тонкостей настройки и желание в этом разбираться.
На сколько я понял (может это и не так) саму строку команды необходимо писать ручками, а как раз от этого я и пытался убежать (в моей разработке строка команды Например: «»C:Program Files1cv88.3.10.2466in
ac.exe» -db «zup cb fin test» -db-user «Admin» -lockmessage «Плановое обновление» -lockuccode update» создается автоматически, тем самым я избегаю лишних ошибок (необходимость Экранирования, лишние пробелы и т.д.)
(3) Рекламируете 😉 Я не против. Но считаю, что у меня получилась удачная конструкция «велосипеда». В ней нет ни чего лишнего (в отличии от вашего предложения). Она полностью выполняет те функции которые в неё были заложены (Авто создание строк команд с последующим хранением и редактированием, а так же их последовательный запуск). Этим велосипедом, можете воспользоваться даже вы, когда пишете код скриптов в «http://oscript.io + v8runner».
Кстати напомню, что в моем «велосипеде» скрипты писать не надо. Нужно просто выбрать из справочника нужные команды пакетного режима и указать свои переменные.
А вся установка заключается, лишь в разворачивании небольшой базы.
И да, уважаемые разработчики, изобретайте свои ВЕЛОСИПЕДЫ, возможно на вашем велосипеде завтра будет ездить весь МИР!
(4) Зачем вступаете в дискуссию на тему «что лучше, что хуже». У вас же черным по белому написано «сценарии пакетного режима», чего тут обсуждать, какой такой джеткинс и прочее?
Возможно, есть впечатлительные, сходят посмотрят что там за джэткинс, скорее всего не особо обрадуются.
А можно как-то нормально назвать пост? А то пока не пролистаешь, пока дт-шник для скачки не увидишь, не понятно о чем речь.
Таких разработок миллион, в т.ч. Jenkins и OScript. Нужен ли миллион первый? Наверно нужен. Но давайте писать так, что бы было понятно, что это очередной инструмент автоматизации. Уважайте время коллег.
(4)Вашей разработки как раз не хватает уже заполненного справочника команд с параметрами — ведь именно в нём основная сила! Ну и поддержки разных версий платформы — когда список доступных команды автоматически настраивается для указанной версии платформы.
(3)Сами же пишите, что библиотека v8runner уже безбожно устарела — всё равно лезть в исходники и допиливать новые команды — это не гуд. да и с GUI у такой связки будут проблемы, и с хранением готовых скриптов…. так что разработка автора сабжа вполне имеет право на жизнь, особенно если он запилит внутрь уже заполненный справочник команд и будет его периодически актуализировать (чтобы он не безбожно устарел как v8runner).
Надо ещё упомянуть про специализирванное решение от самой 1С на ту же тему — «1С:Центр администрирования», который был анонсирован год назад, но, как я понял, данный продукт в итоге вошёл в состав 1С КИП и не доступен для отдельного приобретения! Конечно, функционал там намного шире, чем просто запуск пакетных скриптов.
что-то пошлО не так:
(10) Ошибку исправил (обновил релиз в публикации 1.0.0.1). Ошибка возникала при работе в «тонком клиенте». В «толстом клиенте» должно работать.