|   |   | 
| 
 | Программное добавление реквизитов формы | ☑ | ||
|---|---|---|---|---|
| 0
    
        galimovmaks 29.09.14✎ 08:31 | 
        Есть иерархический справочник. От его состава надо добавить реквизиты на форму. Выполняю алгоритм
 &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ВыборкаГруппа = Справочники.илСервисныеРаботы.ВыбратьИерархически(); ДобавляемыеРеквизиты = Новый Массив; Пока ВыборкаГруппа.Следующий() Цикл Если ВыборкаГруппа.Актуально = Ложь Тогда Продолжить; КонецЕсли; Если ЗначениеЗаполнено(ВыборкаГруппа.Родитель) Тогда Продолжить; КонецЕсли; Группа = Новый РеквизитФормы(ВыборкаГруппа.УникальноеИмяРеквизита, Новый ОписаниеТипов("Строка"), , ,Истина); ДобавляемыеРеквизиты.Добавить(Группа); Выборка = Справочники.илСервисныеРаботы.Выбрать(ВыборкаГруппа.Ссылка); Пока Выборка.Следующий() Цикл Если Выборка.Актуально = Ложь Тогда Продолжить; КонецЕсли; МассивТипов = Новый Массив; МассивТипов.Добавить(ТипЗнч(Выборка.Тип)); Реквизит = Новый РеквизитФормы(Выборка.УникальноеИмяРеквизита, Новый ОписаниеТипов(МассивТипов), , ,Истина); ДобавляемыеРеквизиты.Добавить(Реквизит); КонецЦикла; КонецЦикла; ЭтаФорма.ИзменитьРеквизиты(ДобавляемыеРеквизиты); КонецПроцедуры В отладчике в форме видны реквизиты, а на форме не отображаются. Подскажите, где ошибка? | |||
| 1
    
        ОбычныйЧеловек 29.09.14✎ 08:50 | 
        (0) А если ошибки нету? :)
 Реквизиты то ты добавил, а вот "Элементы" на форму нет... | |||
| 2
    
        skunk 29.09.14✎ 08:59 | 
        ЭлементыФормы.Добавить(Тип("....     | |||
| 3
    
        galimovmaks 29.09.14✎ 09:07 | 
        (2) вот добавляю
 ЭтаФорма.Элементы.Добавить(Имя, Тип(ТипРеквизита), Элементы.СервисныеРаботы); Имя- имя элемента Элементы.СервисныеРаботы - тип ГруппаФормы (куда надо добавить элементы) выдает ошибку НедопустимоеЗначениеПараметров | |||
| 4
    
        skunk 29.09.14✎ 09:16 | 
        первым реквизитом не имя а тип элемента     | |||
| 5
    
        skunk 29.09.14✎ 09:17 | 
        ЭлементыФормы (Controls)
 Добавить (Add) Синтаксис: Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>) | |||
| 6
    
        galimovmaks 29.09.14✎ 09:17 | 
        (4) 
 Синтаксис: Добавить(<Имя>, <ТипЭлемента>, <Родитель>) Параметры: <Имя> (обязательный) Тип: Строка. Уникальное имя добавляемого элемента. <ТипЭлемента> (обязательный) Тип: Тип. Тип добавляемого элемента. <Родитель> (необязательный) Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма. Родитель для добавляемого элемента. Если не указан, то добавляется на верхний уровень. Возвращаемое значение: Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы. Описание: Добавляет элемент в коллекцию. Доступность: Сервер, мобильное приложение(сервер). | |||
| 7
    
        skunk 29.09.14✎ 09:25 | 
        пнОсновная = ЭлементыФормы.пнОснонвая;
 ЭлементыФормы.Добавить(Тип("Надпись"), "лбМетка" + стрНомерВкладки, Истина, пнОсновная); | |||
| 8
    
        hhhh 29.09.14✎ 09:29 | 
        (7) ЭлементыФормы - это для обычных форм
 (6) наверно, тип не тот указываете. | |||
| 9
    
        galimovmaks 29.09.14✎ 09:37 | 
        (8) да. тип не тот. Исправил
 Элемент = ЭтаФорма.Элементы.Добавить(Имя, Тип("ПолеФормы"), ЭтаФорма.Элементы["СервисныеРаботы"]); Элемент.Видимость = Истина; Форма открывается, а элемент все равно не виден.. | |||
| 10
    
        galimovmaks 29.09.14✎ 09:47 | 
        Указал путь к данным. заработало     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |