Обсуждение
Выгрузка категорий номенклатуры в .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С! Сравнение рабочих макетов...