Вход | Регистрация
 

Динамический список программно на форме.

Динамический список программно на форме.
Я
   spiller26
 
25.11.21 - 13:31
Есть свой РегистрСведений.абт_ДокументыРодственниковФизическихЛиц
В форме справочника "РодственникиФизическихЛиц" пытаюсь разместить программно, т.к. бывает что форма меняется и неохота вечно редактировать форму.
Всё добавляется только одно но, в созданном "ДС" пусто, хотя данные есть.
Что может не так с параметрами при создании.
Процедуру располагаю в своём общем модуле.

Процедура ЭлементыНаФорме(Форма, пОбъект) Экспорт
    
    Если Форма.ИмяФормы = "Справочник.РодственникиФизическихЛиц.Форма.ФормаЭлемента" Тогда
        ИмяСписка = "абт_ДокументыРодственника";
        ТаблицаСписка = "РегистрСведений.абт_ДокументыРодственниковФизическихЛиц";
        
        ТипыРеквизита = Новый Массив;
        ТипыРеквизита.Добавить(Тип("ДинамическийСписок"));
        ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита);
        ДинамическийСписок = Новый РеквизитФормы(ИмяСписка, ОписаниеТиповДляРеквизита,,"",ЛОЖЬ);
        ДобавляемыеРеквизиты = Новый Массив;
        ДобавляемыеРеквизиты.Добавить(ДинамическийСписок);
        Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
        
        РеквизитДС = Форма[ИмяСписка]; //Имя реквизита
        РеквизитДС.ПроизвольныйЗапрос = Ложь;
        РеквизитДС.ДинамическоеСчитываниеДанных = Истина;
        РеквизитДС.ПолучениеПредставленийДляНевидимыхПолей = Истина;
        РеквизитДС.ТекстЗапроса = "";
        РеквизитДС.ОсновнаяТаблица = ТаблицаСписка;
        РеквизитДС.АвтоматическоеСохранениеПользовательскихНастроек    = Истина;

        ЭлементДС = Форма.Элементы.Добавить("абт_ДокументыРодственника", Тип("ТаблицаФормы"),);
        ЭлементДС.Заголовок = "Документы родственника";
        ЭлементДС.ПутьКДанным = "абт_ДокументыРодственника";
        //
        ЭлементДС_ВидДок = Форма.Элементы.Добавить("ДокументыРодственника2ВидДокумента", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_ВидДок.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_ВидДок.ПутьКДанным = "абт_ДокументыРодственника.ВидДокумента";
        ЭлементДС_Серия = Форма.Элементы.Добавить("ДокументыРодственника2Серия", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_Серия.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_Серия.ПутьКДанным = "абт_ДокументыРодственника.Серия";
        ЭлементДС_Номер = Форма.Элементы.Добавить("ДокументыРодственника2Номер", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_Номер.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_Номер.ПутьКДанным = "абт_ДокументыРодственника.Номер";
        ЭлементДС_ДатаВыдачи = Форма.Элементы.Добавить("ДокументыРодственника2ДатаВыдачи", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_ДатаВыдачи.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_ДатаВыдачи.ПутьКДанным = "абт_ДокументыРодственника.ДатаВыдачи";
        ЭлементДС_Период = Форма.Элементы.Добавить("ДокументыРодственника2Период", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_Период.Заголовок = "Сведения действую с";
        ЭлементДС_Период.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_Период.ПутьКДанным = "абт_ДокументыРодственника.Период";
        ЭлементДС_КемВыдан = Форма.Элементы.Добавить("ДокументыРодственника2КемВыдан", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_КемВыдан.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_КемВыдан.ПутьКДанным = "абт_ДокументыРодственника.КемВыдан";
        ЭлементДС_СрокДействия = Форма.Элементы.Добавить("ДокументыРодственника2СрокДействия", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_СрокДействия.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_СрокДействия.ПутьКДанным = "абт_ДокументыРодственника.СрокДействия";
        ЭлементДС_КодПодразделения = Форма.Элементы.Добавить("ДокументыРодственника2КодПодразделения", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_КодПодразделения.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_КодПодразделения.ПутьКДанным = "абт_ДокументыРодственника.КодПодразделения";
        ЭлементДС_ДокУдоЛичности = Форма.Элементы.Добавить("ДокументыРодственника2ЯвляетсяДокументомУдостоверяющимЛичность", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_ДокУдоЛичности.Вид = ВидПоляФормы.ПолеФлажка;
        ЭлементДС_ДокУдоЛичности.ПутьКДанным = "абт_ДокументыРодственника.ЯвляетсяДокументомУдостоверяющимЛичность";
        ЭлементДС_Представление = Форма.Элементы.Добавить("ДокументыРодственника2Представление", Тип("ПолеФормы"), Форма.Элементы["абт_ДокументыРодственника"]);
        ЭлементДС_Представление.Вид = ВидПоляФормы.ПолеНадписи;
        ЭлементДС_Представление.ПутьКДанным = "абт_ДокументыРодственника.Представление";
        
        //ЭлементОтбора = Форма.абт_ДокументыРодственника.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        //ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родственник");
        //ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        //ЭлементОтбора.Использование = Истина;
        //ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
        //ЭлементОтбора.ПравоеЗначение = пОбъект.Ссылка;
        //
        //ЭлементОтбора = Форма.абт_ДокументыРодственника.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        //ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Физлицо");
        //ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        //ЭлементОтбора.Использование = Истина;
        //ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
        //ЭлементОтбора.ПравоеЗначение = пОбъект.Владелец;

    КонецЕсли;    
    
КонецПроцедуры
   ДедМорроз
 
1 - 25.11.21 - 13:35
А обновить его пробовал?

Просто,я ту же проблему решал,но через запрос,и взлетело на ура.
   CepeLLlka
 
2 - 25.11.21 - 13:49
У меня есть пример, могу выслать на почту.. Но там тоже запрос.
   spiller26
 
3 - 25.11.21 - 14:04
(1) (2) Нашёл проблему закоментил вот это и пошло //РеквизитДС.ТекстЗапроса = "";
   spiller26
 
4 - 25.11.21 - 14:06
Всем спасибо!!!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.