Краткое описание :
Некорректная работа пакетного формирования ДО после
установки обновленияОписание :
Что измененно :
После установки обновления L_MakeDO 9.1.74.0 не работает
пакетное создание ДО по накладным/актам - получаем ошибку «Ошибка загрузки
пересчета ДО ExFieldNotValid (ExVip)». ДО не создается. Ошибка проявляется
только на собственных доработках. Причины. В CompSrc\L\L_MakeDO\vip\DO_gen.vpp
добавлена новая функция Function CheckObjSchet(_VidDoc : word) : string,
которая проверяет, нормально ли загружены используемые объектные интерфейсы. В
блоке _except в этой функции помимо нужных исключений (ExObjIfcNoLoad,
ExObjIfcNoImpl, ExObjIfcBadVar) добавлена еще и ветка else, отлавливающая и
запрещающая дальнейшую работу при появлении всех остальных исключений, в том
числе не критичных, которые при работе вне блока _try…_except никаких сообщений
не выдают (ExFieldNotValid, ExStringOverflow и т. д.). Лучше эту ветку else
убрать, т. к. ее наличие ведет к появлению ошибок в данном интерфейсе при
вполне обычных изменениях в других, на первый взгляд совершенно не связанных.
Как измененно :
try else в CheckObjSchet теперь пишет в переменную
sCheckObjSchet_LastErr, а также в fplog. При этом сама функция возвращает "".
Но ошибки нужно убирать - либо с использованием своих блоков обработки
исключений, либо проверяя на валидность через IsValid для ExFieldNotValid.