УТ 10.3 Реализую задачу, чтобы пользователь при открытии формы списка документов видел документы только по тем организациям, доступ к которым ему разрешен. В процедуре ПриОткрытии() написал следующий код:
Попытка
ЭлементыФормы.Список.Значение.Отбор.Организация.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.Список.Значение.Отбор.Организация.Использование = Истина;
Исключение
КонецПопытки;
Результат = Новый СписокЗначений;
Запрос = Новый Запрос;
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Организации.Ссылка КАК Ссылка
|ИЗ
| Справочник.Организации КАК Организации";
Запрос.Текст = ТекстЗапроса;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//Результат.Добавить(Выборка.Ссылка);
ЭлементыФормы.Список.Значение.Отбор.Организация.Значение.Добавить(Выборка.Ссылка);
КонецЦикла;
Проблема в том, что список не заполняется. Когда в запросе ставлю "Первые 1" все нормально, одна организация в список попадает и отбор работает. Как заполнить список отбора?
Все правильно у меня было. Фишка в том была, что даже неразрешенные организации попадали в выборку только в виде <объект не найден>. Кое как отсек их и все заработало.
Пока Выборка.Следующий() Цикл
Попытка
Если НЕ Выборка.Ссылка.ПолучитьОбъект() = Неопределено Тогда
ЭлементыФормы.Список.Значение.Отбор.Организация.Значение.Добавить(Выборка.Ссылка);