В конфигурации использовался перенос данных в идентичную конфигурацию, с помощью стандартной обработки "УниверсальныйОбменДаннымиXML" в режиме прямого подключения (не файлом) к БД-приемнику. Обработка вызывалась программно (не интерактивно), заполнялись реквизиты и автоматически включался перенос вызовом "ВыполнитьВыгрузку()".
После обновления перенос перестал работать, более того, появились странные вылетания процесса 1С.
Анализ показал следующее -
В технологическом журнале ловится эксепшн "EXCP" со следующим контекстом:
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта : 12139 : ЗаписатьВПротоколВыполнения("Начало загрузки: " + ТекущаяДата(), , Ложь, , , Истина);
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта : 1476 : СообщитьПользователю(ИтоговаяСтрокаДляЗаписи);
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта : 14044 : Сообщение.Сообщить();
И это не смотря на то, что "ВыводВОкноСообщенийИнформационныхСообщений" принудительно устанавливается в Ложь.
Похоже, что обработка не смотрит на этот флаг. Или я чего-то не понимаю.
В итоге, проблема решилась обрамлением вызова Сообщение.Сообщить() в директиву "#Если Клиент Тогда"
А, ведь, в предыдущей версии все вызовы "Сообщить" (там не использовалось сообщение пользователю) были обрамлены в "#Если Клиент Тогда". Но в новой версии это убрали.
ЗАЧЕМ???
Итог. Убил кучу времени, проклял все 1С и ближайших родственников.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.