Вопрос по добавлению поля в отчет

1. buggah 17.05.18 11:37 Сейчас в теме
По сути простой вопрос, помогите разобраться. Нужна срочность, с удовольствием кину 200р на телефон тому, кто поможет.
В конфигурации розница есть отчет ПродажиОстаткиТовараВДняхТорговли. Нужно, чтобы в доступных полях помимо Магазина, Номенклатуры, Товарной группы, Характеристика, появилось поле Склад.
Как я понимаю, нужно добавить пару строчек кода в запрос в схеме компановки данных. Вот код запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Склады.Магазин КАК Магазин,
	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
	СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
	Склады.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТоварыНаСкладахОстатки
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Номенклатура).* КАК Номенклатура, (Склад.Магазин).* КАК Магазин, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Склады КАК Склады
		ПО (Склады.Ссылка = ТоварыНаСкладахОстатки.Склад)

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

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

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

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

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

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

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

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

ИНДЕКСИРОВАТЬ ПО
	ВидЦен,
	ЦеноваяГруппа
;

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

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

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

СГРУППИРОВАТЬ ПО
	РезультирующаяТаблица.Магазин,
	РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
	РезультирующаяТаблица.Номенклатура,
	РезультирующаяТаблица.Характеристика,
	РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
	РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
Показать
По теме из базы знаний
Найденные решения
8. softcom_1c 20 18.05.18 08:20 Сейчас в теме
Вот измененный текст запроса (как писал ранее - протестировать мне его не на чем. Сравните тексты запросов, будет видно, что и где добавлялось (добавленное поле обрамлено комментарием). В СКД выводить так, как написано ранее). Мог что-то упустить, не обессудьте.:

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

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

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

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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Период,
    ПродажиОбороты.Магазин,
	//Новое поле "Склад"
	ПродажиОбороты.Склад,
	//...Новое поле "Склад"
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Характеристика

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

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

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

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

ИНДЕКСИРОВАТЬ ПО
    ВидЦен,
    ЦеноваяГруппа
;

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

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

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

СГРУППИРОВАТЬ ПО
    РезультирующаяТаблица.Магазин,
	//Новое поле "Склад"
	РезультирующаяТаблица.Склад,
	//...Новое поле "Склад"
    РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
    РезультирующаяТаблица.Номенклатура,
    РезультирующаяТаблица.Характеристика,
    РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
    РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. softcom_1c 20 17.05.18 11:55 Сейчас в теме
Вам нужно вывести поле "Склад" в ВТ "ТоварыНаСкладахОстатки" и "ПродажиОбороты". Далее в последнем пакете запроса во вложенном запросе "РезультирующаяТаблица" выбрать это поле в обоих запросах объединения. Далее нужно выбрать из этого вложенного запроса поле "Склад", добавить его в группировку последнего пакета, добавить его в ваши группировке на последней закладке схемы компановки.
3. buggah 17.05.18 12:06 Сейчас в теме
Со СКД никогда не работал:( Подскажите, что такое ВТ? И как выбрать потом поле Склад и добавить в группировки? Это описание для работы через конструктор запросов, верно?
4. user705522_constantin_h 35 17.05.18 16:43 Сейчас в теме
(3)ВТ это Временная таблица.
ПОМЕСТИТЬ ТоварыНаСкладахОстатки


ПОМЕСТИТЬ ПродажиОбороты


Они написаны на ярлычках справа в конструкторе запросов. На самом нижнем ярлычке конструктора запросов выберите ярлык Группировка. Слева у вас будут доступные поля, а в правом верхнем поле у вас будут уже выбранные поля группировки. Слева у вас будет поле Склад, его нужно будет добавить к полям группировки.
5. softcom_1c 20 17.05.18 16:47 Сейчас в теме
ВТ - временная таблица (Выше подсказали). Тут к СКД не особо относится.
Можете просто по тексту запроса найти перечисленные в певом комменте таблицы и вывести туда склад (Например для пакета запроса "ПродажиОбороты" это будет "ПродажиОбороты.Склад,"). Со схемой компановки все зависит от того, как там сейчас у Вас реализовано. Тут либо просто вывести в выбранные поля (если группировка - "детальные записи") или добавить в саму схему (исли поля группировок указаны) (во вложении картинка с первым попавшимся отчетом. Может прояснит что-то).

Текст запроса, к сожалению, я могу только поправить без тестирования т.к. по рукой нет росийской розницы. По этому лучше Вы самостоятельно доработайте.
Прикрепленные файлы:
6. buggah 18.05.18 01:08 Сейчас в теме
Извините, торможу, не могу понять. Добавил в группировки в 2 временные таблицы, но в Результатирующей Таблице это поле не вижу, как не вижу где искать 2 запроса объединения
Прикрепленные файлы:
7. Artem1995amyr 18.05.18 05:21 Сейчас в теме
(6) У тебя в первой ВТ (ТоварыНаСкладахОстатки) в регистре накопления ТоварыНаСкладахОстатки должен быть реквизит "Склад" добавь его как указано на картинке. И потом в итоговом "Запрос пакете" Выбери его из ВТ (ТоварыНаСкладахОстатки) и дальше делай как (5) сказал
Прикрепленные файлы:
8. softcom_1c 20 18.05.18 08:20 Сейчас в теме
Вот измененный текст запроса (как писал ранее - протестировать мне его не на чем. Сравните тексты запросов, будет видно, что и где добавлялось (добавленное поле обрамлено комментарием). В СКД выводить так, как написано ранее). Мог что-то упустить, не обессудьте.:

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

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

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

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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Период,
    ПродажиОбороты.Магазин,
	//Новое поле "Склад"
	ПродажиОбороты.Склад,
	//...Новое поле "Склад"
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.Характеристика

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

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

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

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

ИНДЕКСИРОВАТЬ ПО
    ВидЦен,
    ЦеноваяГруппа
;

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

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

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

СГРУППИРОВАТЬ ПО
    РезультирующаяТаблица.Магазин,
	//Новое поле "Склад"
	РезультирующаяТаблица.Склад,
	//...Новое поле "Склад"
    РезультирующаяТаблица.Номенклатура.ТоварнаяГруппа,
    РезультирующаяТаблица.Номенклатура,
    РезультирующаяТаблица.Характеристика,
    РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения,
    РезультирующаяТаблица.Номенклатура.ЕдиницаИзмерения
Показать
9. buggah 19.05.18 02:11 Сейчас в теме
Всем спасибо! Всё получилось, единственное - в первой ВТ вместо Склады.Склад - ТоварыНаСкладахОстатки.Склад.
softcom, пожалуйста, напишите телефон в личку, скину как обещал денюшку)
10. softcom_1c 20 21.05.18 08:10 Сейчас в теме
(9)Не стоит) Сообщество по возможности должно помогать в таких вопросах)
Оставьте свое сообщение

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