Добрый день.
УТ 11.1.7.49 . Серверный вариант.
Модуль обмена 5.0.0.8
Проблема: Не отключается регламентное задание, если в настройках обмена убрать галку "Использовать периодический обмен данными".
Через обработку "Регламентные и фоновые задания" видно, что даже после отключения галки "Использовать периодический обмен данными" в настройках обмена, задание остается активным, и отрабатывает по расписанию. Пишет логи в файл.
В форме узла есть в процедуре "ПередЗаписьюНаСервере" есть код который только создает регламентное задание, но нет кода который отключает.
Есть процедура которая удаляет регламентное задание, но она вызывается при удалении настройки.
А что делать если мне надо на время просто отключить регламентное задание для тестирования ??
Из-за этой ошибки очень часто повисают обмены, т.к. "отключенный" в настройках обмен все рано запускается по регламенту.
И эту ошибку я видел уже давно, в других ранних версиях, но решил написать только сейчас.
Чтоб исправить её надо добавить в процедуру "ПередЗаписьюНаСервере" в форме узла обмена Б_ОбменССайтом
вместо
[CODE]Если ТекущийОбъект.ИспользоватьРегламентныеЗадания Тогда
Если ТекущийОбъект.Код <> "" тогда
Задание = ТекущийОбъект.ПолучитьРегламентноеЗадание();
Если Задание = НеОпределено Тогда
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание("Б_ЗаданиеОбменССайтом");
Задание.Использование = Истина;
Задание.Ключ = Строка(Новый УникальныйИдентификатор);
Задание.Наименование = ТекущийОбъект.Наименование;
ТекущийОбъект.ИдентификаторРегламентногоЗадания = Задание.УникальныйИдентификатор;
КонецЕсли;
ПараметрыЗадания = Новый Массив;
ПараметрыЗадания.Добавить(ТекущийОбъект.Код);
Задание.Параметры = ПараметрыЗадания;
Задание.Расписание = РасписаниеРегламентногоЗадания;
Задание.Записать();
Иначе
Сообщить("Код настройки не прописался в регламентном задании. Необходимо переуказать регламентное задание настройку обмена");
КонецЕсли;
КонецЕсли;
[/CODE]следующий код
[CODE]Если ТекущийОбъект.ИспользоватьРегламентныеЗадания Тогда
Если ТекущийОбъект.Код <> "" тогда
Задание = ТекущийОбъект.ПолучитьРегламентноеЗадание();
Если Задание = НеОпределено Тогда
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание("Б_ЗаданиеОбменССайтом");
Задание.Использование = Истина;
Задание.Ключ = Строка(Новый УникальныйИдентификатор);
Задание.Наименование = ТекущийОбъект.Наименование;
ТекущийОбъект.ИдентификаторРегламентногоЗадания = Задание.УникальныйИдентификатор;
КонецЕсли;
ПараметрыЗадания = Новый Массив;
ПараметрыЗадания.Добавить(ТекущийОбъект.Код);
Задание.Параметры = ПараметрыЗадания;
Задание.Расписание = РасписаниеРегламентногоЗадания;
Задание.Использование = Истина;
Задание.Записать();
Иначе
Сообщить("Код настройки не прописался в регламентном задании. Необходимо переуказать регламентное задание настройку обмена");
КонецЕсли;
Иначе
Если ТекущийОбъект.Код <> "" тогда
Задание = ТекущийОбъект.ПолучитьРегламентноеЗадание();
Если Задание <> НеОпределено Тогда
Задание.Использование = Ложь;
Задание.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
[/CODE]
Или хотелось бы услышать от разработчиков как по другому у вас по предусмотрено отключение регламентного задания.
Спасибо.