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