Мой вариант:
+новая методика проведения;
+без РС для формирования комплектов, без табличных частей справочника Номенклатура, без подчиненных справочников. В справочник номенклатуры добавлен реквизит "Стеллаж" тип "СправочникСсылка.Номенклатура", тем самым контролируется уникальность Деталь - Стеллаж. Упрощаются запросы.
я тоже сделал связь комплектов через реквизит.
Запрос в РасходнойНакладной у меня получился больше в размере, зато отчет по наличию комплектов - проще.
Кстати, уже после возникла идея - возможно если сделать два справочника - "Стеллажи" и "Комплектующие", а связь по прежнему через реквизит справочника "Комплектующие", тогда уверен запросы будут намного проще и понятнее, а главное - займет меньше времени
Глянул Ваш вариант.
Пару маленьких замечаний:
1) Отчет по количеству стеллажей сформирован не полностью. Он не учитывает ситуацию, когда для стеллажа не хватает какой-то из детали. Он покажет минимальное количество стеллажей по имеющимся деталям, не учитывая, что каких-то деталей вообще нет. В этом случае и стеллажа нет.
2) Не целесообразно, особенно используя менеджер временных таблиц, для каждого нового запрос создавать новый объект типа Запрос. На мой взгляд, правильнее создать объект Запрос один раз, установить к нему менеджер временных таблиц, а далее только менять текст запроса и параметры.
3) Условие в запросе целесообразно задавать таким образом (Склад, Номенклатура) В (ВЫБРАТЬ &Склад, ТабДок.Номенклатура ИЗ ТабДок КАК ТабДок), а не через И;