Добрый день. Подскажите пожалуйста, как установить отбор в форме списка, вид сравнения "В списке" ?
У меня есть СписокЗначений который нужно передать отбору на форме.
Не получается это сделать. Делаю вот так:
ДокументСписок.Отбор.Ответственный.Значение = СписокСотрудников
ДокументСписок.Отбор.Ответственный.Значение <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение>; <Пустое значение> СписокЗначений
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;
ДокументСписок.Отбор.Ответственный.ВидСравнения = ВидСравнения.ВСписке;
ДокументСписок.Отбор.Ответственный.Значение = СписокСотрудников
Тип значения элементов СпискаСотрудников и поля Ответственный совпадает? Не может быть так, что Ответственный - элемент справочника Пользователи, а в списке, например, ФизЛица?
ТекПользователь = ПараметрыСеанса.ТекущийПользователь;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПользователиСотрудникиПодразделения.Сотрудник.Ссылка
|ИЗ
| РегистрСведений.ПользователиСотрудникиПодразделения КАК ПользователиСотрудникиПодразделения
|ГДЕ
| ПользователиСотрудникиПодразделения.Пользователь = &ТекПользователь
| И ПользователиСотрудникиПодразделения.НачальникПодразделения";
Запрос.УстановитьПараметр("ТекПользователь", ТекПользователь);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ПодразделениеОрганизации = ВыборкаДетальныеЗаписи.СотрудникСсылка.ПодразделениеОрганизации;
КонецЦикла;
Если ЗначениеЗаполнено(ПодразделениеОрганизации) Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.ПодразделениеОрганизации = &ПодразделениеОрганизации
| ИЛИ СотрудникиОрганизаций.ПодразделениеОрганизации.Родитель = &ПодразделениеОрганизации";
Запрос.УстановитьПараметр("ПодразделениеОрганизации", ПодразделениеОрганизации);
Результат = Запрос.Выполнить();
Таблица = Результат.Выгрузить();
МойСписокСотрудников = Новый СписокЗначений;
МойСписокСотрудников.ЗагрузитьЗначения(Таблица.ВыгрузитьКолонку("Ссылка"));
ДокументСписок.Отбор["Ответственный"].ВидСравнения = ВидСравнения.ВСписке;
ДокументСписок.Отбор["Ответственный"].Значение = МойСписокСотрудников;
ДокументСписок.Отбор.Ответственный.Использование = ИСТИНА;
ЭлементыФормы.Список.НастройкаОтбора.Ответственный.Доступность = ЛОЖЬ;
Иначе
Если НЕ РольДоступна("ПолныеПрава") Тогда
ДокументСписок.Отбор.Ответственный.Значение = ТекПользователь;
ДокументСписок.Отбор.Ответственный.Использование = ИСТИНА;
ЭлементыФормы.Список.НастройкаОтбора.Ответственный.Доступность = ЛОЖЬ;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Конфигурация кокая?
В УПП ответственный - Пользователь, а не сотрудник
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua