Имя: Пароль:
1C
1С v8
Динамический список
0 only82
 
19.10.11
20:38
Добавил на форму динамический список с произвольным запросом. Все работает отлично пока на добавил в запрос условие с параметром. Как мне передать параметр в запрос динамического списка, и в каком обработчике событий?
1 almar
 
19.10.11
20:46
ПриСозданииНаСервере
2 only82
 
19.10.11
20:53
В динамическом списке есть свойство "Текст запроса". Только как в него вставить параметр?
3 AaNnDdRrEeYy
 
19.10.11
20:54
Список.УстановитьЗначениеПараметра("",);
4 only82
 
19.10.11
21:02
(3)  Метод объекта не обнаружен (УстановитьЗначениеПараметра)
5 Поручик
 
19.10.11
22:10
(4) Ты больше СП и мануалы читай, а не мисту.
6 Stim213
 
19.10.11
22:13
ПриСозданииНаСервере()
Если Параметры.Свойство("Контрагент") Тогда
       Список.Параметры.УстановитьЗначениеПараметра(
           "Контрагент", Параметры.Контрагент);
       КонецЕсли;    
КонецПРоцедуры
7 Stim213
 
19.10.11
22:14
+ но я бы рекомендовал использоваться отборы


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
       Если Параметры.Свойство("Контрагент") Тогда
       Если ЗначениеЗаполнено(Параметры.Контрагент) Тогда
           ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
           ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент");
           ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;                
           ЭлементОтбора.Использование = ИСТИНА;
           ЭлементОтбора.ПравоеЗначение = Параметры.Контрагент;
       КонецЕсли;    
   КонецЕсли;
КонецПроцедуры
8 Stim213
 
19.10.11
22:15
Плюсы в том, что не надо использовать произвольный запрос в динамическом списке. Просто передаешь параметр в список и обрабатываешь его как отбор
9 only82
 
20.10.11
06:26
(8) Сделал сначала через запрос, потом через отбор. Отбор работает быстрее более чем в 100 раз.
Закон Брукера: Даже маленькая практика стоит большой теории.