ТиС для Украины. Как получить список цен?
23.11.2009
16:31
#1
Как в таблицу значений с 2х колонок -(цена и дата цены)выгрузить цены определенного товара, определенной категории цены за определенный период?
23.11.2009
16:36
#2
1. глВернутьЦены(СписокТоваров,КатегорияЦен,ДатаЦен=0)
2. вызываем несколько раз - для разных дат, потом сворачиваем для всех таблиц
2. вызываем несколько раз - для разных дат, потом сворачиваем для всех таблиц
23.11.2009
17:14
#6
> Да чета там сильно много понаписано )))
не уже ли так трудно подумать?
подсказка - смотри объект периодический
не уже ли так трудно подумать?
подсказка - смотри объект периодический
23.11.2009
17:24
#7
"Да просто никогда не сталкивался
Вот что написал
Процедура глVBAЦеныПериод(кодтовара) Экспорт
СпрНом=СоздатьОбъект("Справочник.Номенклатура");
Цены=СоздатьОбъект("Справочник.Цены");
Пер=СоздатьОбъект("Периодический");
СпрТЦ= СоздатьОбъект("Справочник.КатегорииЦен");
СпрНом.НайтиПоКоду(кодтовара);
Цены.ИспользоватьВладельца(СпрНом);
ТипЦены="Розничная";
теперь не знаю что с этим дальше делать))
"
Вот что написал
Процедура глVBAЦеныПериод(кодтовара) Экспорт
СпрНом=СоздатьОбъект("Справочник.Номенклатура");
Цены=СоздатьОбъект("Справочник.Цены");
Пер=СоздатьОбъект("Периодический");
СпрТЦ= СоздатьОбъект("Справочник.КатегорииЦен");
СпрНом.НайтиПоКоду(кодтовара);
Цены.ИспользоватьВладельца(СпрНом);
ТипЦены="Розничная";
теперь не знаю что с этим дальше делать))
"
23.11.2009
18:10
#8
"Ну чуток подумать и все же получится ;)
ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");
ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");
ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);
Номенклатура=СоздатьОбъект("Справочник.Номенклатура");
Цены=СоздатьОбъект("Справочник.Цены");
История=СоздатьОбъект("Периодический");
Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда
Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);
Пока Цены.ПолучитьЭлемент()=1 Цикл
История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());
История.ВыбратьЗначения(НачДата,КонДата);
Пока История.ПолучитьЗначение()=1 Цикл
ТаблицаСведений.НоваяСтрока();
ТаблицаСведений.ДатаЦены=История.ДатаЗнач;
ТаблицаСведений.Цена=История.Значение;
КонецЦикла;
КонецЦикла;
КонецЕсли;
В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата"
ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");
ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");
ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);
Номенклатура=СоздатьОбъект("Справочник.Номенклатура");
Цены=СоздатьОбъект("Справочник.Цены");
История=СоздатьОбъект("Периодический");
Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда
Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);
Пока Цены.ПолучитьЭлемент()=1 Цикл
История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());
История.ВыбратьЗначения(НачДата,КонДата);
Пока История.ПолучитьЗначение()=1 Цикл
ТаблицаСведений.НоваяСтрока();
ТаблицаСведений.ДатаЦены=История.ДатаЗнач;
ТаблицаСведений.Цена=История.Значение;
КонецЦикла;
КонецЦикла;
КонецЕсли;
В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата"
23.11.2009
19:38
#9
"> Ну чуток подумать и все же получится ;)
>
> ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");
> ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");
> ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);
> Номенклатура=СоздатьОбъект("Справочник.Номенклатура");
> Цены=СоздатьОбъект("Справочник.Цены");
> История=СоздатьОбъект("Периодический");
> Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда
> Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
> Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);
> Пока Цены.ПолучитьЭлемент()=1 Цикл
> История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());
> История.ВыбратьЗначения(НачДата,КонДата);
> Пока История.ПолучитьЗначение()=1 Цикл
> ТаблицаСведений.НоваяСтрока();
> ТаблицаСведений.ДатаЦены=История.ДатаЗнач;
> ТаблицаСведений.Цена=История.Значение;
> КонецЦикла;
> КонецЦикла;
> КонецЕсли;
>
> В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата
поправка - там этот периодичский реквизит пожет изменяться и доками => надо и это учесть"
>
> ТаблицаСведений=СоздатьОбъект("ТаблицаЗначений");
> ТаблицаСведений.НоваяКолонка("ДатаЦены","Дата");
> ТаблицаСведений.НоваяКолонка("Цена","Число",15,2);
> Номенклатура=СоздатьОбъект("Справочник.Номенклатура");
> Цены=СоздатьОбъект("Справочник.Цены");
> История=СоздатьОбъект("Периодический");
> Если Номенклатура.НайтиПоКоду(КодТовара)=1 Тогда
> Цены.ИспользоватьВладельца(Номенклатура.ТекущийЭлемент());
> Цены.ВыбратьЭлементыПоРеквизиту("ТипЦен",Константа.РозничныйТипЦен,1,0);
> Пока Цены.ПолучитьЭлемент()=1 Цикл
> История.ИспользоватьОбъект("Цена",Цены.ТекущийЭлемент());
> История.ВыбратьЗначения(НачДата,КонДата);
> Пока История.ПолучитьЗначение()=1 Цикл
> ТаблицаСведений.НоваяСтрока();
> ТаблицаСведений.ДатаЦены=История.ДатаЗнач;
> ТаблицаСведений.Цена=История.Значение;
> КонецЦикла;
> КонецЦикла;
> КонецЕсли;
>
> В результате в ТаблицаСведений будет история цен за какой то период с НачДата по КонДата
поправка - там этот периодичский реквизит пожет изменяться и доками => надо и это учесть"
Читают тему
(гостей: 1)