Имя: Пароль:
1C
1C 7.7
v7: Выгрузка в XML
0 Sohow
 
24.01.16
15:59
Приветствую вас, гуру 1С!

Если не затруднит, подскажите студенту пожалуйста, каким методом можно выгрузить в XML подчиненный элемент в виде:

<ДатаУчТов>01.01.2015</ДатаУчТов>


Мозг уже кипит!
Поясню на примере:

<?xml version="1.0" encoding="windows-1251" ?>
<Файл ИдФайл="Lab37" ВерсПрог="МояВыгрузка" ВерсФорм="1.00">
<Документ Индекс="0000001" ПризнСвед="1">
<иДанные СуммаДок="100.00">

<ДокСтр НомерПор="1" ДатаСчФПрод="01.01.2016" Стоим="30.00">
  <ДатаУчТов ДатаУчТов="01.01.2015" />
<СвПрод>
  <СведЮЛ ИННЮЛ="0000000000" КПП="0000000000" />
</СвПрод>
</ДокСтр>

<ДокСтр НомерПор="2" ДатаСчФПрод="05.01.2016" Стоим="70.00">
  <ДатаУчТов ДатаУчТов="05.01.2015" />
<СвПрод>
  <СведЮЛ ИННЮЛ="0000000001" КПП="0000000001" />
</СвПрод>
</ДокСтр>

</иДанные>
</Документ>
</Файл>
1 Sohow
 
24.01.16
16:10
Процедура ВыгрузкаXML();

    КаталогXML="C:\";
    ФайлXML="Lab37";
    ИмяФайлаXML = КаталогXML+ФайлXML+".xml";

    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll") <> 1 Тогда
        Предупреждение("Компонента v7plus.dll не найдена!");
        Возврат;
        КонецЕсли;    
    
                      
    XMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
    XMLКорневойРаздел = XMLАнализатор.СоздатьДокумент();

    ДанныеXML = XMLКорневойРаздел.СоздатьПодчиненныйЭлемент("Файл");
    ДанныеXML.УстановитьАтрибут("ИдФайл", ФайлXML);
    ДанныеXML.УстановитьАтрибут("ВерсПрог", "МояВыгрузка");
    ДанныеXML.УстановитьАтрибут("ВерсФорм", "1.00");
    
    Ветка1 = ДанныеXML.СоздатьПодчиненныйЭлемент("Документ");
    Ветка1.УстановитьАтрибут("Индекс", Док.Индекс);
    Ветка1.УстановитьАтрибут("ПризнСвед", Док.Свед);
        
    Ветка = Ветка1.СоздатьПодчиненныйЭлемент("иДанные");
    Ветка.УстановитьАтрибут("СумНДСВсКПк", ИтогСумма);
                                                                    
                                  
    ВыбратьСтроки();        
    Пока ПолучитьСтроку() = 1 Цикл
    
    Элемент1 =  Ветка.СоздатьПодчиненныйЭлемент("ДокСтр");    
    Элемент1.УстановитьАтрибут("НомерПор", Док.НомДок);
    Элемент1.УстановитьАтрибут("ДатаСчФПрод", Док.ДатаДок);
    Элемент1.УстановитьАтрибут("Стоим", Док.Сумма);
                                                            
    
    Элемент4 = Элемент1.СоздатьПодчиненныйЭлемент("ДатаУчТов");
        Элемент4.УстановитьАтрибут("КодВидОпер", Док.Учет);    
    
    
    Элемент2 = Элемент1.СоздатьПодчиненныйЭлемент("СвПрод");    
    Элемент3 = Элемент2.СоздатьПодчиненныйЭлемент("СведЮЛ");    
    Элемент3.УстановитьАтрибут("ИННЮЛ", Док.Контрагент.ИНН);
    Элемент3.УстановитьАтрибут("КПП", Док.Контрагент.КПП);

КонецЦикла;
2 Garykom
 
гуру
24.01.16
16:23
(0) например так

лТекст = СоздатьОбъект("Текст");
лТекст.ДобавитьСтроку("<ДатаУчТов>01.01.2015</ДатаУчТов>");
лТекст.Записать("блабла.xml");


ЗЫ и прикинь даже в 7.7 никаких доп ВК и прочих не надо да?

ЗЗЫ и для чтения тоже не обязательно
3 Sohow
 
24.01.16
16:36
(2) Оригинально, удобно и просто!
Как похоже на FoxPro!
4 Sohow
 
24.01.16
16:37
(2) И зачем я парюсь?
5 Garykom
 
гуру
24.01.16
16:37
(3) А Вам скоко лет то, что про FoxPro еще в курсе?
6 Garykom
 
гуру
24.01.16
16:38
(4) Вы это у нас спрашиваете?
7 Sohow
 
24.01.16
16:52
(6) Маменька моя работает в Крайстате, а они знаете, пишут еще на Visual Foxpro, так что я конкретно в теме!
8 Sohow
 
24.01.16
16:55
Разобрался, вместо

Элемент4 = Элемент1.СоздатьПодчиненныйЭлемент("ДатаУчТов");
Элемент4.УстановитьАтрибут("ДатаУчТов", Док.Учет);

пишем

Элемент4 = Элемент1.СоздатьПодчиненныйЭлемент("ДатаУчТов");
Элемент4.Значение = Док.Учет;
9 Garykom
 
гуру
24.01.16
17:04
(8) Если бы кто то разобрался в терминах и спросил вместо "как мне сделать эту фигню?"

Правильно: "как мне дату вместо записи в атрибут узла, записать в сам текст узла?"

то там бы уже >50% ответа содержалось не?