Имя: Пароль:
1C
1С v8
Проблема с заполнением отбора ВидСравнения = ВидСравнения.ВСписке;
0 Смотрящий от 1С
 
13.07.11
12:08
УТ 10.3 Реализую задачу, чтобы пользователь при открытии формы списка документов видел документы только по тем  организациям, доступ к которым ему разрешен. В процедуре ПриОткрытии() написал следующий код:

Попытка        
       ЭлементыФормы.Список.Значение.Отбор.Организация.ВидСравнения = ВидСравнения.ВСписке;
       ЭлементыФормы.Список.Значение.Отбор.Организация.Использование  = Истина;
       
   Исключение
       
   КонецПопытки;

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

   КонецЦикла;

Проблема в том, что список не заполняется. Когда в запросе ставлю "Первые 1" все нормально, одна организация в список попадает и отбор работает. Как заполнить список отбора?
1 Смотрящий от 1С
 
13.07.11
13:05
упс
2 Maxus43
 
13.07.11
13:08
Сначала список заполни, а потом уж
ЭлементыФормы.Список.Значение.Отбор.Организация.Значение = Список;
3 Maxus43
 
13.07.11
13:12
Сч = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора();
   Сч.Отбор.Код.ВидСравнения = ВидСравнения.ВСписке;
   Сч.Отбор.Код.Использование = Истина;
   Сч.Отбор.Код.Значение = СписокПроц;
   Сч.ЭлементыФормы.Список.ТекущаяСтрока = СчетПроцентов;
   СчетПр = Сч.ОткрытьМодально();

вот так работает например
4 Смотрящий от 1С
 
13.07.11
13:36
Все правильно у меня было. Фишка в том была, что даже неразрешенные организации попадали в выборку только в виде <объект не найден>. Кое как отсек их и все заработало.

Пока Выборка.Следующий() Цикл
       
       Попытка
       Если НЕ Выборка.Ссылка.ПолучитьОбъект() = Неопределено Тогда
         ЭлементыФормы.Список.Значение.Отбор.Организация.Значение.Добавить(Выборка.Ссылка);
               
   КонецЕсли;
Исключение
       
КонецПопытки;
5 Maxus43
 
13.07.11
13:37
Если НЕ Выборка.Ссылка.ПолучитьОбъект() = Неопределено Тогда

оригинальная проверка РЛС-а...