1
Cypher
naïve
16.03.23
✎
15:49
|
Запрос отчета:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
СправочникНоменклатура.Ссылка КАК Номенклатура,
СправочникНоменклатура.Код КАК Код,
СправочникНоменклатура.Наименование КАК Наименование,
СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
СправочникНоменклатура.ТоварнаяКатегория КАК ТоварнаяКатегория,
СправочникНоменклатура.Марка КАК Марка,
ВЫБОР
КОГДА СправочникНоменклатура.ЭтоГруппа
ТОГДА ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 7
ИНАЧЕ 6
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
КОНЕЦ КАК ИндексКартинки,
СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
СправочникНоменклатура.Артикул КАК Артикул,
СправочникНоменклатура.НаименованиеПолное КАК НаименованиеПолное,
СправочникНоменклатура.Вес КАК Вес,
СправочникНоменклатура.СтавкаНДС КАК СтавкаНДС,
СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры,
МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток1,
МАКСИМУМ(ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0)) КАК Резерв,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0) КАК СвободныйОстаток,
МАКСИМУМ(ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15, 2))) КАК Остаток,
ТоварыНаСкладахОстатки.Склад КАК Склад,
МАКСИМУМ(Штрихкоды.Штрихкод) КАК Штрихкод,
Штрихкоды.Владелец КАК Владелец,
Штрихкоды.Характеристика КАК Характеристика,
Штрихкоды.Упаковка КАК Упаковка,
Штрихкоды.ТипШтрихкода КАК ТипШтрихкода,
Штрихкоды.ПредставлениеШтрихкода КАК ПредставлениеШтрихкода,
ЦеныНоменклатурыСрезПоследних.Период КАК Период,
ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Ссылка,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОбщаяСуммаТовара,
ДвиженияСерийТоваровОбороты.Серия КАК Серия,
ДвиженияСерийТоваровОбороты.Номенклатура КАК Номенклатура1,
ДвиженияСерийТоваровОбороты.Характеристика КАК Характеристика1,
ДвиженияСерийТоваровОбороты.Документ КАК Документ,
ДвиженияСерийТоваровОбороты.Магазин КАК Магазин,
ДвиженияСерийТоваровОбороты.СкладскаяОперация КАК СкладскаяОперация,
МАКСИМУМ(ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеИзлишков)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаКомплектующихПослеРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПеремещению)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПрочемуОприходованию)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаСобранныхКомплектов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
И ДвиженияСерийТоваровОбороты.КоличествоОборот > 0
ТОГДА ДвиженияСерийТоваровОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК Приемка,
МАКСИМУМ(ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаВРозницу)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектовДляРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектующихДляСборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаНаВнутренниеНужды)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоПеремещению)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеНедостач)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеПорчи)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
И ДвиженияСерийТоваровОбороты.КоличествоОборот < 0
ТОГДА ДвиженияСерийТоваровОбороты.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ) КАК Отгрузка,
ДвиженияСерийТоваровОбороты.КоличествоОборот КАК КоличествоОборот,
МАКСИМУМ(ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ВводОстатков)
ТОГДА 0
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаОтПоставщика)
ТОГДА 1
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПеремещению)
ТОГДА 2
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеИзлишков)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеНедостач)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеПорчи)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоПрочемуОприходованию)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаСобранныхКомплектов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтражениеРезультатовПересчетов)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаКомплектующихПослеРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.Пересчет)
ТОГДА 3
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектовДляРазборки)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКомплектующихДляСборки)
ТОГДА 4
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаВРозницу)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаКлиенту)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаНаВнутренниеНужды)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоВозвратуПоставщику)
ИЛИ ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ОтгрузкаПоПеремещению)
ТОГДА 5
КОГДА ДвиженияСерийТоваровОбороты.СкладскаяОперация = ЗНАЧЕНИЕ(Перечисление.СкладскиеОперации.ПриемкаПоВозвратуОтКлиента)
ТОГДА 6
ИНАЧЕ 10
КОНЕЦ) КАК Поле3,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена1,
ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены1
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ПО (ТоварыНаСкладахОстатки.Номенклатура = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
ПО (Штрихкоды.Владелец = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Период >= &Период) КАК ЦеныНоменклатурыСрезПоследних
ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СправочникНоменклатура.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияСерийТоваров.Обороты КАК ДвиженияСерийТоваровОбороты
ПО (ДвиженияСерийТоваровОбороты.Номенклатура = СправочникНоменклатура.Ссылка)
ГДЕ
НЕ СправочникНоменклатура.ЭтоГруппа
СГРУППИРОВАТЬ ПО
СправочникНоменклатура.Ссылка,
СправочникНоменклатура.Код,
СправочникНоменклатура.Наименование,
СправочникНоменклатура.ВидНоменклатуры,
СправочникНоменклатура.ТоварнаяКатегория,
СправочникНоменклатура.Марка,
СправочникНоменклатура.ЕдиницаИзмерения,
СправочникНоменклатура.Артикул,
СправочникНоменклатура.НаименованиеПолное,
СправочникНоменклатура.Вес,
СправочникНоменклатура.СтавкаНДС,
СправочникНоменклатура.ТипНоменклатуры,
ТоварыНаСкладахОстатки.Склад,
Штрихкоды.Владелец,
Штрихкоды.Характеристика,
Штрихкоды.Упаковка,
Штрихкоды.ТипШтрихкода,
Штрихкоды.ПредставлениеШтрихкода,
ВЫБОР
КОГДА СправочникНоменклатура.ЭтоГруппа
ТОГДА ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 7
ИНАЧЕ 6
КОНЕЦ
ИНАЧЕ ВЫБОР
КОГДА СправочникНоменклатура.ПометкаУдаления
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ + ВЫБОР
КОГДА СправочникНоменклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.НеИспользовать)
ТОГДА 0
ИНАЧЕ 2
КОНЕЦ
КОНЕЦ,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0),
ЦеныНоменклатурыСрезПоследних.Период,
ЦеныНоменклатурыСрезПоследних.ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) * ТоварыНаСкладахОстатки.КоличествоОстаток,
ДвиженияСерийТоваровОбороты.Серия,
ДвиженияСерийТоваровОбороты.Номенклатура,
ДвиженияСерийТоваровОбороты.Характеристика,
ДвиженияСерийТоваровОбороты.Документ,
ДвиженияСерийТоваровОбороты.Магазин,
ДвиженияСерийТоваровОбороты.СкладскаяОперация,
ДвиженияСерийТоваровОбороты.КоличествоОборот,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыНаСкладахОстатки.РезервОстаток, 0),
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.ВидЦены
|
|