Версия для печати темы (https://pro1c.org.ua/index.php?s=ef1cb2db13f40417dd4cd47abeea64e7&showtopic=5687)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Администратору 1С / системному администратору _ Реализация регламентных заданий для 1С 7.7/8.Х стандартными средствами Windows

Автор: Vofka 17.12.11, 13:21

У многих из нас возникала (и возникает) необходимости в запуске 1С в фоновом режиме для выполнения регламентных заданий. Данную задачу я решил самым простым способом, с помощью стандартных возможностей Windows 2003. Полагаю, то, что в статье речь идет о серверной операционной системе, нисколько не уменьшит возможностей применения способа, т.к. фоновые регламентные задания именно на сервере обычно и запускаются.

Способ организации фонового регламентного задания прост.

1) Пишем bat файл запускающий 1с под определенным пользователем и паролем. Очень важно, чтобы 1С запускалась, не запрашивая ни пользователя, ни пароль, т.к. нам не суждено будет визуально увидеть запуск и работу 1С.

2) Создаем задание в планировщике заданий. Я использую вариант запуска с 08:00 утра с повторным запуском каждые 30 мин.

3) В поле “От имени” вписываем NT AUTHORITY\SYSTEM (поле пароля оставляем пустым). Учетная запись NT Authority\System не имеет прав интерактивного входа, поэтому пользователи не видят программу запущенную от этой учетной записи как и не могут взаимодействовать с программами, запущенными от этой учетной записи.

4) Жмем “Ок”. Все задание создано.

Что такое по сути наше задание? Это наша программа (1С в данном случае) работающая под системной учетной записью, причем ввиду ограничений учетной записи не подающая никаких интерактивных и визуальных “признаков жизни”. Чем наше фоновое регламентное задание отличается от службы? Для наших целей – ничем.

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

P.S. Дополнения + недостатки метода:

При необходимости запустить наше фоновое задание можно командой

SchTasks /Run /TN "Имя_задания"

По такой же логике наше задание можно было бы остановить командой

SchTasks /End /TN "Имя_задания"

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

http://pro1c.org.ua/redirect.php?http://infostart.ru/public/101168/

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua