Отчет ОстаткиИДоступностьТоваров

1. Gok9 27.06.23 17:48 Сейчас в теме
Добрый день, можете подсказать как в отчете ОстаткиИДоступностьТоваров вывести цену номенклатуры?
В запросе выбрал с регистра сведений цены номенклатуры ресурс цена связал его с номенклатурой из регистра накопления ТоварыКОтгрузке, запустил но колонка цена пустая в чем причина? Неправильно установил связи?
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры,
	ЦеныНоменклатуры.Цена КАК Цена
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ПО (ИСТИНА)
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
	ТоварыКОтгрузке.Характеристика КАК Характеристика,
	ТоварыКОтгрузке.Склад КАК Склад,
	ТоварыКОтгрузке.Назначение КАК Назначение,
	ТоварыКОтгрузке.ДокументОтгрузки КАК ДокументОтгрузки,
	ТоварыКОтгрузке.КОтгрузкеОстаток КАК КОтгрузкеОстаток,
	ЦеныНоменклатуры.Цена КАК Цена
ПОМЕСТИТЬ ТоварыКОтгрузке
ИЗ
	РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКОтгрузке.Остатки(
				,
				ВЫБОР
					КОГДА &ПоказатьОбособленныеТовары
						ТОГДА ИСТИНА
					ИНАЧЕ Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
				КОНЕЦ {((Номенклатура, Характеристика) В
				    (ВЫБРАТЬ
				        ТаблицаОтбора.Номенклатура КАК Номенклатура,
				        ТаблицаОтбора.Характеристика КАК Характеристика
				    ИЗ
				        ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				    ГДЕ
				        ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)) КАК Поле2, (Склад).*, (Номенклатура).*, (Характеристика).*}) КАК ТоварыКОтгрузке
		ПО (ТоварыКОтгрузке.Номенклатура = ЦеныНоменклатуры.Цена)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
	ТоварыКОтгрузке.Характеристика КАК Характеристика,
	ТоварыКОтгрузке.Склад КАК Склад,
	ТоварыКОтгрузке.Назначение КАК Назначение,
	СУММА(ТоварыКОтгрузке.КОтгрузкеОстаток) КАК КОтгрузкеОстаток,
	ТоварыКОтгрузке.Цена КАК Цена
ПОМЕСТИТЬ ТоварыКОтгрузкеСгруппированные
ИЗ
	ТоварыКОтгрузке КАК ТоварыКОтгрузке

СГРУППИРОВАТЬ ПО
	ТоварыКОтгрузке.Номенклатура,
	ТоварыКОтгрузке.Характеристика,
	ТоварыКОтгрузке.Склад,
	ТоварыКОтгрузке.Назначение,
	ТоварыКОтгрузке.Цена

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	Склад,
	Назначение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	&ТипЗаписиСейчас КАК ТипЗаписи,
	ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
	ТоварыКОтгрузке.Характеристика КАК Характеристика,
	ТоварыКОтгрузке.Склад КАК Склад,
	ТоварыКОтгрузке.Назначение КАК Назначение,
	ТоварыКОтгрузке.ДокументОтгрузки КАК ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО КАК ЗаказНаПоступление,
	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаДоступности,
	ТоварыКОтгрузке.КОтгрузкеОстаток КАК Отгружается,
	0 КАК ВНаличии,
	0 КАК Поступит,
	0 КАК ВРезерве,
	0 КАК Доступно,
	0 КАК КОбеспечению,
	ТоварыКОтгрузке.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаДанныхОтчета
ИЗ
	ТоварыКОтгрузке КАК ТоварыКОтгрузке

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиСейчас,
	ТоварыКОтгрузкеСгруппированные.Номенклатура,
	ТоварыКОтгрузкеСгруппированные.Характеристика,
	ТоварыКОтгрузкеСгруппированные.Склад,
	ТоварыКОтгрузкеСгруппированные.Назначение,
	НЕОПРЕДЕЛЕНО,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	ТоварыКОтгрузкеСгруппированные.КОтгрузкеОстаток,
	0,
	0,
	0,
	0,
	ТоварыКОтгрузкеСгруппированные.Цена
ИЗ
	ТоварыКОтгрузкеСгруппированные КАК ТоварыКОтгрузкеСгруппированные
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		ПО (ИнформацияОДоступности.Номенклатура = ТоварыКОтгрузкеСгруппированные.Номенклатура)
			И (ИнформацияОДоступности.Характеристика = ТоварыКОтгрузкеСгруппированные.Характеристика)
			И (ИнформацияОДоступности.Склад = ТоварыКОтгрузкеСгруппированные.Склад)
			И (ИнформацияОДоступности.Назначение = ТоварыКОтгрузкеСгруппированные.Назначение)
			И (ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе))
			И (ИнформацияОДоступности.Свободно <> 0
				ИЛИ ИнформацияОДоступности.Запас <> 0
				ИЛИ ИнформацияОДоступности.Зарезервировано <> 0
				ИЛИ ИнформацияОДоступности.НеОбеспечено <> 0)
ГДЕ
	ИнформацияОДоступности.Номенклатура ЕСТЬ NULL

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиНеОбеспечено,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	0,
	0,
	0,
	0,
	ИнформацияОДоступности.Зарезервировано,
	ТаблицаОтбора.Цена
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаетсяПоНеподтвержденномуЗаказу)
	И ИнформацияОДоступности.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
	И ИнформацияОДоступности.Зарезервировано > 0
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	(ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) КАК Поле2,
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиНеОбеспечено,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	0,
	0,
	0,
	0,
	ИнформацияОДоступности.Обеспечено,
	ТаблицаОтбора.Цена
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние В (ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаетсяПоНеподтвержденномуЗаказу), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченКДате), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченНаСкладе))
	И ИнформацияОДоступности.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
	И ИнформацияОДоступности.Обеспечено > 0
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	(ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) КАК Поле2,
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.Обеспечить)
			ТОГДА &ТипЗаписиНеОбеспечено
		КОГДА ИнформацияОДоступности.ДатаПоступления = ДАТАВРЕМЯ(1, 1, 1)
			ТОГДА &ТипЗаписиСейчас
		ИНАЧЕ &ТипЗаписиОжидается
	КОНЕЦ,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	ИнформацияОДоступности.ЗаказНаПоступление,
	ИнформацияОДоступности.ДатаПоступления,
	0,
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе)
			ТОГДА ИнформацияОДоступности.Запас + ЕСТЬNULL(ТоварыКОтгрузкеСгруппированные.КОтгрузкеОстаток, 0)
		ИНАЧЕ 0
	КОНЕЦ,
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемоеПоступление)
			ТОГДА ИнформацияОДоступности.Запас
		ИНАЧЕ 0
	КОНЕЦ,
	ИнформацияОДоступности.Зарезервировано,
	ИнформацияОДоступности.Свободно,
	ИнформацияОДоступности.НеОбеспечено,
	ТоварыКОтгрузкеСгруппированные.Цена
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		ЛЕВОЕ СОЕДИНЕНИЕ ТоварыКОтгрузкеСгруппированные КАК ТоварыКОтгрузкеСгруппированные
		ПО (ТоварыКОтгрузкеСгруппированные.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТоварыКОтгрузкеСгруппированные.Характеристика = ИнформацияОДоступности.Характеристика)
			И (ТоварыКОтгрузкеСгруппированные.Склад = ИнформацияОДоступности.Склад)
			И (ТоварыКОтгрузкеСгруппированные.Назначение = ИнформацияОДоступности.Назначение)
			И (ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе))
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние В (ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемоеПоступление), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченНаСкладе), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченКДате), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.Обеспечить), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ВРезерве))
	И (ИнформацияОДоступности.Свободно <> 0
			ИЛИ ИнформацияОДоступности.Запас <> 0
			ИЛИ ИнформацияОДоступности.Зарезервировано <> 0
			ИЛИ ИнформацияОДоступности.НеОбеспечено <> 0)
	И ИнформацияОДоступности.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	(ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) КАК Поле2,
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Таблица.Номенклатура КАК Номенклатура,
	Таблица.Характеристика КАК Характеристика,
	Таблица.Склад КАК Склад,
	Таблица.Назначение КАК Назначение,
	Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Таблица.ДатаДоступности КАК ДатаДоступности,
	СУММА(Таблица.ВНаличии - Таблица.Отгружается + Таблица.Поступит - Таблица.Доступно - Таблица.ВРезерве) КАК ВРезерве,
	Таблица.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаКРаспределению
ИЗ
	ТаблицаДанныхОтчета КАК Таблица

СГРУППИРОВАТЬ ПО
	Таблица.Номенклатура,
	Таблица.Характеристика,
	Таблица.Склад,
	Таблица.Назначение,
	Таблица.ЗаказНаПоступление,
	Таблица.ДатаДоступности,
	Таблица.Цена

ИМЕЮЩИЕ
	СУММА(Таблица.ВНаличии - Таблица.Отгружается + Таблица.Поступит - Таблица.Доступно) <> СУММА(Таблица.ВРезерве)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Набор.ТипЗаписи КАК ТипЗаписи,
	Набор.Номенклатура КАК Номенклатура,
	Набор.Характеристика КАК Характеристика,
	Набор.Склад КАК Склад,
	Набор.Назначение КАК Назначение,
	Набор.ЗаказНаОтгрузку КАК ЗаказНаОтгрузку,
	Набор.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Набор.ДатаДоступности КАК ДатаДоступности,
	СУММА(Набор.Отгружается) КАК Отгружается,
	СУММА(Набор.ВНаличии) КАК ВНаличии,
	СУММА(Набор.Поступит) КАК Поступит,
	СУММА(Набор.ВРезерве) КАК ВРезерве,
	СУММА(Набор.Доступно) КАК Доступно,
	СУММА(Набор.КОбеспечению) КАК КОбеспечению,
	Набор.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаДанныхОтчетаБезДополнительныхПолей
