Как получить вышестоящее подразделение в иерархии? Бухгалтерия предприятия 8.3
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) либо (8) либо запрос
ТекущийЭлементПодразделения = ЭлементПодразделение;
Запрос = Новый Запрос("ВЫБРАТЬ
| Подразделение.Родитель,
| Подразделение.Родитель.Родитель,
| Подразделение.Родитель.Родитель.Родитель,
| Подразделение.Родитель.Родитель.Родитель.Родитель,
| Подразделение.Родитель.Родитель.Родитель.Родитель.Родитель
|ИЗ
| Справочник.Подразделение КАК Подразделение
|
|ГДЕ
| Подразделение.Ссылка = &ТекущийЭлементПодразделения";
Пока Истина Цикл
Запрос.УстановитьПараметр("ТекущийЭлементПодразделения", ТекущийЭлементПодразделения);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Прервать;
КонецЕсли;
Выборка = Результат.Выбрать();
Выборка.Следующий();
Для НомерКолонки = 0 По Результат.Колонки.Количество() - 1 Цикл
ТекущийЭлементПодразделения = Выборка[НомерКолонки];
Если ТекущийЭлементПодразделения = Справочники.Подразделение.ПустаяСсылка() Тогда
Прервать;
Иначе
Сообщить(ТекущийЭлементПодразделения);
КонецЕсли;
КонецЦикла;
Если ТекущийЭлементПодразделения = Справочники.Подразделение.ПустаяСсылка() Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Показать
(7)Можно запросом с итогом по иерархии
ВЫБРАТЬ
ПодразделенияОрганизаций.Ссылка КАК Ссылка
ИЗ
Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
ГДЕ
ПодразделенияОрганизаций.Ссылка = &Ссылка
ИТОГИ ПО
ПодразделенияОрганизаций.Ссылка ТОЛЬКО ИЕРАРХИЯ
Можно так попробовать, ну или на крайний случай запросом
НужноеПодразделение = ТекПодразделение;
Пока НужноеПодразделение.Родитель <> Справочники.Подразделения.ПустаяСсылка() Цикл
НужноеПодразделение = НужноеПодразделение.Родитель;
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот