||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | ||| | |||
Выгрузка категорий номенклатуры в .xml файл
  • prog 0. 04.02.2015, 6:34

    Здравствуйте! Помогите пожалуйста с кодом 1С выгружающим в .xml файл категории номенклатуры. Версия 1С 8.2 УТ 10.3
    Нужно чтобы файл получался таким
    <?xml version="1.0" encoding="UTF-8"?>
    <КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2013-02-09T22:35:56">
    <Классификатор>
    <Группы>
    <Группа>
    <Код>84d6cffb-6695-11e1-9628-0022156ae823</Код>
    <Наименование>25. Портативная электроника</Наименование>
    <Группы>
    <Группа>
    <Код>84d6d02b-6695-11e1-9628-0022156ae823</Код>
    <Наименование>02. Навигаторы</Наименование>
    </Группа>
    <Группа>
    <Код>11658121-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>04. Диктофоны</Наименование>
    </Группа>
    <Группа>
    <Код>11658145-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>06. Плееры, FM-модуляторы</Наименование>
    </Группа>
    <Группа>
    <Код>1165814b-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>07. Графические планшеты</Наименование>
    </Группа>
    </Группы>
    </Группа>
    <Группа>
    <Код>116580bf-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>46. Видеонаблюдение</Наименование>
    <Группы>
    <Группа>
    <Код>84d6cffc-6695-11e1-9628-0022156ae823</Код>
    <Наименование>01. Видеорегистраторы</Наименование>
    </Группа>
    <Группа>
    <Код>116580f5-f98b-11e0-9bbf-0022156ae823</ИдКод
    <Наименование>02. Камеры наблюдения</Наименование>
    </Группа>
    <Группа>
    <Код>1165810c-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>03. Блоки питания</Наименование>
    </Группа>
    <Группа>
    <Код>1165811f-f98b-11e0-9bbf-0022156ae823</Код>
    <Наименование>04. Аксессуары</Наименование>
    </Группа>
    </Группы>
    </Группа>
    </Группы>

    </Классификатор>
    </КоммерческаяИнформация>
    Вот пример кода, но он не делает то, что нужно. Вы можите мне помочь?
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл("C:/groups.xml");

    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ЗаписьXML.ЗаписатьНачалоЭлемента("КоммерческаяИнформация");

    // Записать атрибут элемента КоммерческаяИнформация
    ЗаписьXML.ЗаписатьАтрибут("ВерсияВыгрузки", "8.2");
    ЗаписьXML.ЗаписатьАтрибут("ДатаФормирования", Формат(ТекущаяДата(), "ДФ = ""дд.ММ.гггг ЧЧ:мм:сс""; ДП = ""..."""));
    ЗаписьXML.ЗаписатьНачалоЭлемента("Классификатор");
    ЗаписьXML.ЗаписатьНачалоЭлемента("Группы"); //Начинаем запись "<Группы>"
    //ЗаписьXML.ЗаписатьКомментарий("Элементы справочника:");

    ВыборкаГруппы = Справочники.Номенклатура.Выбрать();

    ПорядковыйНомер2 = 0;
    Пока ВыборкаГруппы.Следующий() Цикл
    Если ВыборкаГруппы.ЭтоГруппа Тогда
    ПорядковыйНомер2 = 1 + ПорядковыйНомер2;


    Если ВыборкаГруппы.Ссылка.Уровень() = 0 тогда
    ЗаписьXML.ЗаписатьНачалоЭлемента("Группа");

    ЗаписьXML.ЗаписатьНачалоЭлемента("Код");
    ЗаписьXML.ЗаписатьТекст(ВыборкаГруппы.Код);
    ЗаписьXML.ЗаписатьКонецЭлемента();

    ЗаписьXML.ЗаписатьНачалоЭлемента("Наименование");
    ЗаписьXML.ЗаписатьТекст(ВыборкаГруппы.Наименование);
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.ЗаписатьКонецЭлемента(); // <Группа>
    Иначе
    Сообщить("");
    КонецЕсли;


    Сообщить(строка(Формат(ПорядковыйНомер2, "ЧГ=0")) + ": Группа: " + ВыборкаГруппы.Наименование + ". Уровень группы: " + ВыборкаГруппы.Ссылка.Уровень());
    КонецЕсли;

    КонецЦикла;

    ЗаписьXML.ЗаписатьКонецЭлемента(); // Глобальный "<Группы>"
    ЗаписьXML.ЗаписатьКонецЭлемента(); // Классификатор
    ЗаписьXML.ЗаписатьКонецЭлемента(); // КоммерческаяИнформация
    ЗаписьXML.Закрыть();

Ответы
  • Ответов: 2
  • prog 1. 04.02.2015, 6:37

    >> он не делает то, что нужно
    а что он делает? smile
    где результат его работы или сообщение об ошибке?

  • prog 2. 04.02.2015, 6:38


    <КоммерческаяИнформация ВерсияВыгрузки="8.2" ДатаФормирования="11.02.2013 17:51:46">
    <Классификатор>
    <Группы>
    <Группа>
    <Код>00000008195
    <Наименование>25. Портативная электроника

    <Группа>
    <Код>00000000135
    <Наименование>46. Видеонаблюдение




    Он, т.е. "код 1С" формирует и сохраняет файл .xml с таким содержанием, т.е. выгружает группы ВыборкаГруппы.Ссылка.Уровень() = 0,
    а нужно чтоб было как в коде который указан вначале.

    Спасибо, что ответили на мое сообщение! Я очень вам благадарен.


Я Реклама

Веб-сайты на 1С! Сравнение рабочих макетов...