ИЗ
	(ВЫБРАТЬ
		Таблица.ТипЗаписи КАК ТипЗаписи,
		Таблица.Номенклатура КАК Номенклатура,
		Таблица.Характеристика КАК Характеристика,
		Таблица.Склад КАК Склад,
		Таблица.Назначение КАК Назначение,
		Таблица.ЗаказНаОтгрузку КАК ЗаказНаОтгрузку,
		Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
		Таблица.ДатаДоступности КАК ДатаДоступности,
		Таблица.Отгружается КАК Отгружается,
		Таблица.ВНаличии КАК ВНаличии,
		Таблица.Поступит КАК Поступит,
		Таблица.ВРезерве КАК ВРезерве,
		Таблица.Доступно КАК Доступно,
		Таблица.КОбеспечению КАК КОбеспечению,
		Таблица.Цена КАК Цена
	ИЗ
		ТаблицаДанныхОтчета КАК Таблица
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ВЫБОР
			КОГДА Таблица.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)
				ТОГДА &ТипЗаписиСейчас
			ИНАЧЕ &ТипЗаписиОжидается
		КОНЕЦ,
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		НЕОПРЕДЕЛЕНО,
		Таблица.ЗаказНаПоступление,
		Таблица.ДатаДоступности,
		0,
		0,
		0,
		Таблица.ВРезерве,
		0,
		0,
		Таблица.Цена
	ИЗ
		ТаблицаКРаспределению КАК Таблица
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		&ТипЗаписиНеОбеспечено,
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		НЕОПРЕДЕЛЕНО,
		НЕОПРЕДЕЛЕНО,
		ДАТАВРЕМЯ(1, 1, 1),
		0,
		0,
		0,
		0,
		0,
		СУММА(Таблица.КОбеспечению - Таблица.ВРезерве),
		NULL
	ИЗ
		(ВЫБРАТЬ
			ИнформацияОДоступности.Номенклатура КАК Номенклатура,
			ИнформацияОДоступности.Характеристика КАК Характеристика,
			ИнформацияОДоступности.Склад КАК Склад,
			ИнформацияОДоступности.Назначение КАК Назначение,
			0 КАК ВРезерве,
			ИнформацияОДоступности.КОбеспечениюБезРезерва + ИнформацияОДоступности.ОтложитьРезервирование + ИнформацияОДоступности.РезервироватьПоМереПоступления + ИнформацияОДоступности.Резервировать КАК КОбеспечению
		ИЗ
			РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
				{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
					И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
		ГДЕ
			ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемаяОтгрузка)
			И ИнформацияОДоступности.Номенклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара))
			И ВЫБОР
					КОГДА &ПоказатьОбособленныеТовары
						ТОГДА ИСТИНА
					ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
				КОНЕЦ
		{ГДЕ
			(ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры) КАК Поле2,
			ИнформацияОДоступности.Склад.* КАК Склад,
			ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
			ИнформацияОДоступности.Характеристика.* КАК Характеристика}
		
		ОБЪЕДИНИТЬ ВСЕ
		
		ВЫБРАТЬ
			Таблица.Номенклатура,
			Таблица.Характеристика,
			Таблица.Склад,
			Таблица.Назначение,
			Таблица.ВРезерве,
			-Таблица.КОбеспечению
		ИЗ
			ТаблицаДанныхОтчета КАК Таблица
		
		ОБЪЕДИНИТЬ ВСЕ
		
		ВЫБРАТЬ
			Таблица.Номенклатура,
			Таблица.Характеристика,
			Таблица.Склад,
			Таблица.Назначение,
			Таблица.ВРезерве,
			0
		ИЗ
			ТаблицаКРаспределению КАК Таблица) КАК Таблица
	
	СГРУППИРОВАТЬ ПО
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение
	
	ИМЕЮЩИЕ
		СУММА(Таблица.КОбеспечению - Таблица.ВРезерве) <> 0) КАК Набор

СГРУППИРОВАТЬ ПО
	Набор.ТипЗаписи,
	Набор.Номенклатура,
	Набор.Характеристика,
	Набор.Склад,
	Набор.Назначение,
	Набор.ЗаказНаОтгрузку,
	Набор.ЗаказНаПоступление,
	Набор.ДатаДоступности,
	Набор.Цена

ИМЕЮЩИЕ
	(СУММА(Набор.Отгружается) <> 0
		ИЛИ СУММА(Набор.ВНаличии) <> 0
		ИЛИ СУММА(Набор.Поступит) <> 0
		ИЛИ СУММА(Набор.ВРезерве) <> 0
		ИЛИ СУММА(Набор.Доступно) <> 0
		ИЛИ СУММА(Набор.КОбеспечению) <> 0)

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	Склад,
	Назначение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Таблица.ТипЗаписи КАК ТипЗаписи,
	Таблица.Номенклатура КАК Номенклатура,
	Таблица.Характеристика КАК Характеристика,
	Таблица.Склад КАК Склад,
	Таблица.Назначение КАК Назначение,
	ВЫБОР
		КОГДА Таблица.Назначение.Заказ <> НЕОПРЕДЕЛЕНО
			ТОГДА Таблица.Назначение.Заказ
		ИНАЧЕ Таблица.ЗаказНаОтгрузку
	КОНЕЦ КАК ЗаказНаОтгрузку,
	Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Таблица.ДатаДоступности КАК ДатаДоступности,
	Таблица.Отгружается КАК Отгружается,
	Таблица.ВНаличии КАК ВНаличии,
	Таблица.Поступит КАК Поступит,
	Таблица.ВРезерве КАК ВРезерве,
	Таблица.Доступно КАК Доступно,
	ЕСТЬNULL(ВЫБОР
			КОГДА Таблица.КОбеспечению > 0
				ТОГДА Таблица.КОбеспечению
			ИНАЧЕ 0
		КОНЕЦ, Таблица.КОбеспечению) КАК КОбеспечению,
	ЕСТЬNULL(Таблица.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности,
	ЕСТЬNULL(Таблица.Назначение.Партнер, ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)) КАК Партнер,
	ЕСТЬNULL(Таблица.Назначение.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)) КАК Договор,
	Таблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
	Таблица.Номенклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,
	Таблица.Номенклатура.КоэффициентЕдиницыДляОтчетов КАК КоэффициентЕдиницыДляОтчетов,
	&ТекстЗапросаВесНоменклатуры КАК Вес,
	&ТекстЗапросаОбъемНоменклатуры КАК Объем,
	Таблица.Цена КАК Цена
ИЗ
	ТаблицаДанныхОтчетаБезДополнительныхПолей КАК Таблица
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. starjevschik 27.06.23 18:15 Сейчас в теме
(1)
РегистрСведений.НоменклатураСегмента КАК Сегменты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО (ИСТИНА)

наймите программиста. У вас программированием занят человек, который совсем не в теме, это чревато убытками.
6. Gok9 27.06.23 18:16 Сейчас в теме
2. LifeRock 27.06.23 18:11 Сейчас в теме
А почему так?
"ПО (ТоварыКОтгрузке.Номенклатура = ЦеныНоменклатуры.Цена)"
3. LifeRock 27.06.23 18:13 Сейчас в теме
(2) и почему по ценам не срез и нет отбора по виду цен
7. Gok9 27.06.23 18:18 Сейчас в теме
(3) срез обязательно?

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ИнформацияОДоступности.Номенклатура КАК Номенклатура,
	ИнформацияОДоступности.Характеристика КАК Характеристика,
	ИнформацияОДоступности.Склад КАК Склад,
	ИнформацияОДоступности.Назначение КАК Назначение,
	ИнформацияОДоступности.ЗаказНаПоступление КАК Заказ,
	ИнформацияОДоступности.ДатаПоступления КАК ДатаСобытия,
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе)
			ТОГДА ИнформацияОДоступности.Запас
		ИНАЧЕ 0
	КОНЕЦ КАК ВНаличииОстаток,
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемоеПоступление)
			ТОГДА ИнформацияОДоступности.Запас
		ИНАЧЕ 0
	КОНЕЦ КАК ПоступитОстаток
ПОМЕСТИТЬ ЗапасыИПотребности
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
ГДЕ
	ЛОЖЬ

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	Склад,
	Назначение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
	ТоварыКОтгрузке.Характеристика КАК Характеристика,
	ТоварыКОтгрузке.Склад КАК Склад,
	ТоварыКОтгрузке.Назначение КАК Назначение,
	ТоварыКОтгрузке.ДокументОтгрузки КАК ДокументОтгрузки,
	ТоварыКОтгрузке.КОтгрузкеОстаток КАК КОтгрузкеОстаток,
	ЦеныНоменклатуры25.Цена КАК Цена
ПОМЕСТИТЬ ТоварыКОтгрузке
ИЗ
	РегистрНакопления.ТоварыКОтгрузке.Остатки(
			,
			ВЫБОР
				КОГДА &ПоказатьОбособленныеТовары
					ТОГДА ИСТИНА
				ИНАЧЕ Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
			КОНЕЦ {((Номенклатура, Характеристика) В
			    (ВЫБРАТЬ
			        ТаблицаОтбора.Номенклатура КАК Номенклатура,
			        ТаблицаОтбора.Характеристика КАК Характеристика
			    ИЗ
			        ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
			    ГДЕ
			        ТаблицаОтбора.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Склад).*, (Номенклатура).*, (Характеристика).*}) КАК ТоварыКОтгрузке
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25 КАК ЦеныНоменклатуры25
		ПО (ТоварыКОтгрузке.Номенклатура = ЦеныНоменклатуры25.Номенклатура)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	&ТипЗаписиСейчас КАК ТипЗаписи,
	ТоварыКОтгрузке.Номенклатура КАК Номенклатура,
	ТоварыКОтгрузке.Характеристика КАК Характеристика,
	ТоварыКОтгрузке.Склад КАК Склад,
	ТоварыКОтгрузке.Назначение КАК Назначение,
	ТоварыКОтгрузке.ДокументОтгрузки КАК ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО КАК ЗаказНаПоступление,
	ДАТАВРЕМЯ(1, 1, 1) КАК ДатаДоступности,
	ТоварыКОтгрузке.КОтгрузкеОстаток КАК Отгружается,
	0 КАК ВНаличии,
	0 КАК Поступит,
	0 КАК ВРезерве,
	0 КАК Доступно,
	0 КАК КОбеспечению,
	ТоварыКОтгрузке.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаДанныхОтчета
ИЗ
	ТоварыКОтгрузке КАК ТоварыКОтгрузке

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиСейчас,
	ТоварыКОтгрузке.Номенклатура,
	ТоварыКОтгрузке.Характеристика,
	ТоварыКОтгрузке.Склад,
	ТоварыКОтгрузке.Назначение,
	НЕОПРЕДЕЛЕНО,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	0,
	0,
	0,
	0,
	0,
	ТоварыКОтгрузке.Цена
ИЗ
	ТоварыКОтгрузке КАК ТоварыКОтгрузке

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиНеОбеспечено,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	0,
	0,
	0,
	0,
	ИнформацияОДоступности.Зарезервировано,
	NULL
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаетсяПоНеподтвержденномуЗаказу)
	И ИнформацияОДоступности.Склад ССЫЛКА Справочник.Склады
	И ИнформацияОДоступности.Зарезервировано > 0
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиНеОбеспечено,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	0,
	0,
	0,
	0,
	ИнформацияОДоступности.Обеспечено,
	NULL
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние В (ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаетсяПоНеподтвержденномуЗаказу), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченКДате), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченНаСкладе))
	И ИнформацияОДоступности.Склад ССЫЛКА Справочник.Склады
	И ИнформацияОДоступности.Обеспечено > 0
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ВЫБОР
		КОГДА ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.Обеспечить)
			ТОГДА &ТипЗаписиНеОбеспечено
		КОГДА ИнформацияОДоступности.ДатаПоступления = ДАТАВРЕМЯ(1, 1, 1)
			ТОГДА &ТипЗаписиСейчас
		ИНАЧЕ &ТипЗаписиОжидается
	КОНЕЦ,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	ИнформацияОДоступности.ЗаказНаОтгрузку,
	ИнформацияОДоступности.ЗаказНаПоступление,
	ИнформацияОДоступности.ДатаПоступления,
	0,
	0,
	0,
	ИнформацияОДоступности.Зарезервировано,
	ИнформацияОДоступности.Свободно,
	ИнформацияОДоступности.НеОбеспечено,
	NULL
ИЗ
	РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
		{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
		ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
			И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
ГДЕ
	ИнформацияОДоступности.Состояние В (ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОстатокНаСкладе), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемоеПоступление), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченНаСкладе), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОбеспеченКДате), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.Обеспечить), ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ВРезерве))
	И (ИнформацияОДоступности.Зарезервировано <> 0
			ИЛИ ИнформацияОДоступности.НеОбеспечено <> 0
			ИЛИ ИнформацияОДоступности.Свободно <> 0)
	И ИнформацияОДоступности.Склад ССЫЛКА Справочник.Склады
	И ВЫБОР
			КОГДА &ПоказатьОбособленныеТовары
				ТОГДА ИСТИНА
			ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
		КОНЕЦ
{ГДЕ
	ИнформацияОДоступности.Склад.* КАК Склад,
	ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
	ИнформацияОДоступности.Характеристика.* КАК Характеристика}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ВЫБОР
		КОГДА ИнформацияОДоступности.ДатаСобытия = ДАТАВРЕМЯ(1, 1, 1)
			ТОГДА &ТипЗаписиСейчас
		ИНАЧЕ &ТипЗаписиОжидается
	КОНЕЦ,
	ИнформацияОДоступности.Номенклатура,
	ИнформацияОДоступности.Характеристика,
	ИнформацияОДоступности.Склад,
	ИнформацияОДоступности.Назначение,
	НЕОПРЕДЕЛЕНО,
	ИнформацияОДоступности.Заказ,
	ИнформацияОДоступности.ДатаСобытия,
	0,
	ИнформацияОДоступности.ВНаличииОстаток,
	ИнформацияОДоступности.ПоступитОстаток,
	0,
	0,
	0,
	NULL
ИЗ
	ЗапасыИПотребности КАК ИнформацияОДоступности
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Таблица.Номенклатура КАК Номенклатура,
	Таблица.Характеристика КАК Характеристика,
	Таблица.Склад КАК Склад,
	Таблица.Назначение КАК Назначение,
	Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Таблица.ДатаДоступности КАК ДатаДоступности,
	СУММА(Таблица.ВНаличии + Таблица.Поступит - Таблица.Доступно - Таблица.ВРезерве) КАК ВРезерве,
	Таблица.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаКРаспределению
ИЗ
	ТаблицаДанныхОтчета КАК Таблица

СГРУППИРОВАТЬ ПО
	Таблица.Номенклатура,
	Таблица.Характеристика,
	Таблица.Склад,
	Таблица.Назначение,
	Таблица.ЗаказНаПоступление,
	Таблица.ДатаДоступности,
	Таблица.Цена

ИМЕЮЩИЕ
	СУММА(Таблица.ВНаличии + Таблица.Поступит - Таблица.Доступно) <> СУММА(Таблица.ВРезерве)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Набор.ТипЗаписи КАК ТипЗаписи,
	Набор.Номенклатура КАК Номенклатура,
	Набор.Характеристика КАК Характеристика,
	Набор.Склад КАК Склад,
	Набор.Назначение КАК Назначение,
	Набор.ЗаказНаОтгрузку КАК ЗаказНаОтгрузку,
	Набор.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Набор.ДатаДоступности КАК ДатаДоступности,
	СУММА(Набор.Отгружается) КАК Отгружается,
	СУММА(Набор.ВНаличии) КАК ВНаличии,
	СУММА(Набор.Поступит) КАК Поступит,
	СУММА(Набор.ВРезерве) КАК ВРезерве,
	СУММА(Набор.Доступно) КАК Доступно,
	СУММА(Набор.КОбеспечению) КАК КОбеспечению,
	Набор.Цена КАК Цена
ПОМЕСТИТЬ ТаблицаДанныхОтчетаБезДополнительныхПолей
ИЗ
	(ВЫБРАТЬ
		Таблица.ТипЗаписи КАК ТипЗаписи,
		Таблица.Номенклатура КАК Номенклатура,
		Таблица.Характеристика КАК Характеристика,
		Таблица.Склад КАК Склад,
		Таблица.Назначение КАК Назначение,
		Таблица.ЗаказНаОтгрузку КАК ЗаказНаОтгрузку,
		Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
		Таблица.ДатаДоступности КАК ДатаДоступности,
		Таблица.Отгружается КАК Отгружается,
		Таблица.ВНаличии КАК ВНаличии,
		Таблица.Поступит КАК Поступит,
		Таблица.ВРезерве КАК ВРезерве,
		Таблица.Доступно КАК Доступно,
		Таблица.КОбеспечению КАК КОбеспечению,
		Таблица.Цена КАК Цена
	ИЗ
		ТаблицаДанныхОтчета КАК Таблица
			{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
			ПО (ТаблицаОтбора.Номенклатура = Таблица.Номенклатура)
				И (ТаблицаОтбора.Характеристика = Таблица.Характеристика)}
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		ВЫБОР
			КОГДА Таблица.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1)
				ТОГДА &ТипЗаписиСейчас
			ИНАЧЕ &ТипЗаписиОжидается
		КОНЕЦ,
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		НЕОПРЕДЕЛЕНО,
		Таблица.ЗаказНаПоступление,
		Таблица.ДатаДоступности,
		0,
		0,
		0,
		Таблица.ВРезерве,
		0,
		0,
		Таблица.Цена
	ИЗ
		ТаблицаКРаспределению КАК Таблица
			{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
			ПО (ТаблицаОтбора.Номенклатура = Таблица.Номенклатура)
				И (ТаблицаОтбора.Характеристика = Таблица.Характеристика)}
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		&ТипЗаписиНеОбеспечено,
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		НЕОПРЕДЕЛЕНО,
		НЕОПРЕДЕЛЕНО,
		ДАТАВРЕМЯ(1, 1, 1),
		0,
		0,
		0,
		0,
		0,
		СУММА(Таблица.КОбеспечению - Таблица.ВРезерве),
		Таблица.Цена
	ИЗ
		(ВЫБРАТЬ
			ИнформацияОДоступности.Номенклатура КАК Номенклатура,
			ИнформацияОДоступности.Характеристика КАК Характеристика,
			ИнформацияОДоступности.Склад КАК Склад,
			ИнформацияОДоступности.Назначение КАК Назначение,
			0 КАК ВРезерве,
			ИнформацияОДоступности.КОбеспечениюБезРезерва + ИнформацияОДоступности.ОтложитьРезервирование + ИнформацияОДоступности.РезервироватьПоМереПоступления + ИнформацияОДоступности.Резервировать КАК КОбеспечению,
			NULL КАК Цена
		ИЗ
			РегистрСведений.РаспределениеЗапасов КАК ИнформацияОДоступности
				{ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОтборПоСегментуНоменклатуры КАК ТаблицаОтбора
				ПО (ТаблицаОтбора.Номенклатура = ИнформацияОДоступности.Номенклатура)
					И (ТаблицаОтбора.Характеристика = ИнформацияОДоступности.Характеристика)}
		ГДЕ
			ИнформацияОДоступности.Состояние = ЗНАЧЕНИЕ(Перечисление.РаспределениеЗапасовСостояния.ОжидаемаяОтгрузка)
			И ИнформацияОДоступности.Склад ССЫЛКА Справочник.Склады
			И ВЫБОР
					КОГДА &ПоказатьОбособленныеТовары
						ТОГДА ИСТИНА
					ИНАЧЕ ИнформацияОДоступности.Назначение = ЗНАЧЕНИЕ(Справочник.Назначения.ПустаяСсылка)
				КОНЕЦ
		{ГДЕ
			ИнформацияОДоступности.Склад.* КАК Склад,
			ИнформацияОДоступности.Номенклатура.* КАК Номенклатура,
			ИнформацияОДоступности.Характеристика.* КАК Характеристика}
		
		ОБЪЕДИНИТЬ ВСЕ
		
		ВЫБРАТЬ
			Таблица.Номенклатура,
			Таблица.Характеристика,
			Таблица.Склад,
			Таблица.Назначение,
			Таблица.ВРезерве,
			-Таблица.КОбеспечению,
			Таблица.Цена
		ИЗ
			ТаблицаДанныхОтчета КАК Таблица
		
		ОБЪЕДИНИТЬ ВСЕ
		
		ВЫБРАТЬ
			Таблица.Номенклатура,
			Таблица.Характеристика,
			Таблица.Склад,
			Таблица.Назначение,
			Таблица.ВРезерве,
			0,
			Таблица.Цена
		ИЗ
			ТаблицаКРаспределению КАК Таблица) КАК Таблица
	
	СГРУППИРОВАТЬ ПО
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		Таблица.Цена
	
	ИМЕЮЩИЕ
		СУММА(Таблица.КОбеспечению - Таблица.ВРезерве) <> 0) КАК Набор

СГРУППИРОВАТЬ ПО
	Набор.ТипЗаписи,
	Набор.Номенклатура,
	Набор.Характеристика,
	Набор.Склад,
	Набор.Назначение,
	Набор.ЗаказНаОтгрузку,
	Набор.ЗаказНаПоступление,
	Набор.ДатаДоступности,
	Набор.Цена

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	Склад,
	Назначение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТаблицаСгруппированная.Номенклатура КАК Номенклатура,
	ТаблицаСгруппированная.Характеристика КАК Характеристика,
	ТаблицаСгруппированная.Склад КАК Склад,
	ТаблицаСгруппированная.Назначение КАК Назначение,
	ТаблицаСгруппированная.Отгружается КАК Отгружается,
	ВЫБОР
		КОГДА ТаблицаСгруппированная.КОбеспечению + ТаблицаСгруппированная.ВРезерве - ВЫБОР
				КОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит > 0
					ТОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит
				ИНАЧЕ 0
			КОНЕЦ > 0
			ТОГДА ТаблицаСгруппированная.КОбеспечению + ТаблицаСгруппированная.ВРезерве - ВЫБОР
					КОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит > 0
						ТОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 0
	КОНЕЦ КАК Дефицит,
	ВЫБОР
		КОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит - ТаблицаСгруппированная.КОбеспечению - ТаблицаСгруппированная.ВРезерве > 0
			ТОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит - ТаблицаСгруппированная.КОбеспечению - ТаблицаСгруппированная.ВРезерве
		КОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит < 0
			ТОГДА ТаблицаСгруппированная.ВНаличии + ТаблицаСгруппированная.Поступит
		ИНАЧЕ 0
	КОНЕЦ КАК Излишек
ПОМЕСТИТЬ ТаблицаДанныхОтчетаСгруппированная
ИЗ
	(ВЫБРАТЬ
		Таблица.Номенклатура КАК Номенклатура,
		Таблица.Характеристика КАК Характеристика,
		Таблица.Склад КАК Склад,
		Таблица.Назначение КАК Назначение,
		СУММА(Таблица.Отгружается) КАК Отгружается,
		СУММА(Таблица.ВНаличии) КАК ВНаличии,
		СУММА(Таблица.Поступит) КАК Поступит,
		СУММА(Таблица.ВРезерве) КАК ВРезерве,
		СУММА(Таблица.Доступно) КАК Доступно,
		СУММА(ВЫБОР
				КОГДА Таблица.КОбеспечению > 0
					ТОГДА Таблица.КОбеспечению
				ИНАЧЕ 0
			КОНЕЦ) КАК КОбеспечению,
		Таблица.Цена КАК Цена
	ИЗ
		ТаблицаДанныхОтчетаБезДополнительныхПолей КАК Таблица
	
	СГРУППИРОВАТЬ ПО
		Таблица.Номенклатура,
		Таблица.Характеристика,
		Таблица.Склад,
		Таблица.Назначение,
		Таблица.Цена) КАК ТаблицаСгруппированная

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Характеристика,
	Склад,
	Назначение
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Таблица.ТипЗаписи КАК ТипЗаписи,
	Таблица.Номенклатура КАК Номенклатура,
	Таблица.Характеристика КАК Характеристика,
	Таблица.Склад КАК Склад,
	Таблица.Назначение КАК Назначение,
	Таблица.ЗаказНаОтгрузку КАК ЗаказНаОтгрузку,
	Таблица.ЗаказНаПоступление КАК ЗаказНаПоступление,
	Таблица.ДатаДоступности КАК ДатаДоступности,
	Таблица.Отгружается КАК Отгружается,
	Таблица.ВНаличии + ЕСТЬNULL(ТаблицаСгруппированная.Отгружается, 0) КАК ВНаличии,
	Таблица.Поступит КАК Поступит,
	Таблица.ВРезерве КАК ВРезерве,
	Таблица.Доступно КАК Доступно,
	ЕСТЬNULL(ВЫБОР
			КОГДА Таблица.КОбеспечению > 0
				ТОГДА Таблица.КОбеспечению
			ИНАЧЕ 0
		КОНЕЦ, Таблица.КОбеспечению) КАК КОбеспечению,
	ЕСТЬNULL(ТаблицаСгруппированная.Дефицит, 0) КАК Дефицит,
	ЕСТЬNULL(ТаблицаСгруппированная.Излишек, 0) КАК Излишек,
	ЕСТЬNULL(Таблица.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)) КАК НаправлениеДеятельности,
	ЕСТЬNULL(Таблица.Назначение.Партнер, ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)) КАК Партнер,
	ЕСТЬNULL(Таблица.Назначение.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)) КАК Договор,
	Таблица.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
	Таблица.Номенклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,
	Таблица.Номенклатура.КоэффициентЕдиницыДляОтчетов КАК КоэффициентЕдиницыДляОтчетов,
	&ТекстЗапросаВесНоменклатуры КАК Вес,
	&ТекстЗапросаОбъемНоменклатуры КАК Объем,
	Таблица.Цена КАК Цена
