СКД Задвоение детальных записей

1. Krotov_Valery 01.04.23 18:07 Сейчас в теме
Добрый день!

Прошу помощи с СКД.

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	ОбеспечениеЗаказовОстаткиИОбороты.Номенклатура КАК Номенклатура,
	ОбеспечениеЗаказовОстаткиИОбороты.Склад КАК Склад,
	ОбеспечениеЗаказовОстаткиИОбороты.Назначение КАК Назначение,
	ОбеспечениеЗаказовОстаткиИОбороты.ПотребностьПриход КАК ПотребностьПриход,
	ОбеспечениеЗаказовОстаткиИОбороты.КЗаказуНачальныйОстаток КАК КЗаказуНачальныйОстаток,
	ОбеспечениеЗаказовОстаткиИОбороты.КЗаказуПриход КАК КЗаказуПриход,
	ОбеспечениеЗаказовОстаткиИОбороты.КЗаказуКонечныйОстаток КАК КЗаказуКонечныйОстаток,
	ОбеспечениеЗаказовОстаткиИОбороты.НаличиеПодЗаказНачальныйОстаток КАК НаличиеПодЗаказНачальныйОстаток,
	ОбеспечениеЗаказовОстаткиИОбороты.НаличиеПодЗаказКонечныйОстаток КАК НаличиеПодЗаказКонечныйОстаток
ПОМЕСТИТЬ вт_Обеспечение
ИЗ
	РегистрНакопления.ОбеспечениеЗаказов.ОстаткиИОбороты(, , Авто, , ) КАК ОбеспечениеЗаказовОстаткиИОбороты
;

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	вт_Обеспечение.Номенклатура КАК Номенклатура,
	вт_Обеспечение.Склад КАК Склад,
	вт_Обеспечение.Назначение КАК Назначение,
	вт_Обеспечение.ПотребностьПриход КАК ПотребностьПриход,
	вт_Обеспечение.КЗаказуНачальныйОстаток КАК КЗаказуНачальныйОстаток,
	вт_Обеспечение.КЗаказуПриход КАК КЗаказуПриход,
	вт_Обеспечение.КЗаказуКонечныйОстаток КАК КЗаказуКонечныйОстаток,
	вт_Обеспечение.НаличиеПодЗаказНачальныйОстаток КАК НаличиеПодЗаказНачальныйОстаток,
	вт_Обеспечение.НаличиеПодЗаказКонечныйОстаток КАК НаличиеПодЗаказКонечныйОстаток,
	вт_СвободныеОстатки.СкладВТКС_ВидСклада КАК СкладВТКС_ВидСклада,
	вт_СвободныеОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
	вт_Движения.ПланируемоеПоступлениеПодЗаказОборот КАК ПланируемоеПоступлениеПодЗаказОборот
ИЗ
	вт_Обеспечение КАК вт_Обеспечение
		ЛЕВОЕ СОЕДИНЕНИЕ вт_Движения КАК вт_Движения
		ПО вт_Обеспечение.Номенклатура = вт_Движения.Номенклатура
			И вт_Обеспечение.Склад = вт_Движения.Склад
			И вт_Обеспечение.Назначение = вт_Движения.Назначение
		ЛЕВОЕ СОЕДИНЕНИЕ вт_СвободныеОстатки КАК вт_СвободныеОстатки
		ПО вт_Обеспечение.Номенклатура = вт_СвободныеОстатки.Номенклатура
Показать


Отсутствие связи по складу между вт_Обеспечение и вт_СвободныеОстатки сделано преднамеренно т.к. есть необходимость для каждой строки номенклатуры получать общие итоги по типу склада для поля СвободныеОстатки.ВНаличииОстаток.

В итоге происходит суммирование в детальных записях.

Как решить проблему?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
3. echo77 1886 01.04.23 20:55 Сейчас в теме
Разделите выборку из вт_Обеспечение и вт_Движения, вт_СвободныеОстатки на два набора данных СКД. Свяжите наборы данных между собой (источник связи = набор с вт_Обеспечение), в этом случае остатки каждого набора будут рассчитаны отдельно и данные не будут задваиваться.

Посмотреть можно вот это https://youtu.be/FIbRuSR_0O8
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. echo77 1886 01.04.23 20:48 Сейчас в теме
(1) Почему верное К заказу конечный остаток = 11?

Если я правильно понял, то в последнем запросе пакета из-за левого соединения данные задваиваются
3. echo77 1886 01.04.23 20:55 Сейчас в теме
Разделите выборку из вт_Обеспечение и вт_Движения, вт_СвободныеОстатки на два набора данных СКД. Свяжите наборы данных между собой (источник связи = набор с вт_Обеспечение), в этом случае остатки каждого набора будут рассчитаны отдельно и данные не будут задваиваться.

Посмотреть можно вот это https://youtu.be/FIbRuSR_0O8
4. Krotov_Valery 02.04.23 14:44 Сейчас в теме
(3)
Обеспечение и вт_Движения, вт_СвободныеОстатк


Благодарствую. Это именно то что нужно.
Оставьте свое сообщение

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