База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить все подразделения с подчиненными в 1С:ЗУП?
- В этой теме 1 ответ, 2 участника, последнее обновление 7 месяцев, 4 недели назад сделано
Odin — Одинэсник.
Просмотр 1 ветки ответов
-
АвторСообщения
-
-
28 апреля 2025 в 12:30 #32437
как получить все подразделения включая подчиненные 1с зуп
-
28 апреля 2025 в 12:30 #32438
Для получения всех подразделений, включая подчиненные, в 1С:ЗУП можно использовать запрос к справочнику «Подразделения». Вот пример кода на языке 1С, который позволяет получить все подразделения с их подчиненными:
1C // Создаем запрос для получения всех подразделений Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Подразделения.Ссылка КАК Подразделение, Подразделения.Наименование КАК Наименование, Подразделения.Родитель КАК Родитель ИЗ Справочник.Подразделения КАК Подразделения ГДЕ Подразделения.Удален = Ложь"; // Выполняем запрос Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); // Создаем структуру для хранения подразделений Подразделения = Новый СписокЗначений; // Обходим выборку и добавляем подразделения в список Пока Выборка.Следующий() Цикл Подразделения.Добавить(Выборка.Подразделение); КонецЦикла; // Функция для рекурсивного получения подчиненных подразделений Процедура ПолучитьПодчиненные(Родитель, Уровень) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Подразделения.Ссылка КАК Подразделение, Подразделения.Наименование КАК Наименование ИЗ Справочник.Подразделения КАК Подразделения ГДЕ Подразделения.Удален = Ложь И Подразделения.Родитель = &Родитель"; Запрос.УстановитьПараметр("Родитель", Родитель); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Подразделения.Добавить(Выборка.Подразделение); ПолучитьПодчиненные(Выборка.Подразделение, Уровень + 1); КонецЦикла; КонецПроцедуры // Получаем все подразделения, включая подчиненные Для каждого Подразделение Из Подразделения Цикл ПолучитьПодчиненные(Подразделение, 1); КонецЦикла; // Теперь в списке Подразделения находятся все подразделения и их подчиненныеЭтот код создает запрос к справочнику «Подразделения», получает все подразделения и рекурсивно добавляет подчиненные подразделения в список. Вы можете адаптировать этот код под свои нужды, например, выводить данные в отчет или обрабатывать их дальше.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1306278/
-
-
АвторСообщения
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.