ЗаписьXML=Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();
ЗаписьXML.ЗаписатьНачалоЭлемента("yml_catalog");
ЗаписьXML.ЗаписатьАтрибут("date", Формат(ТекущаяДата(),"ДФ='yyyy-MM-dd HH:mm:ss'"));
ЗаписьXML.ЗаписатьНачалоЭлемента("shop");
ЗаписьXML.ЗаписатьАтрибут("name", НашеНаименованиеМагазина));
ЗаписьXML.ЗаписатьАтрибут("company", НашеНаименованиеФирмы));
итд....
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
СтрокаXML=ЗаписьXML.Закрыть();
Процедура СохранитьВКаталог(ВыборкаТоваров) Экспорт
// Проверим существование папки для записи изображений
Если ЛокальнаяВыгрузка = Ложь Тогда
Каталог = "C:\1C";
КонецЕсли;
ПутьКИзображениям =Каталог + "\Picture\";
КоличествоВыгруженныхТоваров = 0;
ПапкаКатолога = Новый Файл(Каталог);
Если Не ПапкаКатолога.Существует() Тогда
СоздатьКаталог(ПутьКИзображениям);
КонецЕсли;
ПапкаХранилища = Новый Файл(ПутьКИзображениям);
// Очищаем каталог перд загрзузкой новых файлов
Если Не ПапкаХранилища.Существует() Тогда
СоздатьКаталог(ПутьКИзображениям);
Иначе
Попытка
УдалитьФайлы(ПутьКИзображениям,"*.*");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
ЗаписьХМL = Новый ЗаписьXML;
ЗаписьХМL.ОткрытьФайл(Каталог + "\" + Организация + ".xml");
// Записать директиву
ЗаписьХМL.ЗаписатьОбъявлениеXML();
//ЗаписьХМL.ЗаписатьНачалоЭлемента(Строка("OCTYPE xml_catalog SYSTEM" +" " + "hops.dtd"));
ЗаписьХМL.ЗаписатьНачалоЭлемента("yml_catalog");
ЗаписьХМL.ЗаписатьАтрибут("date",Строка(Формат(КонецДня(ТекущаяДата()) - 3539, "ДФ=yyyy-MM-dd")+" "+Формат(КонецДня(ТекущаяДата()) - 3539, "ДФ=ЧЧ")+":"+Формат(КонецДня(ТекущаяДата()) - 3539, "ДФ=мм")));
ЗаписьХМL.ЗаписатьНачалоЭлемента("shop");
// начинаем обход результата запроса
ОбходПоГруппирокам = ОбходРезультатаЗапроса.ПоГруппировкам;
ВыборкаНоменклатураРодитель = ВыборкаТоваров.Выбрать(ОбходПоГруппирокам, "НоменклатураРодитель");
//Пока ВыборкаНоменклатураРодитель.Следующий() Цикл
ЗаписьХМL.ЗаписатьНачалоЭлемента("name");
//Operation name;
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("company");
ЗаписьХМL.ЗаписатьТекст (Организация);
//company name;
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("url");
//url;
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("currencies");
ЗаписьХМL.ЗаписатьТекст (Строка("UAH"));
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("categories");
Пока ВыборкаНоменклатураРодитель.Следующий() Цикл
ЗаписьХМL.ЗаписатьНачалоЭлемента("category");
ЗаписьХМL.ЗаписатьТекст(ВыборкаНоменклатура.Наименование);
ЗаписьХМL.ЗаписатьАтрибут("id",Прав(ВыборкаНоменклатура.Код,7 ));
ЗаписьХМL.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("offers");
Пока ВыборкаНоменклатураРодитель.Следующий() Цикл
ЗаписьХМL.ЗаписатьНачалоЭлемента("offer");
Если ЗначениеЗаполнено(ВыборкаНоменклатура.Код) Тогда
КоличествоВыгруженныхТоваров = КоличествоВыгруженныхТоваров + 1;
ЗаписьХМL.ЗаписатьАтрибут("id",Прав(ВыборкаНоменклатура.Код,7 ));
Если ВыборкаНоменклатура.Остаток > 0 И НЕ ВыборкаНоменклатура.НоменклатураСсылка.шЗаказная Тогда
ЗаписьХМL.ЗаписатьАтрибут("available",Строка("в наличии"));
ИначеЕсли ВыборкаНоменклатура.Остаток >= 0 И ВыборкаНоменклатура.НоменклатураСсылка.шЗаказная Тогда
ЗаписьХМL.ЗаписатьАтрибут("available",Строка("под заказ"));
Иначе
ЗаписьХМL.ЗаписатьАтрибут("available",Строка("наличие уточняйте"));
КонецЕсли;
ЗаписьХМL.ЗаписатьНачалоЭлемента("url");
///
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("price");
Если ЗначениеЗаполнено(ВыборкаНоменклатура.Цена) Тогда
ЗаписьХМL.ЗаписатьТекст(Строка(ВыборкаНоменклатура.Цена));
КонецЕсли;
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("currencyId");
ЗаписьХМL.ЗаписатьТекст (Строка("UAH"));
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("measure");
ЗаписьХМL.ЗаписатьТекст (Строка(ВыборкаНоменклатура.ЕдиницаИзмерения));
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("categoryId");
ЗаписьХМL.ЗаписатьТекст("id",Прав(ВыборкаНоменклатура.Код,7 ));
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("picture");
//ЗаписьХМL.ЗаписатьТекст (ВыборкаНоменклатура.НаименованиеПолное);
ЗаписьХМL.ЗаписатьКонецЭлемента();
// ЗДЕСЬ ДОЛЖЕН БЫТЬ <vendor>Польша</vendor>
// <vendorCode></vendorCode>
ЗаписьХМL.ЗаписатьНачалоЭлемента("model");
ЗаписьХМL.ЗаписатьТекст(ВыборкаНоменклатура.Наименование);
ЗаписьХМL.ЗаписатьКонецЭлемента();
ЗаписьХМL.ЗаписатьНачалоЭлемента("description");
ЗаписьХМL.ЗаписатьТекст (ВыборкаНоменклатура.Описание);
ЗаписьХМL.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьХМL. ЗаписатьКонецЭлемента(); //Относится к "offer"
КонецЦикла;
ЗаписьХМL.ЗаписатьКонецЭлемента(); //Относится к "offers"
ЗаписьХМL.ЗаписатьКонецЭлемента(); //Относится к элементу "shop"
ЗаписьХМL.ЗаписатьКонецЭлемента(); //Относится к элементу "yml_catalog"
ЗаписьХМL.Закрыть();
Если ЛокальнаяВыгрузка = Ложь Тогда
ОтправитьФайлНаСервер(КоличествоВыгруженныхТоваров);
Иначе
Сообщить("Выгрузка успешно завершилась. Выгружено " + КоличествоВыгруженныхТоваров + " товаров");
КонецЕсли;
КонецПроцедуры
! | необходимо зарегистрироваться для просмотра ссылки: 8 |
<yml_catalog date="2017-09-25 23:01">
<shop>
<name/>
<company>YML</company>
<url/>
<currencies>UAH</currencies>
<categories>
<category id="3:24:43">25.09.2017 13:24:43</category>
</categories>
<offers>
<offer id="3:24:43" available="в наличии">
<url/>
<price>25.09.2017 13:24:43</price>
<currencyId>UAH</currencyId>
<measure>25.09.2017 13:24:43</measure>
<categoryId>id25.09.2017 13:24:43</categoryId>
<picture/>
<model>25.09.2017 13:24:43</model>
<description>25.09.2017 13:24:43</description>
</offer>
</offers>
</shop>
</yml_catalog>
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыКонтрагентов.Номенклатура,
| ЦеныНоменклатурыКонтрагентов.Валюта,
| ЦеныНоменклатурыКонтрагентов.Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК ЦеныНоменклатурыКонтрагентов";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать();
Пока ВыборкаНоменклатура.Следующий() Цикл
Номеклатура = Справочники.Номенклатура.
ВыборкаВыборкаНоменклатура = Номенклатура.Выбрать(Родитель,,Отбор, "Наименование Убыв");
Процедура ИнициализацияПостроителяОтчета() Экспорт
ТекстЗапроса =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура
|ПОМЕСТИТЬ ВТНоменклатура
|{ВЫБРАТЬ
| Номенклатура.* КАК Номенклатура}
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТНоменклатура.Номенклатура.Код КАК Код,
| ВТНоменклатура.Номенклатура.Наименование КАК Наименование,
| ВТНоменклатура.Номенклатура.Артикул КАК Артикул,
| ВТНоменклатура.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВТНоменклатура.Номенклатура.Комментарий КАК Комментарий,
| ВТНоменклатура.Номенклатура.НаименованиеПолное КАК НаименованиеПолное,
| ВТНоменклатура.Номенклатура.ДополнительноеОписаниеНоменклатуры КАК Описание,
| ЦеныНоменклатурыСрезПоследних.Цена,
| ВТНоменклатура.Номенклатура.Родитель КАК НоменклатураРодитель,
| ВТНоменклатура.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
| ТоварыНаСкладахОстатки.Склад,
| ЦеныНоменклатурыСрезПоследних.ТипЦен,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
| ВТНоменклатура.Номенклатура.ОсновноеИзображение.Хранилище КАК Хранилище,
| ВТНоменклатура.Номенклатура.ОсновноеИзображение.Объект.Код КАК КодИзображения,
| ВТНоменклатура.Номенклатура.Ссылка КАК НоменклатураСсылка
|{ВЫБРАТЬ
| НоменклатураСсылка.* КАК Номенклатура,
| ТипЦен.* КАК ТипЦен,
| Склад.* КАК Склад}
|ИЗ
| ВТНоменклатура КАК ВТНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстатки
| ПО ВТНоменклатура.Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {(Номенклатура).* КАК Номенклатура, (ТипЦен).* КАК ТипЦен}) КАК ЦеныНоменклатурыСрезПоследних
| ПО ВТНоменклатура.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
|ГДЕ
| ТоварыНаСкладахОстатки.Склад.ТипЦенРозничнойТорговли = ЦеныНоменклатурыСрезПоследних.ТипЦен
|{ГДЕ
| ВТНоменклатура.Номенклатура.Ссылка.* КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.ТипЦен.* КАК ТипЦен,
| ТоварыНаСкладахОстатки.Склад.* КАК Склад}
|
|УПОРЯДОЧИТЬ ПО
| НоменклатураСсылка
|ИТОГИ ПО
| НоменклатураРодитель
|;
|
|////////////////////////////////////////////////////////////////////////////////
|УНИЧТОЖИТЬ ВТНоменклатура";
ПостроительОтчета.Текст = ТекстЗапроса;
ПараметрыПостроителя = ПостроительОтчета.Параметры;
//ПараметрыПостроителя.Вставить("ТипЦен", ТипЦен);
ПараметрыПостроителя.Вставить("ВидДанных", Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение);
КонецПроцедуры
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
как по стандарту?
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("Чего-то там в первой строке");
ЗаписьXML.УстановитьСтроку("<!DOCTYPE yml_catalog SYSTEM ""shops.dtd"">");