0
Omskdizel
28.07.17
✎
11:45
|
Доброго дня!
Считаю аналитику для расчета закупа товара. Для нее нужен параметр "Дней в наличии". Решений этой задачи на просторах Инета много, но все найденные мною решали ее несколько уже, чем мне надо. Из-за некоторых особенностей ведения учета сделал запрос по-своему, но сути это не меняет.
Исходные данные:
УТ 10.3, характеристики не используются, в регистре партий товаров каша из-за некорректной первоначальной настройки базы. Собственно сделал я так:
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоНачальныйОстаток <= 0
ТОГДА 0
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоНачальныйОстаток
КОНЕЦ КАК НачОст,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоКонечныйОстаток <= 0
ТОГДА 0
ИНАЧЕ ТоварыНаСкладахОстатки.КоличествоКонечныйОстаток
КОНЕЦ КАК КонОст,
ТоварыНаСкладахОстатки.Период КАК НачалоПериода
ПОМЕСТИТЬ Остатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
&ДатаНач,
&ДатаКон,
ДЕНЬ,
,
Номенклатура В (&Номенклатура)
И Склад В (&СкладыГруппа)) КАК ТоварыНаСкладахОстатки
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Остатки.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА Остатки.КонОст <> 0
ТОГДА РАЗНОСТЬДАТ(Остатки.НачалоПериода, ЕСТЬNULL(МИНИМУМ(ОстаткиКонец.НачалоПериода), &ДатаКон), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ КАК ДнейВНаличии
ПОМЕСТИТЬ НаличиеВДнях
ИЗ
Остатки КАК Остатки
ЛЕВОЕ СОЕДИНЕНИЕ Остатки КАК ОстаткиКонец
ПО Остатки.Номенклатура = ОстаткиКонец.Номенклатура
И Остатки.НачалоПериода < ОстаткиКонец.НачалоПериода
СГРУППИРОВАТЬ ПО
Остатки.Номенклатура,
Остатки.КонОст,
Остатки.НачалоПериода
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НаличиеВДнях.Номенклатура,
СУММА(НаличиеВДнях.ДнейВНаличии) КАК ДнейВНаличии
ИЗ
НаличиеВДнях КАК НаличиеВДнях
СГРУППИРОВАТЬ ПО
НаличиеВДнях.Номенклатура
Теперь собственно вопрос... Т.к. вся эта бодяга делается для аналитики по заказу товара, то надо еще учесть факты того, что товар может находиться в резерве или в состоянии "К передаче". Можно как-то красиво соответствующие регистры прикрутить?
|
|