|
Программное добавление реквизитов формы | ☑ | ||
---|---|---|---|---|
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
|
Указал путь к данным. заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |