Имя: Пароль:
1C
1С v8
Как задать запрос для динамического списка ?
0 iva77ru
 
28.12.12
16:41
Нужна помощь! Сам уже не могу разобраться:

       МассивДобавляемыеРеквизиты = Новый Массив;
       НовРек = Новый РеквизитФормы("КонтактнаяИнформация1", Новый ОписаниеТипов("ДинамическийСписок"));
       МассивДобавляемыеРеквизиты.Добавить(НовРек);
       ИзменитьРеквизиты(МассивДобавляемыеРеквизиты);
       Рекв = ЭтаФорма.КонтактнаяИнформация1;
       Рекв.ПроизвольныйЗапрос = Истина;
       
       Рекв.ТекстЗапроса = " ВЫБРАТЬ
                            |    РегистрСведенийКонтактнаяИнформация.Контрагент,
                            |    РегистрСведенийКонтактнаяИнформация.ВидКонтактнойИнформации,
                            |    РегистрСведенийКонтактнаяИнформация.Информация
                            |ИЗ
                            |    РегистрСведений.КонтактнаяИнформация КАК РегистрСведенийКонтактнаяИнформация
                            |ГДЕ
                            |    РегистрСведенийКонтактнаяИнформация.Контрагент = &Контрагент";
       
       Рекв.ОсновнаяТаблица = "РегистрСведений.КонтактнаяИнформация";

   КонтактнаяИнформацияСтраница = ЭтаФорма.Элементы.Найти("СтраницаКонтактнаяИнформация");

   ТаблицаФормы = Элементы.Добавить("ТаблицаФормыКонтактнаяИнформация", Тип("ТаблицаФормы"),КонтактнаяИнформацияСтраница); //Добавление элемента в созданную группу
   ЗаполнитьЗначенияСвойств(ТаблицаФормы, ШаблонТаблицы);
   ТаблицаФормы.ПутьКДанным = "КонтактнаяИнформация1"; //Назначим путь к данным, только после этого таблица появится на форме

Затем колонки добавляю. По событию на форме нужно поменять текст запроса для реквизита формы КонтактнаяИнформация1. Предварительно я сношу элемент формы ТаблицаФормыКонтактнаяИнформация. Но далее:
1. Не могу дотянуться димамического списка КонтактнаяИнформация1!
Пробывал:
   Рекв = Неопределено;
   МассивРеквизитов = ПолучитьРеквизиты();
   Для Каждого Реквизит Из МассивРеквизитов Цикл
       Если Реквизит.Имя = ИмяРеквизита Тогда
           Рекв = Реквизит;
           Прервать;
       КонецЕсли;
   КонецЦикла;
Возвращает Элемент с типом Ревизит формы. Как добраться до динамического списка?
1 olegves
 
28.12.12
16:54
(0) создай элемент формы с типом ДС и сделай для него произвольный запрос (в свойствах реквизита)
Для форм списка элемент Список уже есть на форме
2 iva77ru
 
29.12.12
09:44
Единственый способ поменять запрос для реквизита формы с ТЗ Динамический список это удалить(ранее добавленный программно), а затем добавить новый с новым текстом запроса?
3 Professor83
 
29.12.12
10:52
(2) Мне из приведенного примера не совсем понятно, зачем динамический список создавать динамически.
4 iva77ru
 
29.12.12
11:27
Есть типовая форма. Добавляем страницу программно. Создаем реквизит с типом динамический список. Выводим на форму элемент формы ПутьКДанным = "Добавленный ранее ревизит". Теперь по событиям на форме нужно менять запрос для добавленного ревизита с тз "Динамический список". Элемент формы сносим. А, вот обязательно сносить ранее введенный реквизит, чтобы поменять запрос или можно только менять запрос?