|
Динамический список УФ |
☑ |
0
an_str
10.12.12
✎
17:15
|
Есть Динамический список на форме с произвольным запросом. Задача состоит в следующим: в зависимости от выполнения ряда условий менять блок "ГДЕ..."...У меня это выглядит следующим образом:
Условие="ВходящиеОбязательства.Дата МЕЖДУ &ДатаНачала И &ДатаКонца";
Если НЕ ПоВсемПользователям Тогда
Объекты = ДокументыПосчетуСервер.ПолучитьДоступныеОбъектыЗатрат(Объект.Пользователь);
Если ПоОбъектам Тогда
Если Объекты.Количество() > 0 Тогда
Условие = Условие + " И ВходящиеОбязательства.Обязательство.ОбъектЗатрат В (&ОбъектЗатрат)";
КонецЕсли;
Иначе
Условие = Условие + " И (УчастникиСогласования.Пользователь В (&Пользователь) ИЛИ УчастникиСогласования.ДолженСогласовать В (&Пользователь))"; КонецЕсли;
КонецЕсли;
ТекстЗапроса=ВходящиеОбязательства.ТекстЗапроса;
ТекстЗапроса= СтрЗаменить(ТекстЗапроса, "ВходящиеОбязательства.Дата МЕЖДУ &ДатаНачала И &ДатаКонца", Условие);
Но тут появляются параметры ОбъектЗатрат и Пользователь. как их программно добавить и заполнить к параметрам Динамического списка?
Заранее спасибо...
|
|
1
an_str
10.12.12
✎
18:42
|
Совсем никто ничего не подскажет?(
|
|
2
vicof
10.12.12
✎
18:59
|
В динамическом списке отборы красивше накладываются, если мне память не изменяет.
|
|
3
EvgeniuXP
10.12.12
✎
19:08
|
см. ДинСписок.Отбор.Элементы[0].Использовать = Истина;
|
|
4
EvgeniuXP
10.12.12
✎
19:08
|
через отладчик увидишь ДинСписок.Отбор
|
|
5
Кокос
10.12.12
✎
19:09
|
куча примеров в типовых по заполнению параметров динамического списка в ПриСозданииНаСервере. Кажись. Точно не помню евент
|
|
6
artik2
10.12.12
✎
19:11
|
(0) ДинСписок.Параметры.УстановитьЗначениеПараметра("ДатаНачала",ДатаНачала);
|
|
7
an_str
10.12.12
✎
20:05
|
на последнее ругается: ВходящиеОбязательства.Параметры.УстановитьЗначениеПараметра("Пользователь", Объект.Пользователь);
по причине:
Параметр с указанным именем не найден...
Я так понимаю из-за того, что условие добавляется программно...
|
|
8
artik2
10.12.12
✎
20:15
|
попробуй вместо
ТекстЗапроса=ВходящиеОбязательства.ТекстЗапроса;
ТекстЗапроса= СтрЗаменить(ТекстЗапроса, "ВходящиеОбязательства.Дата МЕЖДУ &ДатаНачала И &ДатаКонца", Условие);
написать
ВходящиеОбязательства.ТекстЗапроса = СтрЗаменить(ВходящиеОбязательства.ТекстЗапроса, "ВходящиеОбязательства.Дата МЕЖДУ &ДатаНачала И &ДатаКонца", Условие);
|
|
9
an_str
10.12.12
✎
20:37
|
Хм...так сработало) фуф...) СПАСИБО ОГРОМНЕЙШЕЕ!!!!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший