Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Выгрузка из 1С в YML

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


Результат = Запрос.Выполнить().Выбрать();
    
Пока Результат.Следующий() цикл                            
        
        Файл_XML.ЗаписатьНачалоЭлемента("offer");
        Файл_XML.ЗаписатьАтрибут("id", Строка(Результат.Ссылка.код));  
            
        
        Файл_XML.ЗаписатьНачалоЭлемента("param");
        Файл_XML.ЗаписатьАтрибут("name", "Тип");
        Файл_XML.ЗаписатьТекст(Строка(Результат.Тип));
        Файл_XML.ЗаписатьКонецЭлемента();
                
                              
        Файл_XML.ЗаписатьКонецЭлемента();
    КонецЦикла;
    
Файл_XML.ЗаписатьКонецЭлемента();
Файл_XML.Закрыть();
   Serginio1
 
16 - 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.Закрыть();
   Serginio1
 
17 - 26.10.16 - 11:00
Тьфу Не то. Для начал проверь 
https://helpf.pro/faq/view/432.html
   jamesgold
 
18 - 26.10.16 - 11:17
Serginio1, огромное спасибо! Работает!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует