Доброго времени суток! Дорабатываю типовой Документооборот нужно сделать так, чтобы во внутренних документах руководитель подразделения при заполнении поля Сотрудник, мог видеть и выбирать только сотрудников из своего подразделения или из подразделения входящего в его подразделение. Думаю, что нужно воспользоваться обработчиком НачалоВыбора или Начало ВыбораИзСписка, прописать СтандартнаяОбработка=Ложь, а потом сделать запрос, получив в иерархии всех сотрудников подразделения и нижестоящих подразделений. Но чему присвоить результат этого запроса, чтобы в списке выбора отображались только нужные сотрудники???
---
Документооборота не знаю, но думаю и там есть ПараметрыСеанса.ТекущийПользователь. Значить можно воспользоваться подпиской ОбработкаПолученияДанныхВыбора. Там проверяем роль текущего пользователя, если нужная пишем запрос где сотрудник в подразделении текущего пользователя и ставим СтандартнаяОбработка = Ложь;

```1c
    ДанныеВыбора = Новый СписокЗначений;
    ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
```

И все
---
Документооборота не знаю, но думаю и там есть ПараметрыСеанса.ТекущийПользователь. Значить можно воспользоваться подпиской ОбработкаПолученияДанныхВыбора. Там проверяем роль текущего пользователя, если нужная пишем запрос где сотрудник в подразделении текущего пользователя и ставим СтандартнаяОбработка = Ложь;

```1c
    ДанныеВыбора = Новый СписокЗначений;
    ДанныеВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"));
```

И все
---
Спасибо. Ваш вариант мня натолкнул на мысль))

```1c
    &НаСервереБезКонтекста
    Функция ап_СотрудникНачалоВыбораНаСервере(Подразделение)
    Отбор = Новый СписокЗначений;
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | СведенияОПользователяхДокументооборот.Пользователь КАК Пользователь
    |ИЗ
    | РегистрСведений.СведенияОПользователяхДокументооборот КАК СведенияОПользователяхДокументооборот
    |ГДЕ
    | СведенияОПользователяхДокументооборот.Подразделение В ИЕРАРХИИ(&Подразделение)";
    Запрос.УстановитьПараметр("Подразделение", Подразделение);
    Отбор.Добавить(Подразделение);
    ТЗ = Запрос.Выполнить().Выгрузить();
    Для Каждого Стр из ТЗ Цикл
    Отбор.Добавить(Стр.Пользователь);
    КонецЦикла;

    Возврат Отбор;

    КонецФункции

    &НаКлиенте
    Процедура ап_СотрудникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    Руководитель = ОпределитьПраваПользователя();
    СтандартнаяОбработка = Ложь;

    Если Руководитель Тогда

    Отбор = ап_СотрудникНачалоВыбораНаСервере(Объект.Подразделение);

    П = Новый Структура;
    П.Вставить("СписокОтбора", Отбор);
    П.Вставить("РежимРаботыФормы", 1);
    П.Вставить("УпрощенныйИнтерфейс", Истина);
    П.Вставить("ОтображатьСотрудников", Истина);
    П.Вставить("ЗаголовокФормы", НСтр("ru = 'Выбор пользователя'"));
    П.Вставить("ВыбранныеАдресаты", Объект.ап_Сотрудник);

    ОткрытьФорму("Справочник.АдреснаяКнига.ФормаСписка", П,Элемент,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    Иначе
    ОчиститьПолеСотрудник();
    Сообщить("У Вас нет прав на создание авансового отчета по данному подразделению");
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Функция ОпределитьПраваПользователя()

    ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | СтруктураПредприятия.Руководитель КАК Руководитель
    |ИЗ
    | Справочник.СтруктураПредприятия КАК СтруктураПредприятия
    |ГДЕ
    | СтруктураПредприятия.Ссылка В ИЕРАРХИИ
    | (ВЫБРАТЬ
    | СтруктураПредприятия.Ссылка КАК Ссылка
    | ИЗ
    | Справочник.СтруктураПредприятия КАК СтруктураПредприятия
    | ГДЕ
    | СтруктураПредприятия.Руководитель = &Руководитель)";

    Запрос.УстановитьПараметр("Ссылка", Объект.Подразделение);
    Запрос.УстановитьПараметр("Руководитель", ТекущийПользователь);

    тз = Запрос.Выполнить().Выгрузить();

    Если тз.Количество() > 0 Тогда
    Возврат Истина;
    Иначе
    Возврат Ложь;
    КонецЕсли;

    КонецФункции

    &НаСервере
    Процедура ОчиститьПолеСотрудник()
    Объект.ап_Сотрудник = Справочники.Пользователи.ПустаяСсылка();
    КонецПроцедуры
```