Имя: Пароль:
1C
 
Как установить отбор в форме выбора справочника
0 Max1986
 
26.01.11
12:22
Думаю вопрос несложный, но не могу соорентироваться. Подкажите кто в курсе. Надо отобрать в открываемой форме выбора значения передаваемые запросом в ТЗ_Запроса. В отладчике проверил - ТЗ_Запроса сформировано верно - те значения что я хочу. Но как мне передать их для отбора? При выборе ничего нет - ни одного значения

Процедура ПолеВводаВидРаботыНачалоВыбора(Элемент, СтандартнаяОбработка)
 СтандартнаяОбработка = Ложь;
 ФормаВыбора = Справочники.ВидыРабот.ПолучитьФормуВыбора( , Элемент);
 ФормаВыбора.РежимВыбора = Истина;
 ТЗ_Запроса = РезультатЗапроса.Выгрузить();
 ФормаВыбора.Отбор.Ссылка.Установить(ТЗ_Запроса, Истина);
 Если ЗначениеЗаполнено(ВидРаботы) Тогда
   ФормаВыбора.ПараметрТекущаяСтрока = ВидРаботы;
 КонецЕсли;
 ФормаВыбора.Открыть();
КонецПроцедуры
1 Axel2009
 
26.01.11
12:24
выгрузить в список, и фильтровать список. или вы думаете 1ска настолько интеллектуальна, что умеет ТЗ в список значений конвертировать?
ТЗ_Запроса.ВыгрузитьКолонку(<ИмяКолонки>)
2 Max1986
 
26.01.11
12:25
(1)Ах вон где собака порылась! Спасибо! Я так и думал что то с типами
3 Rico_1C
 
26.01.11
12:26
ФормаВыбора.ПараметрТекущаяСтрока = ВидРаботы; - эт чего?!..
4 Axel2009
 
26.01.11
12:27
(3) для формы справочника текущаястрока имеет значение ссылки. так что все в порядке..
5 Rico_1C
 
26.01.11
12:29
М/у Параметр и ТекущаяСтрока - НИчего НЕпропущего?!..
6 Max1986
 
26.01.11
12:31
(1)что то не идет ТЗ_Запроса.ВыгрузитьКолонку(<ИмяКолонки>)
Возращается массив, а не список значений. Это критично?
так и не ставяться в отбор эти значения
7 Max1986
 
26.01.11
12:32
может здесь неверно
ФормаВыбора.Отбор.Ссылка.Установить(ТЗ_Запроса, Истина);

какой параметр отбора должен быть? Ссылка?
8 Max1986
 
26.01.11
12:33
Что должно стоять после слова Отбор
9 Axel2009
 
26.01.11
12:34
ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.Отбор.Ссылка.Установить(ТЗ_Запроса, Истина);
10 Axel2009
 
26.01.11
12:35
(5) а что пропущено?
11 Max1986
 
26.01.11
12:39
(9)не работает )))
Может слово Ссылка неверно?
12 Max1986
 
26.01.11
12:43
Сейчас имеет такой вид.
кто в курсе, что не так?

Процедура ПолеВводаВидРаботыНачалоВыбора(Элемент, СтандартнаяОбработка)
 СтандартнаяОбработка = Ложь;
 ФормаВыбора = Справочники.ВидыРабот.ПолучитьФормуВыбора( , Элемент);
 ФормаВыбора.РежимВыбора = Истина;
 ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
 ФормаВыбора.Отбор.Ссылка.Установить(ТЗ_Запроса, Истина);
 ТЗ_Запроса = РезультатЗапроса.Выгрузить();
 ФормаВыбора.Открыть();
КонецПроцедуры
13 Wobland
 
26.01.11
12:50
Использование=Истина не вижу...
14 abitfrosty
 
26.01.11
12:56
(12) Метод Установить работает только на "=".
Чтобы указывать список нужно пользоваться ФормаВыбора.Отбор.Ссылка.Значение = ТЗ_Запроса[0].Ссылка;
15 abitfrosty
 
26.01.11
12:57
(14) Блин сам себя запутал.
ФормаВыбора.Отбор.Ссылка.Значение = ТЗ_Запроса;
ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
ФормаВыбора.Отбор.Ссылка.Использование = Истина;
16 Wobland
 
26.01.11
12:58
я вот так делал:
   Форма=Справочники.Номенклатура.ПолучитьФормуВыбора();
   Форма.Заголовок="Выбор номенклатуры для "+Контрагент;
   Форма.Отбор.Ссылка.Использование=Истина;
   Форма.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВСписке;
   Форма.Отбор.Ссылка.Значение=СписокНоменклатуры; // ТЗ запроса
   Форма.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр=Ложь;
   
   ВыбранноеЗначение=Форма.ОткрытьМодально();
17 Max1986
 
26.01.11
13:19
(14)Ты прав!
(16)Работает!!! Спасибо человечище!
18 Axel2009
 
26.01.11
13:21
ФормаВыбора.Отбор.Ссылка.Установить(Списокноменклатуры, Истина);
 ФормаВыбора.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
так
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан