Имя: Пароль:
1C
 
по схеме Макет XSD создать xml, не пойму что не так
0 ig0z
 
12.03.21
12:41
СтрокаXML = Справочники.Активы.ПолучитьМакет("СхемаXSD").ПолучитьТекст();
    ЧтениеXML = Новый ЧтениеXML;    
    ЧтениеXML.УстановитьСтроку(СтрокаXML);
    Построитель = Новый ПостроительDOM;
    Документ = Построитель.Прочитать(ЧтениеXML);
    ПостроительСхемы = Новый ПостроительСхемXML;
    Схема = ПостроительСхемы.СоздатьСхемуXML(Документ.ЭлементДокумента);    
    НаборСхем = Новый НаборСхемXML;
    НаборСхем.Добавить(Схема);
    СвояФабрикаXDTO = Новый ФабрикаXDTO(НаборСхем);
    
    АктивыВСистеме = СвояФабрикаXDTO.Тип("www.avancore.ru/assets", "АктивыВСистеме");
    АктивыВСистемеОб = СвояФабрикаXDTO.Создать(АктивыВСистеме);
    АктивыВСистемеОб.ДатаВыгрузки = ТекущаяДата();
    
    Активы = СвояФабрикаXDTO.Тип("www.avancore.ru/assets", "Активы");
    АктивыОб = СвояФабрикаXDTO.Создать(Активы);
    Актив = СвояФабрикаXDTO.Тип("www.avancore.ru/assets", "Актив");
    
    Для Каждого Элемент Из ПараметрКоманды Цикл
        
        АктивОб = СвояФабрикаXDTO.Создать(Актив);        
        АктивОб.Наименование = Элемент.Наименование;
        АктивОб.ISIN = Элемент.ISIN;
        
        АктивыОб.Актив.Добавить(АктивОб);
                
    КонецЦикла;
    
    АктивыВСистемеОб.Активы = АктивыОб;
    
    Запись =  Новый ЗаписьXML;
    ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8", "1.0");    
    Запись.ОткрытьФайл(КаталогВременныхФайлов()+"Test.xml", ПараметрыЗаписи);
    Запись.ЗаписатьОбъявлениеXML();
    
    ФабрикаXDTO.ЗаписатьXML(Запись,АктивыВСистемеОб,,,, НазначениеТипаXML.Явное);
    
    ДанныеХМЛ = Запись.Закрыть();
    
    Сообщить("Создан файл: " + КаталогВременныхФайлов()+"Test.xml");


//ошибка
{Справочник.Активы.Команда.ВыгрузкаАктивов.МодульКоманды(50)}: Ошибка при вызове метода контекста (ЗаписатьXML)
    ФабрикаXDTO.ЗаписатьXML(Запись,АктивыВСистемеОб,,,, НазначениеТипаXML.Явное);
по причине:
Несоответствие типов XDTO:
Тип '{www.avancore.ru/assets}АктивыВСистеме' не найден
Тип принадлежит пакету, отсутствующему в фабрике типов XDTO

где это дополнительно указать?
1 acht
 
12.03.21
13:20
Ты используешь не ту фабрику для записи
2 ig0z
 
12.03.21
13:39
(1) О_О а какую нада?
3 acht
 
12.03.21
13:42
(2) Ту, которая содерждит информацию о пакетах. Ты же ее именно для этого и создавал.
4 ig0z
 
12.03.21
13:43
блииин точно не ФабрикаXDTO в СвояФабрикаXDTO
5 ig0z
 
12.03.21
13:44
Премного благодарен (1)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой