При некоторой заскорузлости описания в учебнике 1С. Документация мне так и не дала мне ответа, почему я сделал все как написано, но задание так и не запускается. Моя проблема оказалась в том, что регламентное задание запускается как внешнее соединение и в этом режиме все обращения к визуальным элементам считаются "ошибка выполнения" при этом консоль сервера не дает ответа, что случилось с запускаемым заданием. Ответ на этот вопрос дала универсальная обработка с диска ИТС "КонсольСервера", с помошью которой можно не только просматривать статистику работы запущенных задач (имхо по крайней мере, сообщение о том, что выполнение задачи было прервано на строке Х и произошла ошибка Ч, было для меня большущим подспорьем). Кроме того, ошибка может быть даже и не в процедуре регламентного задания, а в какой либо другой и увидеть это без обработки крайне сложно.
В общем подитожу:
1. Модули помеченные галочкой внешние соединение, должны содержать только те процедуры и функции которые необходимы для функционирования регламентной процедуры.
2. Обязательно иметь под руками обработку "Консоль сервера", чтобы иметь возможность контролировать ход выполнения заданий.
3. Помнить, что в случае клиент-сервера, планировщиком выступит сервер приложений, а для случая файл-сервера должен функционировать отдельное приложение, которое должно заниматься опросом:
Процедура ОбработкаЗаданий()
ВыполнитьОбработкуЗаданий();
КонецПроцедуры
ПодключитьОбработчикОжидания("ОбработкаЗаданий", 3);
* This source code was highlighted with Source Code Highlighter.
После запуска данной обработки, при открытии ее формы, выполняется подключение в качестве обработчика ожидания процедуры "ОбработкаЗаданий", которая будет вызываться каждые 3 секунды и, в свою очередь, вызывать метод "ВыполнитьОбработкуЗаданий()". Данный метод проверяет, пришло ли время выполнять задания согласно их расписанию. Если да - то он запускает эти задания на выполнение. Открытие созданной обработки по запуску регламентных заданий не рекомендуется осуществлять в том же соединении, где выполняется основная работа с информационной базой. Для подобной задачи лучше использовать отдельное соединение с той же базой. Более подробно данный вопрос освещен, например, в книге М.Радченко "1С:Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы", глава 12, стр.288.
Комментариев нет:
Отправить комментарий