База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как найти подчиненные подразделения в 1С:ЗУП? › RE: Как найти подчиненные подразделения в 1С:ЗУП?

Для получения подчиненных подразделений в 1С:ЗУП можно использовать запрос к справочнику “Подразделения”. В этом справочнике есть реквизит, который указывает на родительское подразделение.
Пример кода на языке 1С для получения подчиненных подразделений:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1C // Получаем справочник Подразделения Подразделения = Справочники.Подразделения.Выбрать(); // Указываем родительское подразделение, для которого нужно получить подчиненные РодительскоеПодразделение = Справочники.Подразделения.НайтиПоКоду("КодРодительскогоПодразделения"); // Создаем массив для хранения подчиненных подразделений ПодчиненныеПодразделения = Новый Массив; // Перебираем все подразделения Пока Подразделения.Следующий() Цикл // Проверяем, является ли текущее подразделение подчиненным Если Подразделения.Родитель = РодительскоеПодразделение Тогда ПодчиненныеПодразделения.Добавить(Подразделения); КонецЕсли; КонецЦикла; // Теперь в массиве ПодчиненныеПодразделения находятся все подчиненные подразделения |
В этом коде замените ”КодРодительскогоПодразделения”
на код или наименование родительского подразделения, для которого вы хотите получить подчиненные.
Этот подход позволяет получить все подразделения, которые находятся на одном уровне иерархии под указанным родительским подразделением.
Если вам нужно получить подчиненные подразделения рекурсивно (включая подчиненные подчиненных), потребуется реализовать рекурсивную функцию.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1906799/