Имя: Пароль:
1C
1С v8
Чтение из XML в объект XDTO - ругается на недостающе тэги
0 nicxxx
 
16.10.15
18:03
Добрый день. Подскажите, плиз, есть ли возможность читать объект XDTO не целиком по схеме, а только те тэги, что есть в наличии в файле? Т.е. в схеме определено 10 полей, а фактически выгружается 8, т.к. 2 оставшихся в текущем контексте смысла не имеют.

фрагмент кода:

Чтение = Новый ЧтениеXML;
Попытка
    Чтение.ОткрытьФайл(Файл);
Исключение
    Возврат Неопределено;
КонецПопытки;

Чтение.Прочитать(); //читаем заголовок. его надо пропустить
Чтение.Прочитать(); //читаем тэг <document>

Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл
    Данные = ФабрикаXDTO.ПрочитатьXML(Чтение); <------ругается тут.

пример ошибки:

{ВнешняяОбработка.ИмпортXML_модуль.МодульОбъекта(286)}: Ошибка при вызове метода контекста (ПрочитатьXML): Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {xbd}Account
Проверка свойства 'AccountType':
    форма: Элемент
    имя: {xbd}AccountType
    тип: {http://www.w3.org/2001/XMLSchema}string
Отсутствует обязательное свойство
1 Apokalipsec
 
16.10.15
18:56
Сделать их не обязательными в схеме?
2 Записьдампа
 
16.10.15
18:56
Возможность есть, но прочитать объект, относящийся к типу текущей конфигурации нельзя.
3 Записьдампа
 
16.10.15
18:58
А судя по использованию глобальной фабрики и имени типа ты этого и хочешь. Смирись =)
4 nicxxx
 
16.10.15
19:11
уже разобрался. сделал их необязательными в схеме. В пакете XDTO в поле "Минимальное количество" нужно поставить 0 (по-умолчанию там указано 1)