Как в таблицу значений с 2х колонок -(цена и дата цены)выгрузить цены определенного товара, определенной категории цены за определенный период?
Как в таблицу значений с 2х колонок -(цена и дата цены)выгрузить цены определенного товара, определенной категории цены за определенный период?
1. глВернутьЦены(СписокТоваров,КатегорияЦен,ДатаЦен=0)<br>2. вызываем несколько раз - для разных дат, потом сворачиваем для всех таблиц
А что даты прийдется все перебирать?
смотри обработку СписокПериодическихРеквизитов
Да чета там сильно много понаписано )))
> Да чета там сильно много понаписано )))<br>не уже ли так трудно подумать?<br><br><br>подсказка - смотри объект периодический<br>
"Да просто никогда не сталкивался<br>Вот что написал<br><br>Процедура глVBAЦеныПериод(кодтовара) Экспорт <br>СпрНом=СоздатьОбъект("Справочник.Номенклатура");<br>Цены=СоздатьОбъект("Справочник.Цены");<br>Пер=СоздатьОбъект("Периодический"); <br>СпрТЦ= СоздатьОбъект("Справочник.КатегорииЦен");<br>СпрНом.НайтиПоКоду(кодтовара);<br>Цены.ИспользоватьВладельца(СпрНом);<br>ТипЦены="Розничная";<br><br>теперь не знаю что с этим дальше делать))<br><br>"
"Ну чуток подумать и все же получится ;)<br><br>ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");<br>ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");<br>ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);<br>Номенклатура=СоздатьОбъект("Справочник.Номенклатура");<br>Цены=СоздатьОбъект("Справочник.Цены");<br>История=СоздатьОбъект("Периодический");<br>Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда<br> Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());<br> Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);<br> Пока Цены.ПолучитьЭлемент()=1 Цикл<br> История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());<br> История.ВыбратьЗначения(НачДата,КонДата);<br> Пока История.ПолучитьЗначение()=1 Цикл<br> ТаблицаСведений.НоваяСтрока();<br> ТаблицаСведений.ДатаЦены=История.ДатаЗнач;<br> ТаблицаСведений.Цена=История.Значение;<br> КонецЦикла;<br> КонецЦикла;<br>КонецЕсли;<br><br>В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата"
"> Ну чуток подумать и все же получится ;)<br>> <br>> ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");<br>> ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");<br>> ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);<br>> Номенклатура=СоздатьОбъект("Справочник.Номенклатура");<br>> Цены=СоздатьОбъект("Справочник.Цены");<br>> История=СоздатьОбъект("Периодический");<br>> Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда<br>> Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());<br>> Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);<br>> Пока Цены.ПолучитьЭлемент()=1 Цикл<br>> История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());<br>> История.ВыбратьЗначения(НачДата,КонДата);<br>> Пока История.ПолучитьЗначение()=1 Цикл<br>> ТаблицаСведений.НоваяСтрока();<br>> ТаблицаСведений.ДатаЦены=История.ДатаЗнач;<br>> ТаблицаСведений.Цена=История.Значение;<br>> КонецЦикла;<br>> КонецЦикла;<br>> КонецЕсли;<br>> <br>> В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата<br><br>поправка - там этот периодичский реквизит пожет изменяться и доками => надо и это учесть"
А для значения установленного доком ДатаЗнач тоже не пустое же, оно соответствует дате, которая там была аргументом в методе модуля проведения УстановитьРеквизитСправочника(,,,,,,)<br>так что алгоритм емкий и все значения охватит
26 апреля 2024 года — Форум пользователей «1С:Документооборота» |
1C:Лекторий: 7 мая 2024 года — Бесплатная онлайн-лекция о новом в 1С:ЗУП (версии 3.1.27-3.1.29): поддержка изменений по налогам и взносам, СЭДО, регистрация в органе статистики и другие изменения 1C:Лекторий: 14 мая 2024 года — Бесплатная онлайн-лекция об учете в 1С:БГУ 8 (ред. 2) невостребованной кредиторами задолженности. Серия 1С:Консалтинг для госсектора |