Отбор в списке
☑
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) спасибо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший