Имя: Пароль:
1C
1С v8
Перестал работать отбор при открытии формы списка.
0 Rom_Kat
 
13.10.17
11:25
&НаКлиенте
Процедура КлиентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    СписКлиентДТО = ПолучитьКлиентДТО();
    ЗначенияОтбора  = Новый Структура("Ссылка", СписКлиентДТО);
    ПараметрыВыбора = Новый Структура("Отбор", ЗначенияОтбора);
    
    ОткрытьФорму("Справочник.Партнеры.ФормаВыбора", ПараметрыВыбора, Элемент);
    
КонецПроцедуры

Он стал выдавать ошибку.

{Документ.УведомлениеКлиентТаможеннаяПроцедура.Форма.ФормаДокумента.Форма(9)}: Ошибка при установке значения атрибута контекста (ПараметрыВыбора)
    ПараметрыВыбора = Новый Структура("Отбор", ЗначенияОтбора);
по причине:
Несоответствие типов


СписКлиентДТО имеет тип массив из СправочникСсылка.Партнеры


Подскажите в чем может быть дело.
1 runoff_runoff
 
13.10.17
11:35
ФиксированныеНастройки
2 Rom_Kat
 
13.10.17
11:36
(1) а можно подробнее?
3 Lexey_
 
13.10.17
11:37
(0) переименуй переменную ПараметрыВыбора
4 runoff_runoff
 
13.10.17
11:39
(2)

    ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных;

    ЭлементОтбора = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.ПравоеЗначение = СписКлиентДТО;
    
    ПараметрыФормы = Новый Структура("ФиксированныеНастройки", ФиксированныеНастройки);
    
    Форма = ОткрытьФорму("Справочник.Партнеры.ФормаВыбора", ПараметрыФормы, Элемент);
5 Rom_Kat
 
13.10.17
11:41
(4) теперь так надо отбор делать?
раньше то у меня работал этот код
6 runoff_runoff
 
13.10.17
11:42
(5) см (3)
и Отбор можно использовать, но он считается устаревшим параметром, оставлен только для совместимости..
7 Rom_Kat
 
13.10.17
12:03
(6)

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

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



И ошибка теперь

{Документ.УведомлениеКлиентТаможеннаяПроцедура.Форма.ФормаДокумента.Форма(19)}: Ошибка при установке значения атрибута контекста (ПараметрыВыбора)
    ПараметрыВыбора = Новый Структура("ФиксированныеНастройки", ФиксированныеНастройки);
по причине:
Несоответствие типов
8 runoff_runoff
 
13.10.17
12:06
(7) см (3)
9 Rom_Kat
 
13.10.17
12:14
(8) (3) как обычно те же грабли )))

Спасибо огромное...
10 Rom_Kat
 
17.10.17
11:12
Вот то что взлетело, но отбор списком не выводит

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

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


СписКлиентДТО - список значений со ссылками на справочник партнеры
11 Rom_Kat
 
17.10.17
11:13
если список ссылок помещать в массив, то тоже не работает