Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 08:16

как запросом получить перечень номенклатуры с наименованием корневого каталога для каждой?

Автор blade_snl, 17 июн 2021, 16:44

0 Пользователей и 1 гость просматривают эту тему.

blade_snl

Был найден вот такой Запрос, очень удобный, по коду номенклатуры вытаскивает результатом Имя Корневого каталога в дереве Справочника:
ВЫБРАТЬ
   ВЫБОР ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
       КОГДА Спр.Родитель.Родитель
           ТОГДА Спр.Родитель
       КОГДА Спр.Родитель.Родитель.Родитель
           ТОГДА Спр.Родитель.Родитель
       КОГДА Спр.Родитель.Родитель.Родитель.Родитель
           ТОГДА Спр.Родитель.Родитель.Родитель
       КОГДА Спр.Родитель.Родитель.Родитель.Родитель.Родитель
           ТОГДА Спр.Родитель.Родитель.Родитель.Родитель
       КОГДА Спр.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель
           ТОГДА Спр.Родитель.Родитель.Родитель.Родитель.Родитель
       ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
   КОНЕЦ КАК КорнКаталогНаименование
ПОМЕСТИТЬ НоменклатураКаталог
ИЗ Справочник.Номенклатура КАК Спр
ГДЕ Спр.Код = &НоменклатураКод


но мне нужно запросом получать список номенклатуры, чтоб дополнительным столбцом по каждой выдавало Значение "КорнКаталогНаименование"

имею ввиду такой запрос:
ВЫБРАТЬ
Спр.Код,
Спр.Наименование,
... (сюда включить ХХХ.Марка из вышеизложенного запроса)
ИЗ Справочник.Номенклатура КАК Спр


И в итоге получить таблицу с полями:

Код | Наименование | Марка ....

подскажите, умные люди, как мне это реализовать? уже голову сломал, изобретая велосипед...

blade_snl

Разобрался )

ВЫБРАТЬ
ВЫБОР ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
       КОГДА Номенклатура.Родитель.Родитель
           ТОГДА Номенклатура.Родитель
       КОГДА Номенклатура.Родитель.Родитель.Родитель
           ТОГДА Номенклатура.Родитель.Родитель
       КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель
           ТОГДА Номенклатура.Родитель.Родитель.Родитель
       КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель
           ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель
       КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель
           ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель
       ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
КОНЕЦ КАК КорнКаталогНаименование,

Номенклатура.ЭтоГруппа,
Номенклатура.Код,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура


все оказалось достаточно просто.

LexaK

если вложенность не очень большая в общем так-же, через выбор

примерно так

выбрать первые 100
спр.Код,
Спр.Наименование,
спр.ссылка,
спр.марка,
выбор // свою вложенность настроить, получаем первого заполненного родителя
Когда спр.марка.Родитель.Родитель.Родитель.Ссылка есть не null  тогда спр.марка.Родитель.Родитель.Родитель
Когда спр.марка.Родитель.Родитель.Ссылка есть не null тогда спр.марка.Родитель.Родитель
Иначе спр.марка.Родитель
Конец как ГруппаМарки
ИЗ
Справочник.Номенклатура КАК Спр
где
//это для отладки
спр.марка.ссылка есть не Null
и спр.марка.Родитель.ссылка есть не Null

если помогло нажмите: Спасибо!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск