0
DrLekter
18.07.16
✎
16:55
|
Стоит задача сделать отчет по гладкости изменения себестоимости. Сравниваю текущую цену с предыдущей:
"ВЫБРАТЬ
| ОстаткиОстаткиИОбороты.Номенклатура КАК Номенклатура,
| ОстаткиОстаткиИОбороты.КоличествоНачальныйОстаток,
| ОстаткиОстаткиИОбороты.СуммаГРННачальныйОстаток,
| ОстаткиОстаткиИОбороты.Период КАК Период
|ПОМЕСТИТЬ ВремОстатки
|ИЗ
| РегистрНакопления.Остатки.ОстаткиИОбороты(
| &ДатаС,
| &ДатаПо,
| День,
| ,
| Номенклатура В ИЕРАРХИИ (&Номенклатура)
| И Склад В (&Склады)) КАК ОстаткиОстаткиИОбороты
|
|ИНДЕКСИРОВАТЬ ПО
| Период,
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВремОстатки.Период
|ПОМЕСТИТЬ ВремПериоды
|ИЗ
| ВремОстатки КАК ВремОстатки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВремОстатки.Номенклатура,
| ВремПериоды.Период
|ПОМЕСТИТЬ ВремНоменклатураПоПериодам
|ИЗ
| ВремОстатки КАК ВремОстатки
| ПОЛНОЕ СОЕДИНЕНИЕ ВремПериоды КАК ВремПериоды
| ПО (ИСТИНА)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВН.Номенклатура КАК Номенклатура,
| ВН.Период КАК Период,
| ДОБАВИТЬКДАТЕ(ВН.Период, ДЕНЬ, 1) КАК Период1,
| ВО.СуммаГРННачальныйОстаток / ВО.КоличествоНачальныйОстаток КАК ТекущаяЦена
|ПОМЕСТИТЬ ВремВыборка
|ИЗ
| ВремНоменклатураПоПериодам КАК ВН
| ЛЕВОЕ СОЕДИНЕНИЕ ВремОстатки КАК ВО
| ПО ВН.Номенклатура = ВО.Номенклатура
| И ВН.Период = ВО.Период
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВремВыборка.Номенклатура,
| ВремВыборка.Период,
| ВремВыборка.Период1,
| ВремВыборка.ТекущаяЦена,
| ВремВыборка1.ТекущаяЦена КАК ВчерашняяЦена
|ИЗ
| ВремВыборка КАК ВремВыборка
| ЛЕВОЕ СОЕДИНЕНИЕ ВремВыборка КАК ВремВыборка1
| ПО ВремВыборка.Номенклатура = ВремВыборка1.Номенклатура
| И ВремВыборка.Период = ВремВыборка1.Период1"
Замечательно работает, если продукция каждый день есть на складе. А если через раз, то вчерашняя цена нулевая - получается 100%ный скачок. Можно ли заполнить нулевые значения последним ненулевым, не выгружаясь в таблицу значений (подразумевается, что когда вся продукция ушла, себестоимость ее не изменилась)?
|
|
3
DrLekter
18.07.16
✎
20:18
|
(1) с СКД я до сих пор на Вы ) Очень редко возникали задачи, нерешаемые обычными запросами, вот и не вникал глубоко.
(2) это Срез последних вызывать столько раз, сколько периодов получится в выборке? Если так, проще и быстрее (как по трудозатратам, так и по быстродействию) все таки идти через ТЗ.
|
|