From 7e97b8b766487e172167f5093533803c29ca2d0f Mon Sep 17 00:00:00 2001 From: wakadakawaka Date: Thu, 14 Aug 2025 16:20:14 +0500 Subject: [PATCH] =?UTF-8?q?=D1=80=D1=80=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ERP/Согласования УХ/Руководитель пользователя.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Руководитель пользователя.md diff --git a/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Руководитель пользователя.md b/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Руководитель пользователя.md new file mode 100644 index 0000000..decb362 --- /dev/null +++ b/src/content/docs/knowledge-base/Типовые/ERP/Согласования УХ/Руководитель пользователя.md @@ -0,0 +1,49 @@ +--- +title: Руководитель пользователя +slug: типовые-erp-согласования-ух/руководитель-пользователя +--- + +```bsl +// Получает элемент справочника "Пользователи" для руководителя указанного пользователя +// если в текущем подразделении не указан руководитель не указан, ищет в родителе + +ПользовательСсылка = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПроцессаВход.КлючевойОбъектПроцесса, "<Пользователь>"); + +Если Не ЗначениеЗаполнено(ПользовательСсылка) Тогда + ВызватьИсключение "Не заполнен <Пользователь>"; +КонецЕсли; + +Подразделение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПользовательСсылка, "Подразделение"); + +РуководительФизЛицо = Неопределено; + +Пока ЗначениеЗаполнено(Подразделение) Цикл + + ДанныеПодразделения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Подразделение, "ТекущийРуководитель, Родитель", Истина); + + Если ЗначениеЗаполнено(ДанныеПодразделения.ТекущийРуководитель) Тогда + РуководительФизЛицо = ДанныеПодразделения.ТекущийРуководитель; + Прервать; + Иначе + Подразделение = ДанныеПодразделения.Родитель; + КонецЕсли; + +КонецЦикла; + +РуководительПользователь = Неопределено; + +Если ЗначениеЗаполнено(РуководительФизЛицо) Тогда + + РуководительПользователь = Справочники.Пользователи.НайтиПоРеквизиту("ФизическоеЛицо", РуководительФизЛицо); + +Иначе + ВызватьИсключение "Не удалось подобрать руководителя пользователя " + ПользовательСсылка; +КонецЕсли; + +Если Не ЗначениеЗаполнено(РуководительПользователь) Тогда + ВызватьИсключение "Не удалось подобрать руководителя пользователя " + ПользовательСсылка; +Иначе + ЗначениеПараметра = Новый Массив; + ЗначениеПараметра.Добавить(РуководительПользователь); +КонецЕсли; +``` \ No newline at end of file