Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> При чтении XML в ФабрикаXDTO теряется часть атрибутов          
zay Подменю пользователя
сообщение 08.12.25, 12:57
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 173
Из: Киев
Спасибо сказали: 144 раз
Рейтинг: 152.5

Добрый день
Версия технологической платформы 8.3.10.2375

В конфигурации есть XDTO-пакет, большинство объектов XDTO содержат избыточное количество свойств, при создании объекта большая часть из них не заполняется. Но после создания этих объектов XDTO, в программном коде идет их обработка и обращение к свойствам. Это не вызывает проблем если создавать и заполнять новые объекты XDTO. Но попробовал выгружать их, а потом загружать из файла XML, все незаполненные свойства не выгружались в файл и при загрузке в объект их просто нет

Вопрос: можно ли загрузить XDTO объекты в структуру XDTO-пакет, чтобы там были все свойства?
Или надо загружать в промежуточную структуру XDTO, и заново создавать все объекты XDTO, заполняя их загруженными значениями?

Выгрузил XDTO-пакет в XSD-схему и загружаю так:
    Перем ИмяФайлаXML;
    
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбораФайла.Заголовок     = "Вибір XML файлу";
    ДиалогВыбораФайла.Фильтр        = "XML|*.xml;*.XML";
    
    Если ДиалогВыбораФайла.Выбрать() Тогда
        ИмяФайлаXML = ДиалогВыбораФайла.ПолноеИмяФайла;    
    Иначе
        Возврат;
    КонецЕсли;
    
    Пакеты = Новый Массив;
    Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://www.w3.org/2001/XMLSchema-instance"));
    Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("https://tax.gov.ua/elektronna-zvitnist"));
    
      МояФабрикаXDTO = СоздатьФабрикуXDTO("C:\1C\My.xsd", Пакеты);    
    
    ФайлXML = Новый ЧтениеXML;
    
    ФайлXML.ОткрытьФайл(ИмяФайлаXML);
    
    МояСтруктураXDTO = МояФабрикаXDTO.ПрочитатьXML(ФайлXML, МояФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema-instance", "MyFile"));
    
    ФайлXML.Закрыть();


Сообщение отредактировал zay - 08.12.25, 13:00

andytg Подменю пользователя
сообщение 09.12.25, 12:34
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 225
Из: Киев
Спасибо сказали: 71 раз
Рейтинг: 64.8


вот это -- не ваш случай?

[необходимо зарегистрироваться для просмотра ссылки]

[необходимо зарегистрироваться для просмотра ссылки]

Спасибо сказали: zay,

zay Подменю пользователя
сообщение 11.12.25, 10:57
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 173
Из: Киев
Спасибо сказали: 144 раз
Рейтинг: 152.5

andytg @ 09.12.25, 12:34 * ,
Это не то. По указаным ссылкам люди загружают XML просто
МояФабрикаXDTO.ПрочитатьXML(ФайлXML);
, у них 1С сама создает структуру на основе структуры файла. Я же хочу при загрузке задать уже готовую струтуру на основе XSD-схемы, чтобы при загрузке она просто заполнялась, а не пересоздавалась 1С. В XML файле отсутствуют свойства которые я хочу загрузить со значениями Неопределено

Сообщение отредактировал zay - 11.12.25, 10:58

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 14.04.26, 7:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!