ИЗ
	ТаблицаДанныхОтчетаБезДополнительныхПолей КАК Таблица
		ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДанныхОтчетаСгруппированная КАК ТаблицаСгруппированная
		ПО (ТаблицаСгруппированная.Номенклатура = Таблица.Номенклатура)
			И (ТаблицаСгруппированная.Характеристика = Таблица.Характеристика)
			И (ТаблицаСгруппированная.Склад = Таблица.Склад)
			И (ТаблицаСгруппированная.Назначение = Таблица.Назначение)
			И (Таблица.ЗаказНаОтгрузку = НЕОПРЕДЕЛЕНО)
			И (Таблица.ЗаказНаПоступление = НЕОПРЕДЕЛЕНО)
			И (Таблица.ТипЗаписи = &ТипЗаписиСейчас)
ГДЕ
	(Таблица.Отгружается <> 0
			ИЛИ Таблица.ВНаличии + ЕСТЬNULL(ТаблицаСгруппированная.Отгружается, 0) <> 0
			ИЛИ Таблица.Поступит <> 0
			ИЛИ Таблица.ВРезерве <> 0
			ИЛИ Таблица.Доступно <> 0
			ИЛИ Таблица.КОбеспечению > 0)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	&ТипЗаписиСейчас,
	Таблица.Номенклатура,
	Таблица.Характеристика,
	Таблица.Склад,
	Таблица.Назначение,
	НЕОПРЕДЕЛЕНО,
	НЕОПРЕДЕЛЕНО,
	ДАТАВРЕМЯ(1, 1, 1),
	0,
	Таблица.Отгружается,
	0,
	0,
	0,
	0,
	Таблица.Дефицит,
	Таблица.Излишек,
	ЕСТЬNULL(Таблица.Назначение.НаправлениеДеятельности, ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка)),
	ЕСТЬNULL(Таблица.Назначение.Партнер, ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)),
	ЕСТЬNULL(Таблица.Назначение.Договор, ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)),
	Таблица.Номенклатура.ЕдиницаИзмерения,
	Таблица.Номенклатура.ЕдиницаДляОтчетов,
	Таблица.Номенклатура.КоэффициентЕдиницыДляОтчетов,
	&ТекстЗапросаВесНоменклатуры,
	&ТекстЗапросаОбъемНоменклатуры,
	NULL
ИЗ
	ТаблицаДанныхОтчетаСгруппированная КАК Таблица
		ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДанныхОтчетаБезДополнительныхПолей КАК ТаблицаДанных
		ПО (ТаблицаДанных.Номенклатура = Таблица.Номенклатура)
			И (ТаблицаДанных.Характеристика = Таблица.Характеристика)
			И (ТаблицаДанных.Склад = Таблица.Склад)
			И (ТаблицаДанных.Назначение = Таблица.Назначение)
			И (ТаблицаДанных.ЗаказНаОтгрузку = НЕОПРЕДЕЛЕНО)
			И (ТаблицаДанных.ЗаказНаПоступление = НЕОПРЕДЕЛЕНО)
			И (ТаблицаДанных.ТипЗаписи = &ТипЗаписиСейчас)
ГДЕ
	ТаблицаДанных.Номенклатура ЕСТЬ NULL
	И (Таблица.Отгружается <> 0
			ИЛИ Таблица.Дефицит <> 0
			ИЛИ Таблица.Излишек <> 0) 
Показать


Этот запрос немного отличается и здесь уже цену не отображает
5. Gok9 27.06.23 18:16 Сейчас в теме
(2) Это исправил цену отобразил
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот