gifts2017

Просроченное регламентное задание: Принудительный запуск с помощью скрипта на VBS и обработки 1С

Опубликовал Владислав Свинцов (VSvintsov) в раздел Администрирование - Сервисные утилиты

Инициализация проверки выполняется скриптом Visual Basic (VBS), который в свою очередь запускается по расписанию планировщиком  Windows (windows scheduler)
С помощью обработки встроенной в конфигурацию  выполняется проверка расписания регламентного задания и если оно просрочено, то процедура в общем модуле, связанная с регламентным заданием выполняется принудительно.  

   Регламентные задания зачастую выполняют чрезвычайно важные задачи, иногда даже критичные для организации. В то же время надежностью механизм запуска регламентных заданий в 1С не отличается.
   В связи с этим разработан VB скрипт, который  инициализирует проверку  даты последнего  запуска регламентного задания и если оно просрочено, то принудительно запускает процедуру из общего модуля связанную с этим регламентным заданием.
  В данном примере в пустой БД всего одно регламентное задание и одна обработка. Плюс сам скрипт на VB

  Скрипт на VB "1C_2.vbs" организует СОМ  соединение с БД ("V82.Application") и запускает обработку, которая экспротной процедурой из модуля обработки уже проводит все проверки и выполняет необходимые действия.

Скрипт на VB "1C_3.vbs" организует СОМ  соединение с БД ("V82.COMConnector") и запускает обработку, которая экспротной процедурой из модуля обработки уже проводит все проверки и выполняет необходимые действия.

    Расположение проверочного кода в обработке выбрано для того чтобы не вносить изменения ни в какие объекты БД.
   В результате работы  , для диагностики обработка создает текстовый файл в каталоге C:\temp "ПротоколАварийногоЗапускаРеглЗадания.txt" в котором в зависимости от ситуации сообщается "Авариный запуск регламентного задания" или "Регламентное задание запускается штатно. Последний запуск в  ....".
  Само же регламентное задание создает файл  "ПротоколРаботыРеглЗадания.txt"  в каталоге "C:\Temp\111"  содержащий фразу "Регламентное задание выполнено!!"
 
   Скрипт VB нуждается в настройке - ему нужно указать имя сервера приложений/путь к БД , логин и пароль.
   В представленной выгрузке БД : пользователь - user1  ; пароль - 123
  
   В обработке регламентное задание находится по имени и процедура связанная регламентным заданием явно указана в коде, но затратив небольшие усилия легко полоностью автоматизировать анализ всех регламентных заданий в цикле с отдельной диагностикой по каждому.


   В случае если работаем в клиент-серверном варианте , не забываем давать пользователю, от имени которого работает сервер приложений на каталог "С:\temp"
    Возможна следующая ошибка  Ошибка соединения

Ошибка возникает либо из за отсутствия dll обеспечивающей соединение и помогает переустановка 1С, или несовпадения разрядности версий "коннектора" на ПК где запускается vbs и сервера приложений

Скачать файлы

Наименование Файл Версия Размер
KontrolStartRegScheduledJob.rar 29
.rar 14,47Kb
11.04.13
29
.rar 14,47Kb Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.