Имя: Пароль:
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
Есть типовая форма. Добавляем страницу программно. Создаем реквизит с типом динамический список. Выводим на форму элемент формы ПутьКДанным = "Добавленный ранее ревизит". Теперь по событиям на форме нужно менять запрос для добавленного ревизита с тз "Динамический список". Элемент формы сносим. А, вот обязательно сносить ранее введенный реквизит, чтобы поменять запрос или можно только менять запрос?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн