0
SpellKeeper
16.04.19
✎
14:06
|
Добрый день.
Второй день занимаюсь XDTO и XML. Толком пока ничего не понимаю.
Вот какой вопрос.
Сделал пакет XDTO в конфигураторе.
Пакет использует только простые типы.
Сделал выгрузку в файл. При выгрузке проверяю типы данных в объекте XDTO. Кроме строковых там есть типы Дата, Булево и Число.
При чтении данных все параметры приходят в виде строки.
Это нормально? Или я что-то не так сделал и у меня пакет читается с ошибками? И на самом деле в структуру должны четко вернуться типы, которые прописаны в пакете?
|
|
2
RomaH
naïve
16.04.19
✎
15:14
|
ЧтениеХМЛ = Новый ЧтениеXML;
ЧтениеХМЛ.ОткрытьФайл(ИмяФайла);
ТипПациент = ФабрикаXDTO.Тип(";, "patient");
ТипПерсональныйСчет = ФабрикаXDTO.Тип(";, "personal_account");
ВсегоПациентов = 0;
Пока ЧтениеХМЛ.Прочитать() Цикл
Пока ЧтениеХМЛ.ЛокальноеИмя = "patient" И ЧтениеХМЛ.ТипУзла = ТипУзлаXML.НачалоЭлемента И ВсегоПациентов < 2000 Цикл
ВсегоПациентов = ВсегоПациентов + 1;
Попытка
Данные = ФабрикаXDTO.ПрочитатьXML(ЧтениеХМЛ,ТипПациент);
|
|
4
SpellKeeper
16.04.19
✎
15:27
|
Спасибо за ответы, но я спрашивал не что конкретно у меня не так (я бы код написал), а правильно ли вообще, что при чтении возвращались все поля с типом строка, если записывались разные типы?
Выяснилось, что это не правильно.
У меня данные были выгружены из 1С и туда же загружались. Поэтому пакет XDTO должен нормально переварить все данные в типы 1С.
Нужно правильно тип указывать. Если 1С не смогла однозначно определиться с типом, то она все в строку конвертирует.
Не уверен, но, похоже, что если тип объекта XDTO и свойство объекта XDTO называются одинаково, то она не может правильно определить тип данных.
|
|