C
cacti
Помогите пожалуйста..опыт в программирование небольшой и я уже просто устала, не знаю что делать. имеется форма где указаны датнач и даткон. Нужно сделать чтобы выгружались все товары справочника номенклатура, которые входят в этот период.
Процедура ВыгрузитьРеквизитыТовара(ОбъектXML, Товар, Ид = Неопределено)
Если НЕ ЗначениеЗаполнено(Ид) Тогда
ИдТовара = СформироватьИдентификатовТовара(Товар.НоменклатураСсылка, Товар.ХарактеристикаСсылка);
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", ИдТовара);
Иначе
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", Ид);
КонецЕсли;
ЗаписатьТекстовойУзел(ОбъектXML, "ШтрихКод", Товар.ШтрихКод);
ЗаписатьТекстовойУзел(ОбъектXML, "Артикул", Товар.Артикул);
ЗаписатьТекстовойУзел(ОбъектXML, "ЦенаЗаЕдиницу", Товар.Цена);
ЗаписатьТекстовойУзел(ОбъектXML, "Дата", Товар.Дата);
ЗаписатьТекстовойУзел(ОбъектXML, "ЕдиницаИзмерения", Товар.ЕдиницаИзмерения);
ЗаписатьТекстовойУзел(ОбъектXML, "ТипЦены", Товар.ЦеноваяГруппа);
ЗаписатьТекстовойУзел(ОбъектXML, "Количество", Товар.Количество);
ЗаписатьТекстовойУзел(ОбъектXML, "Валюта", Товар.Валюта);
ЗаписатьТекстовойУзел(ОбъектXML, "СтранаПроисхождения", Товар.СтранаПроисхождения);
ЗаписатьТекстовойУзел(ОбъектXML, "Группа", Товар.Родитель);
КонецПроцедуры
Процедура ВыгрузитьКаталог(ОбъектXML, ИмяКаталога, ИдКаталога, ВладелецКаталога, Товары)
ОбъектXML.ЗаписатьНачалоЭлемента("Каталог");
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", Строка(ИдКаталога));
Если НЕ ЗначениеЗаполнено(ИмяКаталога) Тогда
ИмяКаталога = "Каталог товаров от "+ Строка(ТекущаяДата());
КонецЕсли;
ЗаписатьТекстовойУзел(ОбъектXML, "Наименование", ИмяКаталога);
ВыгрузитьКонтрагента(ОбъектXML, "Владелец", ВладелецКаталога);
КоличествоВыгруженныхСтрок = 0;
ОбъектXML.ЗаписатьНачалоЭлемента("Товары");
Выборка = Товары.Выбрать();
Пока Выборка.Следующий() Цикл
Если НЕ Выборка.ЭтоГруппа Тогда
ОбъектXML.ЗаписатьНачалоЭлемента("Товар");
ВыгрузитьРеквизитыТовара(ОбъектXML, Выборка);
ОбъектXML.ЗаписатьКонецЭлемента();
КоличествоВыгруженныхСтрок = КоличествоВыгруженныхСтрок + 1;
КонецЕсли;
КонецЦикла;
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
Сообщить(" Количество выгруженных строк каталога товаров: " + КоличествоВыгруженныхСтрок);
КонецПроцедуры
Процедура ВыгрузитьРеквизитыТовара(ОбъектXML, Товар, Ид = Неопределено)
Если НЕ ЗначениеЗаполнено(Ид) Тогда
ИдТовара = СформироватьИдентификатовТовара(Товар.НоменклатураСсылка, Товар.ХарактеристикаСсылка);
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", ИдТовара);
Иначе
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", Ид);
КонецЕсли;
ЗаписатьТекстовойУзел(ОбъектXML, "ШтрихКод", Товар.ШтрихКод);
ЗаписатьТекстовойУзел(ОбъектXML, "Артикул", Товар.Артикул);
ЗаписатьТекстовойУзел(ОбъектXML, "ЦенаЗаЕдиницу", Товар.Цена);
ЗаписатьТекстовойУзел(ОбъектXML, "Дата", Товар.Дата);
ЗаписатьТекстовойУзел(ОбъектXML, "ЕдиницаИзмерения", Товар.ЕдиницаИзмерения);
ЗаписатьТекстовойУзел(ОбъектXML, "ТипЦены", Товар.ЦеноваяГруппа);
ЗаписатьТекстовойУзел(ОбъектXML, "Количество", Товар.Количество);
ЗаписатьТекстовойУзел(ОбъектXML, "Валюта", Товар.Валюта);
ЗаписатьТекстовойУзел(ОбъектXML, "СтранаПроисхождения", Товар.СтранаПроисхождения);
ЗаписатьТекстовойУзел(ОбъектXML, "Группа", Товар.Родитель);
КонецПроцедуры
Процедура ВыгрузитьКаталог(ОбъектXML, ИмяКаталога, ИдКаталога, ВладелецКаталога, Товары)
ОбъектXML.ЗаписатьНачалоЭлемента("Каталог");
ЗаписатьТекстовойУзел(ОбъектXML, "Ид", Строка(ИдКаталога));
Если НЕ ЗначениеЗаполнено(ИмяКаталога) Тогда
ИмяКаталога = "Каталог товаров от "+ Строка(ТекущаяДата());
КонецЕсли;
ЗаписатьТекстовойУзел(ОбъектXML, "Наименование", ИмяКаталога);
ВыгрузитьКонтрагента(ОбъектXML, "Владелец", ВладелецКаталога);
КоличествоВыгруженныхСтрок = 0;
ОбъектXML.ЗаписатьНачалоЭлемента("Товары");
Выборка = Товары.Выбрать();
Пока Выборка.Следующий() Цикл
Если НЕ Выборка.ЭтоГруппа Тогда
ОбъектXML.ЗаписатьНачалоЭлемента("Товар");
ВыгрузитьРеквизитыТовара(ОбъектXML, Выборка);
ОбъектXML.ЗаписатьКонецЭлемента();
КоличествоВыгруженныхСтрок = КоличествоВыгруженныхСтрок + 1;
КонецЕсли;
КонецЦикла;
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
Сообщить(" Количество выгруженных строк каталога товаров: " + КоличествоВыгруженныхСтрок);
КонецПроцедуры