Имя: Пароль:
1C
1С v8
Динамический список УФ
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
Хм...так сработало) фуф...) СПАСИБО ОГРОМНЕЙШЕЕ!!!!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.