Запуск внешней обработки из командной строки в 1С 8.3

Часто при работе с 1С бывает нужно провести какие-то однотипные операции, которые повторяются систематически по времени и просто отвлекают от основной работы. Это могут быть различные загрузки-выгрузки, формирование каких то данных для внешнего анализа и т.д. Есть достаточно простой способ эти операции автоматизировать и фактически забыть про них, получая периодически лог-файлы на почту для контроля.

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

Следующий шаг, делаем автоматическое закрытие программы после выполнения внешней обработки, которую мы создали и она у нас уже работает. Для этого в процедуре ПриОткрытии() в самом конце вставляем следующую команду: ЗавершитьРаботуСистемы(Ложь); в данном случае параметру ЗапрашиватьВозможность мы передаем значение «Ложь», что бы отсечь различные варианты дополнительных вопросов системы при закрытии, тем самым инициируем безусловное завершение работы 1С после выполнения данной внешней обработки. Для верности опять запускаем программу и выполняем обработку и убеждаемся, что она отработала и программа сама закрылась.

Далее нам нужно запустить 1С с этой обработкой по расписанию, для этого я рекомендую создать файл, например avtozapusk1c.cmd, где напишем следующую командную строку:

«C:\Program Files (x86)\1cv8\8.3.5.хххх\bin\1cv8.exe» ENTERPRISE /DisableStartupMessages /FС:\путь к базе /N»ИмяПользователя» /P»ПарольПользователя» /Execute с:\путь к обработке\самаобработка.epf

Расшифруем:

1. «C:\Program Files (x86)\1cv8\8.3.5.хххх\bin\1cv8.exe» ENTERPRISE — сам движок 1С в данном случае 8.3, проверьте путь с себя сами, он отличается в зависимости от версии и движка в том числе и не забываем править его после обновления последнего.

2. /DisableStartupMessages — отключаем все сообщения при старте системы.

3. /FС:\путь к базе — /F и далее без пробела путь к нужной базе включая название каталога, где данные лежат.

4. /N»ИмяПользователя» /P»ПарольПользователя» — соответственно /N имя пользователя, также сразу без пробела и /P пароль.

5. /Execute с:\путь к обработке\самаобработка.epf — /Execute запускает нашу обработку, путь и название должно следовать после этого ключа.

Теперь все, остается только добавить в планировщик заданий наш cmd файл: avtozapusk1c.cmd, указав расписание его запуска.

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

Вот такие не хитрые инструменты помогают автоматизировать каждодневные рутинные операции, успехов Вам!

Мифодий