Иерархия номенклатуры

03.09.18

Учетные задачи - Логистика, склад и ТМЦ

Отчет отображает иерархию номенклатуры в "плоском" виде. Каждая папка начиная с нижнего уровня - отдельное поле. Максимум 10 уровней

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Иерархия номенклатуры:
.erf 15,03Kb
6 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В отчете Уровень 1 - самый нижний уровень в справочнике, начиная с корня

Отчет отображает в плоском виде номенклатуру и всех ее родителей, начиная с корня дерева(поля Уровень 1, Уровень 2, ...). Поля Уровней добавлять не нужно, отчет автоматически добавит необходимое количество полей

Настройки отчета сохраняются РС.СохраненныеНастройки

Алгоритм работы отчета

1. Получаем таблицу номенклатуры, для которой нужно определить уровни (Всю номенклатуру, удовлятворяющую пользовательскому отбору)
2. Получим таблицу всех родителей с помощью функции

 
 Функция ПолучитьТаблицуВсехРодителейНоменклатуры(МассивНоменклатуры)

3. Создаем новую таблицу, в которой в колонки Уровень1, Уровень2, ... вставляем родителей начиная с корня
4. Выводим отчет с помощью СКД с внешним набором данных
 

Проверялось на платформах: 8.2.13, 8.2.19, 8.3.10

В конфигурациях УПП 1.3.106, КА 1.1.46, УТ10.3.46

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Логистика, склад и ТМЦ 1С:Предприятие 8 Россия Платные (руб)

Подсистема автоматизированного управления складом AS WMS для конфигураций на платформе 1С 8. AS WMS – готовое решение для эффективного управления, хранения и учета на адресном складе. Внедрение системы AS WMS способствует быстрому отбору товара, ускорению инвентаризации, снижению зависимости от персонала, исключению пересорта. AS WMS встраивается в любую конфигурацию на платформе 1С 8 и работает как единая система без обменов. В учетной системе нет необходимости менять процессы под AS WMS (например, вводить ордерную схему), AS WMS использует стандартные документы по товародвижению вашей учетной системы.

50000 руб.

26.07.2023    12779    63    0    

14

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    209595    180    253    

298

Логистика, склад и ТМЦ Бухгалтер Пользователь 1С:Предприятие 8 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

Позволяет автоматизировать процесс взвешивания ТМЦ в организациях, осуществляющих приемку и отгрузку различным транспортом, для ведения складского учета и контроля остатков на складах. Конфигурация позволяет фиксировать вес вручную, напрямую с весов, а также управлять дополнительным оборудованием и контролировать движение транспорта.

40000 руб.

24.03.2015    139705    355    118    

146

Логистика, склад и ТМЦ Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Модуль ответственное хранения в 1С 8.3 для складов и фулфилмент-операторов: учет чужого товара, приемка на хранение, передача, возвраты, акты, адресный склад и работа с товарами поклажедателей.

89900 руб.

09.06.2020    57373    46    60    

78

Обмен с ГосИС Логистика, склад и ТМЦ Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Внешняя обработка для инвентаризации кодов маркировки в системе "Честный знак". Позволяет быстро определить и списать коды маркировки проданного, испорченного, утраченного (полный перечень причин списания указан ниже)  товара, которые всё ещё числятся за организацией. Привести в соответствие остатки маркированного товара программы 1С и системы "Честного знака".

6649 руб.

09.01.2024    19498    199    30    

182
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. olbu 03.09.18 08:42 Сейчас в теме
Исользуется динамическое создание текста запроса?
2. echo77 1943 03.09.18 09:22 Сейчас в теме
(1) Алгоритм описал. Нет, текст запроса не динамический, ограничен 10 уровнями. Можно сделать и динамический
3. alex_4x 88 03.09.18 13:59 Сейчас в теме
У Вас в запросе Уровень1 - это не первый от корня уровень, а первый от номенклатуры (всё наоборот)
4. echo77 1943 03.09.18 14:01 Сейчас в теме
(3)
У Вас в запросе Уровень1 - это не первый от корня уровень, а первый от номенклатуры (всё наоборот)

Где? в запросе Родитель1, Родитель2..., далее(вне этой функции) алгоритм обрабатывает полученные данные и уже строит таблицу с колонками Уровень1, Уровень2,...
5. alex_4x 88 03.09.18 14:48 Сейчас в теме
В запросе сразу правильно можно получить.
Первый уровень группировки от корня будет в колонке 1, второй в колонке 2 и так далее.

Запрос для справочника Номенклатура максимальная вложенность 10
ВЫБРАТЬ
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_1,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_1,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_2,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_2,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_3,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_3,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_4,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_4,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_5,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_5,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_6,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_6,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_7,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_7,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_8,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_8,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Код
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_9,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Родитель.Наименование
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_9,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Код
	ИНАЧЕ NULL
	КОНЕЦ КАК Код_10,
	ВЫБОР
	КОГДА Справочник.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		ТОГДА Справочник.Наименование
	ИНАЧЕ NULL
	КОНЕЦ КАК Наименование_10,
	Справочник.Код КАК Код_Элемента,
	Справочник.Наименование КАК Наименование_Элемента
ИЗ
	Справочник.Номенклатура КАК Справочник
ГДЕ
	Справочник.ЭтоГруппа = ЛОЖЬ
Показать
admin; echo77; +2 Ответить
6. echo77 1943 03.09.18 15:10 Сейчас в теме
(5) Можно, но то что я вижу - полный пипец
7. karpik666 4353 04.09.18 16:35 Сейчас в теме
я понял этот такая троллинговая статья, про алгоритм определения родителя уже давно все расписано https://infostart.ru/public/160707/
8. echo77 1943 05.09.18 15:25 Сейчас в теме
(7) Нет, это не троллинг. Алгоритмы из публикации по ссылке я сначала пытался использоваться при решении данной задачи, но все оказалось проще и они не понадобились.

Тем не менее, задача оказалась, сложнее, чем выглядела на первый взгляд, но на infostart не нашел решения. Вот делюсь своим
9. karpik666 4353 05.09.18 15:37 Сейчас в теме
(8) но это же решение "в лоб", разве есть в нем какая-то нужность, по ссылке запрос строится динамически, при этом это более грамотно по производительности, а на вход принимается как раз количество необходимых уровней.
Для отправки сообщения требуется регистрация/авторизация