Имя: Пароль:
1C
1С v8
Отбор в списке
0 Пользователь1104
 
01.11.16
17:17
При выборе реквизита Номенклатура нужно открыть справочник Номенклатура с отбором по номенклатуре документа "000001" из табличной части. Почему так не работает? Если вид сравнения Равно, то выводит запись, а ВСписке не находит.

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

КонецПроцедуры

&НаСервере
Функция СписокДляОтбора()

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ВыбратьИзбраннуюНоменклатуруИзбратьНоменклатуру.Номенклатура
        |ИЗ
        |    Документ.ВыбратьИзбраннуюНоменклатуру.ИзбратьНоменклатуру КАК ВыбратьИзбраннуюНоменклатуруИзбратьНоменклатуру
        |ГДЕ
        |    ВыбратьИзбраннуюНоменклатуруИзбратьНоменклатуру.Ссылка.Ссылка = &Основание";
    
    Запрос.УстановитьПараметр("Основание",Документы.ВыбратьИзбраннуюНоменклатуру.НайтиПоНомеру("000000001"));
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    СписокДляОтбора = Новый СписокЗначений;
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        СписокДляОтбора.Добавить("Ссылка",ВыборкаДетальныеЗаписи.Номенклатура);
    КонецЦикла;
    
    Возврат СписокДляОтбора;
    
КонецФункции
1 Lexey_
 
01.11.16
17:23
(0) потому что в списке значений "Ссылка", "Ссылка"...
2 Ёпрст
 
01.11.16
17:23
.Ссылка.Ссылка
3 Пользователь1104
 
01.11.16
17:24
(1) А что должно быть?
4 Ёпрст
 
01.11.16
17:24
Добавить(ВыборкаДетальныеЗаписи.Номенклатура);
5 Ёпрст
 
01.11.16
17:25
(3) см (4)
и выкинь одну ссылку в (2)
6 Пользователь1104
 
01.11.16
17:28
(5) спасибо. Только в реквизит не записывается выбранный элемент.
7 Lexey_
 
01.11.16
17:32
Имена объектов фееричные, конечно: ВыбратьИзбраннуюНоменклатуру.ИзбратьНоменклатуру
8 Lexey_
 
01.11.16
17:36
(6) у ПолучитьФорму () есть параметр Владелец, пихаий туда Элемент
9 Пользователь1104
 
01.11.16
17:40
(8) спасибо.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.