Ошибка передачи БИК из УНФ 3.0 в БП 3.0
При обмене происходит сбой из-за длинного (более 9 символов БИК):
Направление: Отправка.
ПОД: Справочник_БанковскиеСчета_Отправка.
ПКО: Справочник_БанковскиеСчета_Отправка.
Объект: Справочник объект: Банковские счета, ***).
Ошибка формирования объекта XDTO: Тип свойства <КлючевыеСвойства>. Имя свойства: <КлючевыеСвойства>.
Ошибка формирования объекта XDTO: Тип свойства <КлючевыеСвойства>. Имя свойства: <Банк>.
Ошибка формирования объекта XDTO: Тип свойства <ОбщееСоставноеСвойство>. Имя свойства: <ДанныеКлассификатораБанков>.
Ошибка формирования объекта XDTO: Тип свойства <ОбычноеСвойство>. Имя свойства: <БИК>
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: 'BK***** ' не соответствует простому типу:
Несоответствие фасету MaxLength = '9'
Процедура отправки банка выглядит так в модуле МенеджерОбменаЧерезУниверсальныйФормат:
Видно, что есть ошибка. Длина кода банка — 11 символов, они все и выгружаются с пробелом.
Соответственно, исправление выглядит так:
&Вместо("ПКО_Справочник_Банки_ПриОтправкеДанных") Процедура дор_ПКО_Справочник_Банки_ПриОтправкеДанных(ДанныеИБ, ДанныеXDTO, КомпонентыОбмена, СтекВыгрузки) ПродолжитьВызов(ДанныеИБ, ДанныеXDTO, КомпонентыОбмена, СтекВыгрузки); Если ДанныеXDTO.Свойство("БИК") Тогда ДанныеXDTO.БИК = Лев(ДанныеXDTO.БИК, 9); КонецЕсли; КонецПроцедуры
Но, оказалось, что так не работает, потому что расширять надо модуль ОбменДаннымиXDTOСервер:
&Вместо("ОбъектXDTOИзДанныхXDTO") Функция дор_ОбъектXDTOИзДанныхXDTO(КомпонентыОбмена, Знач Источник, Знач ТипXDTO, СсылкиИзОбъекта, ПроведеноЗаполнениеСвойств, Знач Расширения) //Ориентируюсь просто на название свойства, в будущем можно проверять тип объекта, конечно //Тип XDTO (ТипОбъектаXDTO) {http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.10}ОбщиеСвойстваДанныеКлассификатораБанков Если ТипЗнч(Источник) = Тип("Структура") И Источник.Свойство("БИК") Тогда Источник.БИК = Лев(Источник.БИК, 9); КонецЕсли; Результат = ПродолжитьВызов(КомпонентыОбмена, Источник, ТипXDTO, СсылкиИзОбъекта, ПроведеноЗаполнениеСвойств, Расширения); Возврат Результат; КонецФункции
Каким-то образом БИК выгружается из другого места. Выявил только отладкой по точке останова возникновения ошибки с текстом XDTO.
Среда: УНФ 3.0.4.88 Объем: 0.5 час.
Свежие комментарии