Запросом можно легко получить число заказов с некоей номенклатурой. Также легко можно получить число заказов за период вообще. А как для каждой строчки номенклатуры получить отношение первого ко второму? навскидку накиданный запрос адски тормозит.
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура,
100 * КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВложенныйЗапрос.ЗаказПокупателя) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаказыПокупателей.Ссылка) КАК ПроцентОтношения
ИЗ
(ВЫБРАТЬ
ВЫБОР
КОГДА ЗаказыПокупателейОбороты.ЗаказПокупателя ЕСТЬ NULL
ТОГДА ВедомостьПотребностейВНоменклатуре.ЗаказПокупателя
ИНАЧЕ ЗаказыПокупателейОбороты.ЗаказПокупателя
КОНЕЦ КАК ЗаказПокупателя,
ВЫБОР
КОГДА ЗаказыПокупателейОбороты.Номенклатура ЕСТЬ NULL
ТОГДА ВедомостьПотребностейВНоменклатуре.Номенклатура
ИНАЧЕ ЗаказыПокупателейОбороты.Номенклатура
КОНЕЦ КАК Номенклатура
ИЗ
РегистрНакопления.ЗаказыПокупателей.Обороты(
&НачалоПериода,
&КонецПериода,
,
ЗаказПокупателя.Дата >= &НачалоПериода
И Номенклатура В (&Номенклатура)) КАК ЗаказыПокупателейОбороты
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ВедомостьПотребностейВНоменклатуре КАК ВедомостьПотребностейВНоменклатуре
ПО ЗаказыПокупателейОбороты.ЗаказПокупателя = ВедомостьПотребностейВНоменклатуре.ЗаказПокупателя
И ЗаказыПокупателейОбороты.Номенклатура = ВедомостьПотребностейВНоменклатуре.Номенклатура
ГДЕ
(ВедомостьПотребностейВНоменклатуре.Номенклатура В (&Номенклатура)
ИЛИ ЗаказыПокупателейОбороты.Номенклатура В (&Номенклатура))
И ЕСТЬNULL(ЗаказыПокупателейОбороты.КоличествоПриход, 1) > 0) КАК ВложенныйЗапрос,
Документ.ЗаказПокупателя КАК ЗаказыПокупателей
ГДЕ
ЗаказыПокупателей.Дата >= &НачалоПериода
И ЗаказыПокупателей.Проведен