Выгрузка номенклатуры за период
19.03.2010
02:38
#1
"Помогите пожалуйста..опыт в программирование небольшой и я уже просто устала, не знаю что делать. имеется форма где указаны датнач и даткон. Нужно сделать чтобы выгружались все товары справочника номенклатура которые были которые входят в этот период.
Процедура ВыгрузитьРеквизитыТовара(Объект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.ЗаписатьКонецЭлемента();
Сообщить(" Количество выгруженных строк каталога товаров: " + КоличествоВыгруженныхСтрок);
КонецПроцедуры
"
19.03.2010
10:01
#2
судя по коду выгружается Справочник Номенклатура (Товары),
откуда может быть у справочника период?
его можно определить только косвенно
например по дате поступления первой партии данного товара и выбирать из регистра накопления "Партии"
если вы при каждом добавлении номенклатуры в справочник как то регитрируете дату его введения
в учетную систему
то метод выбрать имеет 3 параметр:
Выбрать(<Родитель>, <Владелец>, <Отбор>, <Порядок>)
В документе "Начисление зарплаты " одновремено начисляется "по дням" и"по часам"БП 1.6.23.2, помогите с запросом:)
Читают тему
(гостей: 1)