Как проверить и отладить выполнение регламентного задания в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

При разработке и настройке механизмов автоматического обмена данными — например, выгрузки XML-файлов на FTP-сервер — часто возникает необходимость проверить правильность работы регламентного задания. Поскольку фоновые задания выполняются на сервере в изолированном сеансе без участия пользователя, их отладка и контроль имеют свои особенности. Рассмотрим подробнее, как проверить запуск и выполнение регламентированных операций в конфигурации 1С:Управление торговлей 11.1.

1. Проверка через типовой интерфейс управления регламентными заданиями

В конфигурациях на базе Библиотеки Стандартных Подсистем (БСП), к которым относится УТ 11.1, предусмотрена встроенная панель администрирования. Разберем по шагам, как проконтролировать задание из пользовательского режима:

  1. Перейдем в подсистему Администрирование, далее откроем пункт Обслуживание и выберем Регламентные и фоновые задания.
  2. Найдем в списке нужную выгрузку и проверим колонки состояния: дату и время последнего запуска, текущий статус и длительность выполнения.
  3. Для оперативной проверки не требуется ждать расписания — воспользуемся кнопкой Выполнить сейчас. Задание будет сразу запущено в фоновом режиме.
  4. В случае возникновения ошибок платформенного или программного характера их текст отобразится в поле описания состояния.

2. Фиксация событий в журнале регистрации

Чтобы отслеживать этапы выполнения выгрузки и фиксировать промежуточные результаты (например, количество выгруженных объектов или текст ошибки отправки на FTP), запишем отладочную информацию в Журнал регистрации. Проанализируем пример кода для записи сообщений:


ЗаписьЖурналаРегистрации(
	"ВыгрузкаНаFTP",
	УровеньЖурналаРегистрации.Информация,
	,
	,
	"Начало выполнения выгрузки XML-файла."
);

Если в процессе формирования XML или подключения к FTP происходит сбой, поймаем ошибку в блоке обработки исключений и сохраним детали:


Попытка
	// Код формирования XML и отправки на FTP
	FTPСоединение = Новый FTPСоединение(АдресСервера, Порт, Пользователь, Пароль, , Истина);
	FTPСоединение.Записать(ИмяВременногоФайла, ПутьНаСервере);
Исключение
	ЗаписьЖурналаРегистрации(
		"ВыгрузкаНаFTP",
		УровеньЖурналаРегистрации.Ошибка,
		,
		,
		ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())
	);
КонецПопытки;

3. Отладка серверного кода регламентного задания

Выясним причину, почему стандартные точки останова могут не срабатывать при вызове метода из фонового задания. Дело в том, что фоновые процессы исполняются в отдельном серверном сеансе. Чтобы выполнить отладку в Конфигураторе, настроим автоматическое подключение:

  1. В Конфигураторе откроем пункт меню Отладка -> Подключение....
  2. Нажмем кнопку Автоматическое подключение....
  3. В появившемся окне установим флаг Фоновые задания и подтвердим выбор.
  4. Если используется клиент-серверный вариант работы базы, убедимся, что служба агента 1С:Предприятия запущена с ключом -debug.

В конфигурациях с БСП также можно использовать параметр отладки РежимОтладки. В этом режиме код регламентных заданий исполняется непосредственно в текущем пользовательском сеансе, что позволяет сразу отслеживать значения переменных без дополнительной настройки отладчика.

4. Ключевые технические нюансы при работе с FTP и файлами на сервере

Посмотрим на особенности, которые необходимо учитывать при реализации регламентной выгрузки:

  1. Серверный контекст: Попытки вызова клиентских процедур, интерактивных диалогов или обращения к местным дискам пользователя приведут к ошибке. Формирование файлов следует производить во временном каталоге сервера с использованием функции КаталогВременныхФайлов().
  2. Права доступа: Служба сервера 1С:Предприятия по умолчанию работает от имени пользователя usr1cv8. Этот пользователь должен иметь права на чтение и запись в каталоги файловой системы сервера, а также доступ в сеть.
  3. Пассивный режим FTP: При создании объекта FTPСоединение рекомендуется устанавливать параметр пассивного режима в Истина, чтобы избежать блокировки сетевых портов брандмауэром.
  4. Файловый режим работы: Помним, что в файловых базах регламентные задания запускаются только при наличии хотя бы одного активного сеанса пользователя.
← На главную