В файловом варианте работы 1С:Предприятие отсутствует штатный сервер приложений, который мог бы самостоятельно исполнять регламентные задания по расписанию. Это создает определенные трудности для автоматизации процессов. В данной статье мы разберем, как грамотно настроить выполнение задач, не нарушая работу системы и не вызывая конфликтов с системными администраторами.
В архитектуре 1С регламентные задания в файловой базе инициируются клиентским приложением. Если в системе нет ни одного активного сеанса пользователя, фоновые задания просто не запустятся, так как «движку» платформы негде выполнять код. Попытки использовать устаревший метод ВыполнитьОбработкуЗаданий сейчас не рекомендуются, поэтому нам следует искать альтернативные пути автоматизации.
Это самый популярный метод для автоматического выполнения задач по расписанию, например, каждое утро. Мы можем создать внешнюю обработку, которая выполнит все необходимые действия, а затем корректно завершит работу системы.
Планировщик заданий Windows для запуска 1С с параметрами /Execute.Разберем пример реализации кода для корректного выхода:
Процедура ПриОткрытии()
// Выполняем полезные действия
ВыполнитьНеобходимуюЛогику();
// Корректное завершение работы
ЗавершитьРаботуСистемы(Ложь);
КонецПроцедуры
Важно отметить: если вы используете команду ЗавершитьРаботуСистемы(Ложь), программа завершается корректно. Она успевает закрыть все транзакции, освободить файлы блокировок и записать данные в журнал регистрации. Аргумент Ложь означает, что система не будет спрашивать подтверждение у пользователя. Таким образом, аргумент администратора об «аварийном завершении» является ошибочным, так как это штатный инструмент платформы.
Если вам необходимо, чтобы задания выполнялись в течение всего рабочего дня, самым надежным решением будет выделение отдельного «технического» сеанса 1С. Вы можете запустить клиентское приложение под специальным пользователем, у которого в настройках включено выполнение регламентных заданий. Этот сеанс может работать в свернутом режиме на отдельном компьютере или сервере.
Преимущества данного подхода:
Чтобы избежать споров с системными администраторами, проанализируем следующие аспекты:
В заключение хочется подчеркнуть: автоматизация в файловой базе — это вопрос не «насилия над системой», а правильной настройки инфраструктуры. Если ваша обработка завершается программно, база остается в целостности и сохранности. Если объемы данных растут, а количество регламентных заданий увеличивается, возможно, стоит рассмотреть переход на клиент-серверный вариант работы с использованием 1С:Сервер, где эти вопросы решаются на уровне архитектуры платформы автоматически.