Сценарии пакетного режима







Сценарии пакетного режима. Тестировалось на 1С:Предприятие 8.3.13.1690.
Автоматическое создание команд пакетного режима.
Создание, хранение и запуск сценариев команд пакетного режима.

Сценарии пакетного режима запуска конфигуратора.

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

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

Конфигурация состоит из нескольких справочников:

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

 

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

 

В элементе команды перечислены возможные параметры и дополнительные команды с переменными (выделяются через знак «&»). Параметры команд являются ссылками на отдельный «условно» подчиненный справочник «Параметры команд».

 

Внимание! В справочнике перечислены не все команды пакетного режима, а только те, которые мне требовались в работе или которыми я планировал пользоваться. В случае, если вам потребуется дополнительная команда пакетного режима, нужно открыть типовую справку в конфигураторе 1С (раздел «Команды пакетного режима запуска конфигуратора») и по указанным в справке данным создать в базе новый элемент, по аналогии с уже имеющимися командами.

Сценарии пакетного режима – это и есть, по сути, «сердце» разработки.

Остановимся подробнее на элементе справочника.

В окне 1 вводится сценарий последовательности команд пакетного режима, а так же «База» к которой применяется данная команда.

В окне 2 для каждой команды (из окна 1) указываются параметры запуска. Параметры ограничены тем перечнем, что был указан для команды в справочнике «Команды пакетного режима».

В окне 3 система автоматически выводит «Переменные», которые потребуются при выполнении команды. (При работе с данным механизмом не было необходимости привязывать переменные к командам и параметрам, т.к. они не пересекались. Если вдруг потребуется одной и той же переменной в рамках разных команд задать разные значения, необходимо будет доработать функционал или переименовать саму переменную в одной из команд в элементе справочника «Команды пакетного режима»).

Для чего же это все? Для автоматизации двух действий:

1. Процедура «Сформировать строку пакета» запускается из элемента справочника «Сценарии пакетного режима». Для запуска выберите команду из списка и нажмите соответствующую кнопку в панели форма элемента.

Программа выдаст результат, который можно использовать для проверки корректности заполнения параметров и переменных, а так же использовать в командной строке или при составлении скриптов

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

Ход выполнения будет отображаться в окне сообщений.

Что необходимо знать перед скачиванием?

  1. Основные процедуры выполняются "НаКлиенте". 
  2. В приложенной базе (1cv8.dt) в справочнике "Команды пакетного режима" перечислены и заполнены только несколько команд, наиболее часто используемые, но всегда можно завести новую или отредактировать старую команду (по аналогии с уже введенными).

11 Comments

  1. zeegin

    А еще можно взять Jenkins и не изобретать свой CI.

    Reply ↓
  2. lastpioneer

    (1) Думаю можно найти ещё множество вариантов решения этой задачи, в т.ч. и заплатить кому-то и наслаждаться созерцая как другие работают.

    Предложенное мной решение не требует ни чего кроме 1С:Предприятия (а если человек столкнулся с проблемой запуска команды в пакетном режиме, то у него есть установленное 1С:Предприятие) и небольшой опыт использования данного режима.

    При знании основ программирования на 1С можно подпилить под себя.

    В предложенном вами варианте, нужно разбираться с новым ПО (если честно, я про него впервые прочитал). Необходимо знание тонкостей настройки и желание в этом разбираться.

    На сколько я понял (может это и не так) саму строку команды необходимо писать ручками, а как раз от этого я и пытался убежать (в моей разработке строка команды Например: «»C:Program Files1cv88.3.10.2466in
    ac.exe» -db «zup cb fin test» -db-user «Admin» -lockmessage «Плановое обновление» -lockuccode update» создается автоматически, тем самым я избегаю лишних ошибок (необходимость Экранирования, лишние пробелы и т.д.)

    Reply ↓
  3. Evil Beaver

    http://oscript.io + v8runner — все уже придумано, велосипеды не нужны. И на языке 1С, как вы и хотели.

    Reply ↓
  4. lastpioneer

    (3) Рекламируете 😉 Я не против. Но считаю, что у меня получилась удачная конструкция «велосипеда». В ней нет ни чего лишнего (в отличии от вашего предложения). Она полностью выполняет те функции которые в неё были заложены (Авто создание строк команд с последующим хранением и редактированием, а так же их последовательный запуск). Этим велосипедом, можете воспользоваться даже вы, когда пишете код скриптов в «http://oscript.io + v8runner».

    Кстати напомню, что в моем «велосипеде» скрипты писать не надо. Нужно просто выбрать из справочника нужные команды пакетного режима и указать свои переменные.

    А вся установка заключается, лишь в разворачивании небольшой базы.

    И да, уважаемые разработчики, изобретайте свои ВЕЛОСИПЕДЫ, возможно на вашем велосипеде завтра будет ездить весь МИР!

    Reply ↓
  5. HAMMER_59

    (4) Зачем вступаете в дискуссию на тему «что лучше, что хуже». У вас же черным по белому написано «сценарии пакетного режима», чего тут обсуждать, какой такой джеткинс и прочее?

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

    Reply ↓
  6. awk

    А можно как-то нормально назвать пост? А то пока не пролистаешь, пока дт-шник для скачки не увидишь, не понятно о чем речь.

    Таких разработок миллион, в т.ч. Jenkins и OScript. Нужен ли миллион первый? Наверно нужен. Но давайте писать так, что бы было понятно, что это очередной инструмент автоматизации. Уважайте время коллег.

    Reply ↓
  7. Darklight

    (4)Вашей разработки как раз не хватает уже заполненного справочника команд с параметрами — ведь именно в нём основная сила! Ну и поддержки разных версий платформы — когда список доступных команды автоматически настраивается для указанной версии платформы.

    Reply ↓
  8. Darklight

    (3)Сами же пишите, что библиотека v8runner уже безбожно устарела — всё равно лезть в исходники и допиливать новые команды — это не гуд. да и с GUI у такой связки будут проблемы, и с хранением готовых скриптов…. так что разработка автора сабжа вполне имеет право на жизнь, особенно если он запилит внутрь уже заполненный справочник команд и будет его периодически актуализировать (чтобы он не безбожно устарел как v8runner).

    Reply ↓
  9. Darklight

    Надо ещё упомянуть про специализирванное решение от самой 1С на ту же тему — «1С:Центр администрирования», который был анонсирован год назад, но, как я понял, данный продукт в итоге вошёл в состав 1С КИП и не доступен для отдельного приобретения! Конечно, функционал там намного шире, чем просто запуск пакетных скриптов.

    Reply ↓
  10. Snitkovski

    что-то пошлО не так:

    Reply ↓
  11. lastpioneer

    (10) Ошибку исправил (обновил релиз в публикации 1.0.0.1). Ошибка возникала при работе в «тонком клиенте». В «толстом клиенте» должно работать.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *