1C-Company / DirectBank

DirectBank (прямой обмен с банком) – новая технология системы "1С:Предприятие 8"
51 stars 22 forks source link

Как сформировать выписку в XML, чтобы избежать ошибки "Значение не является значением объектного типа (СтатусСоставителя)"? #60

Closed pintov closed 4 years ago

pintov commented 4 years ago

Добрый день!

При формировании XML по схеме ClientBankExchange мы можем не указывать тэг ПлатежиВБюджет. Но если мы не указываем тэг ПлатежиВБюджет, то в методе ОбменСБанкамиСлужебный.ПрочитатьВыпискуXDTO возникает ошибка "Значение не является значением объектного типа (СтатусСоставителя)" в следующем коде:

Если НЕ ЭлементПлатежа.РеквизитыПлатежа = Неопределено Тогда
    РеквизитыПлатежа.Добавить(ЗначениеЗаполнено(ЭлементПлатежа.ПлатежиВБюджет.СтатусСоставителя), "ЭтоПлатежВБюджет");
    ...
КонецЕсли;

Если же мы указываем тэг ПлатежиВБюджет, то нет возможности оставить пустым СтатусСоставителя, чтобы реквизит платежа ЭтоПлатежВБюджет был Ложь. Если поместить в СтатусСоставителя два пробела, то всё равно получаем ошибку при десериализации XML.

Проблема начала проявляться в БП 3.0.77.78

SevDmitry commented 4 years ago

Проблема известна и будет исправлена в ближайшей версии. Необходимо в схеме ClientBankExchange сделать необязательными все поля в группе ПлатежиВБюджет

pintov commented 4 years ago

К сожалению, в новом релизе 3.0.77.89 проблема сохранилась. Проблема блокирует функционал получения банковских выписок. Скажите, пожалуйста, когда планируется устранить проблему?

SevDmitry commented 4 years ago

Был опубликован патч EF_00_00293663. На завтра запланирована публикация новой версии БП 3.0.77.91 с исправлением этой проблемы

pintov commented 4 years ago

К сожалению, в релизе 3.0.77.95 ни чего не изменилось и мы по прежнему имеем проблему с получением выписок. Дмитрий, уточните, пожалуйста когда планируется исправить проблему? image

SevDmitry commented 4 years ago

Минимальное количество 0. Если банк прислал пустое значение, то это ошибка банка.

pintov commented 4 years ago

Спасибо.