Имя: Пароль:
1C
1С v8
Выгрузка из 1С в YML
,
0 jamesgold
 
26.10.16
09:07
Добрый день, прошу помочь!

Стандартные атрибуты вроде нормально записываются:
Файл_XML = Новый ЗаписьXML;
Файл_XML.ОткрытьФайл(АдресФайла, "windows-1251");

Файл_XML.ЗаписатьОбъявлениеXML();    
Файл_XML.ЗаписатьНачалоЭлемента("offers");
Файл_XML.ЗаписатьНачалоЭлемента("offer");
Файл_XML.ЗаписатьАтрибут("id", Строка(Результат.Ссылка.код));

Файл_XML.ЗаписатьКонецЭлемента();
Файл_XML.Закрыть();

Может кто поделиться рабочим кодом выгрузки из 1с в YML?
Интересует также как заполнить параметры в файле выгрузки:
<param name="Тип">12344</param>
1 jamesgold
 
26.10.16
09:21
Кто-нибудь сталкивался?
2 experimentator76
 
26.10.16
09:37
(0) код сверху на доработку
3 jamesgold
 
26.10.16
09:41
По YML уже все написал, что я накидал в обработке
4 jamesgold
 
26.10.16
09:42
Там атрибутов просто много, но заполняются то одинаково. Проблема с параметрами.
5 jamesgold
 
26.10.16
09:42
Файл_XML.ЗаписатьАтрибут("param name=""Подтип""", Подтип); В таком виде ругается
6 jamesgold
 
26.10.16
09:49
Недопустимое имя XML ругается
7 jamesgold
 
26.10.16
09:55
ап
8 Serginio1
 
26.10.16
10:04
Файл_XML.ЗаписатьТекст("12344");
9 Serginio1
 
26.10.16
10:06
10 Serginio1
 
26.10.16
10:08
11 jamesgold
 
26.10.16
10:15
Файл_XML.ЗаписатьТекст("12344");
Сформировать в виде текста?
<param name="Тип">12344</param>
12 Serginio1
 
26.10.16
10:19
Файл_XML.ЗаписатьНачалоЭлемента("param ");
Файл_XML.ЗаписатьАтрибут("name", "Тип");
Файл_XML.ЗаписатьТекст("12344");
Файл_XML.ЗаписатьКонецЭлемента();
13 jamesgold
 
26.10.16
10:34
Ругается
Файл_XML.ЗаписатьТекст("<param name=""Тип"">"+Строка(Результат.Тип)+"</param>");
Ошибочный порядок записи XML
14 jamesgold
 
26.10.16
10:35
(12) Пробую
15 jamesgold
 
26.10.16
10:46
Так тоже ругается:


Результат = Запрос.Выполнить().Выбрать();
    
Пока Результат.Следующий() цикл                            
        
        Файл_XML.ЗаписатьНачалоЭлемента("offer");
        Файл_XML.ЗаписатьАтрибут("id", Строка(Результат.Ссылка.код));  
            
        
        Файл_XML.ЗаписатьНачалоЭлемента("param");
        Файл_XML.ЗаписатьАтрибут("name", "Тип");
        Файл_XML.ЗаписатьТекст(Строка(Результат.Тип));
        Файл_XML.ЗаписатьКонецЭлемента();
                
                              
        Файл_XML.ЗаписатьКонецЭлемента();
    КонецЦикла;
    
Файл_XML.ЗаписатьКонецЭлемента();
Файл_XML.Закрыть();
16 Serginio1
 
26.10.16
10:58
https://helpf.pro/faq/view/432.html


Правильно, ты же не там конец элемента поставил

Результат = Запрос.Выполнить().Выбрать();
    
Пока Результат.Следующий() цикл                            
        
        Файл_XML.ЗаписатьНачалоЭлемента("offer");
        Файл_XML.ЗаписатьАтрибут("id", Строка(Результат.Ссылка.код));  
            
        
        Файл_XML.ЗаписатьНачалоЭлемента("param");
        Файл_XML.ЗаписатьАтрибут("name", "Тип");
        Файл_XML.ЗаписатьТекст(Строка(Результат.Тип));
        Файл_XML.ЗаписатьКонецЭлемента();
                
                              
        Файл_XML.ЗаписатьКонецЭлемента();
Файл_XML.ЗаписатьКонецЭлемента();
    КонецЦикла;
    

Файл_XML.Закрыть();
17 Serginio1
 
26.10.16
11:00
Тьфу Не то. Для начал проверь
https://helpf.pro/faq/view/432.html
18 jamesgold
 
26.10.16
11:17
Serginio1, огромное спасибо! Работает!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.