Имя: Пароль:
1C
1С v8
отбор на тонком клиенте
0 manti
 
18.02.13
16:08
В УТ11 в документе заказ товаров поставщику реализованы отборы.
Перетягиваю процедуры отбора на самописку под 8.2.

&НаКлиенте
Процедура ТипВызоваПриИзменении(Элемент)
       
   УстановитьЭлементОтбора(Список.Отбор, "ТипВызова", ТипВызова, ВидСравненияКомпоновкиДанных.Равно,, ЗначениеЗаполнено(ТипВызова));
КонецПроцедуры
В отладчике "Список.Отбор.Элементы" - нет никаких данных, тогда как в УТ есть вылетает с ошибкой Поле объекта недоступно для записи (Отбор)
1 manti
 
19.02.13
12:13
&НаКлиенте
Процедура ТипВызоваПриИзменении(Элемент)
   
ОтборОбъект = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ОтборОбъект.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;

ОтборОбъект.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ОтборОбъект.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("DirEX"); // Тут указываем имя поля для отбора
ОтборОбъект.ПравоеЗначение = ПолучитьПеречисление();
//Параметры.ВладелецФайла; // тут указываем ссылку для отбора
ОтборОбъект.Использование = Истина;
   
КонецПроцедуры

&НаСервере
Функция ПолучитьПеречисление()
   Если ЭтаФорма.ТипВызова = Перечисления.ТипыВызова.Входящий Тогда        
       Фильтр = Справочники.ПоляDirEx.НайтиПоНаименованию("12");

       
   ИначеЕсли ЭтаФорма.ТипВызова = Перечисления.ТипыВызова.Исходящий тогда
       Фильтр = Справочники.ПоляDirEx.НайтиПоНаименованию("13");
   Иначе Фильтр =      Неопределено;
   КонецЕсли;
Возврат Фильтр
КонецФункции // ПолучитьПеречисление()

В итоге когда октрывается форма списка на тонком клинете - если не менять значения типа вызова- отображается весь полный список. Если указываю входящий-12(или исходящий-13) - то фильтрует по типу, но если я после еще раз ставлю фильтр или просто очищаю его - ничего в списке не отображается.
Какой параметр дописать?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.