|
Программно установить фильтр в форме выбора | ☑ | ||
|---|---|---|---|---|
|
0
Sharmon
29.04.13
✎
10:41
|
Делаю подбор документов "ОбслуживаниеКлиента"
ЗначениеОтбора = Новый Структура("Контрагент", Контрагент); ПараметрыФормы = Новый Структура("ЗакрыватьПриВыборе, Отбор", Ложь, ЗначениеОтбора); ОткрытьФормуМодально("Документ.ОбслуживаниеКлиента.ФормаВыбора", ПараметрыФормы, ЭлементыФормы.ЛистУчетаРабВремени); Все работает, кроме фильтра по Контрагенту. Т.е. в форме выбора все контрагенты. В чем ошибаюсь? |
|||
|
1
Aprobator
29.04.13
✎
10:51
|
имхо, в названии отбора. Там небось не контрагент, а ДокументыПоКонтрагенту или что то подобное.
|
|||
|
2
Sharmon
29.04.13
✎
10:57
|
Нет, именно "Контрагент"
|
|||
|
3
Aprobator
29.04.13
✎
10:58
|
(2) для проверки можно открыть форму списка документа и жмакнуть на кнопку отбор. И посмотреть там, есть ли там отбор с именем коннтрагент. Хотя, это довольно грубоватый способ.
|
|||
|
4
Aprobator
29.04.13
✎
11:00
|
более элегантный, поставить точку останова в форме списка документа в процедуре ПриОткрытии и там посмотреть отладчиком имена доступных элементов отбора.
|
|||
|
5
D_Pavel
29.04.13
✎
11:09
|
А стоит "Индексировать" в реквизите Контрагент?
|
|||
|
6
эцп
29.04.13
✎
11:13
|
(0) А речь идет об УФ?
|
|||
|
7
Sharmon
29.04.13
✎
11:18
|
Нет. Обычное приложение. "Индексировать" установил, но все равно отбор не работает
|
|||
|
8
эцп
29.04.13
✎
11:23
|
(7) А в обычном приложении такое не прокатывает. В обычном нужно действовать как обычно:
Форма.ДокументСписок.Отбор.Контрагент.Установить(Контрагент); |
|||
|
9
Sharmon
29.04.13
✎
11:24
|
Вот таким кодом заменил, все работает как надо:
ФормаВыбора = Документы.АРБИС_ОбслуживаниеКлиента.ПолучитьФормуВыбора("ФормаСписка",ЭлементыФормы.Лурвы); ФормаВыбора.Отбор.Контрагент.Использование = Истина; ФормаВыбора.Отбор.Контрагент.Значение = Контрагент; ФормаВыбора.ЗакрыватьПриВыборе = Ложь; ФормаВыбора.РежимВыбора = Истина; ФормаВыбора.ОткрытьМодально(); |
| Форум | Правила | Описание | Секции | Поиск |