Имя: Пароль:
1C
 
Ошибка преобразования данных XDTO
0 Zixxx
 
13.12.21
11:42
Что-то не получается преобразовать ОбъектXDTO в Документ
Видимо где-то ошибка в типах "DocumentTabularSectionRow.Движение.Товары"
Пробовал по разному но не могу понять что не правильно?

Получаю ошибку
Ошибка преобразования данных XDTO:
НачалоСвойства: Товары Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/enterprise/current-config}DocumentTabularSectionRow.Движение.Товары

    Фабрика_Тип        = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "DocumentObject.Движение");
    Фабрика_Объект    = ФабрикаXDTO.Создать(Фабрика_Тип);
    Фабрика_Объект.Date            = ОбъектXDTO.Дата;
    Фабрика_Объект.DeletionMark    = ОбъектXDTO.ПометкаУдаления;
    Фабрика_Объект.Number        = ОбъектXDTO.Номер;
    Фабрика_Объект.Posted        = ОбъектXDTO.Проведен;
    Фабрика_Объект.Ref            = Документы.Движение.ПолучитьСсылку(Новый УникальныйИдентификатор(ОбъектXDTO.Идентификатор));
    Фабрика_Объект.ВидДокумента    = ОбъектXDTO.ВидДокумента;
    
    Если ОбъектXDTO.Свойства().Получить("Контрагент") <> Неопределено Тогда
        Фабрика_Объект.Контрагент    = Справочники.Контрагент.ПолучитьСсылку(Новый УникальныйИдентификатор(ОбъектXDTO.Контрагент));
    КонецЕсли;
    
    Если ОбъектXDTO.Свойства().Получить("Склад") <> Неопределено Тогда
        Фабрика_Объект.Контрагент    = Справочники.Склады.ПолучитьСсылку(Новый УникальныйИдентификатор(ОбъектXDTO.Склад));
    КонецЕсли;
    
    //Товары_Тип = Фабрика_Тип.Свойства.Получить("Товары").Тип;
    Товары_Тип = Фабрика_Объект.Товары.ВладеющееСвойство.Тип;
    
    Товары = ОбернутьОбъектВМассив(ОбъектXDTO.Товары);
    Для Каждого СтрокаТовара Из Товары Цикл
        
        Товары_Объект = ФабрикаXDTO.Создать(Товары_Тип);
        Товары_Объект.Номенклатура        = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаТовара.Номенклатура));
        Товары_Объект.Характеристика    = Справочники.Характеристика.ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаТовара.Характеристика));
        Товары_Объект.Количество        = СтрокаТовара.Количество;
        Товары_Объект.Цена                = СтрокаТовара.Цена;
        Товары_Объект.Сумма                = СтрокаТовара.Сумма;
        
        Фабрика_Объект.Товары.Добавить(Товары_Объект);
        
    КонецЦикла;
    
    ДокументОбъект = СериализаторXDTO.ПрочитатьXDTO(Фабрика_Объект);
    ДокументОбъект.ОбменДанными.Загрузка = Истина;
    ДокументОбъект.Записать();