Никогда раньше не создавал свои регламентные задания, поэтому пришлось нелегко. Думал, что добавлю в конфигураторе новое регламентное задание и все заработает. Ан нет.
Забегая вперед скажу, что не знал о том, что в типовых конфигурациях есть в настройках программы специальный раздел для настройки регламентных заданий. Вот поэтому и стал лазить по конфигуратору.
В общем была файловая версия базы, в которой надо было запустить через регламентное задание внешнюю обработку. Приложение не управляемое.
В файловой версии регламентные задания нужно вызывать специальной командой ВыполнитьОбработкуЗаданий(). Эту команду в свою очередь тоже нужно вызывать. Луше сразу код приведу:
Процедура ПриНачалеРаботыСистемы() ПодключитьОбработчикОжидания("ХА_ВыполнитьОбработкуЗаданий", 60); КонецПроцедуры Процедура ХА_ВыполнитьОбработкуЗаданий() Экспорт ВыполнитьОбработкуЗаданий(); КонецПроцедуры
Всего этого можно избежать, если зайти в настройки программы и там указать пользователя, под которым будут запускаться регламентные задания.
Теперь запуск обработки. Создал общий модуль, в котором написал следующее:
Процедура ХА_ВыгрузитьНаСайт() Экспорт ВнешняяОбработка = ВнешниеОбработки.Создать("C:\export.epf"); ВнешняяОбработка.Выгрузить(); КонецПроцедуры
Где Выгрузить() - это экспортная функция обработки. Все вроде просто, но сначала меня смутила вот такая конструкция, которая у меня не заработала. Порывшись по интернету где-то нашел, что это работает на управляемом приложении.
Отправить комментарий