VaKiSe, не согласен с Вами. Условие "где" на вирт. таблицы - это вообще "досвидания")) Но здесь то речи нет о виртуальных таблицах... Это простой запрос с условием к простой таблице БД... А в вашем же решении вы получите большое ускорение только если НЕ хранить регистре собираемое изделие, а я полагаю, что пользователю нужно знать под какое изделие задействованы конкретные комплектующие, и то если изделие собирается более месяца, что бы итоги посчитались.
Если вы будете хранить в регистре только изделие и задействованные под него комплектующие - то инфа в итоге будет весьма странной - например собираем два шкафа один с одной дверью другой с двумя дверями (в разных документах). В отчете получим шкаф - 3 двери. Но тут еще ваша схема оправданна - и то если период сборки болше периода пересчета итогов (т.е. месяца).
А более того, я полагаю, что пользователю нужно знать под какую сборку задействованы те или иные комплектующие (это по сути и есть разрез "регистратор"). Т.е. он ("скорее всего", вот это то и надо уточнить у экзаменатора) захочет увидеть в отчете Шкаф (номенклатура) С одной дверью (комплектация, ну либо регистратор например), Дверь И 2ю запись - Шкаф, С двумя дверями, Дверь 2 шутки.
А в задаче написано: "Задействованные под собираемое изделие" , а собираемое изделие - это даже не номенклатура а комплектация, т.е. почти раегистратор.
Помимо всего прочего ваше решение попадает под это и это:
Добавлено (26.09.2013, 12:04)
---------------------------------------------
-В случае добавления новых регистров или реализации новых задач на существующих регистрах грубой ошибкой является неверное определение вида регистра накопления (остатки, когда нужны обороты или наоборот).
- Плохо, когда ресурсы регистра остатков (один или все) изменяются документами только "в одну сторону" (только в "+" или только в "-"),
---
Если уж будете делать по-своему, делайте хотя бы регистр оборотов.