|
Програмное создание колонок (управляемая форма) | ☑ | ||
---|---|---|---|---|
0
Mich
20.03.12
✎
12:15
|
Коллеги, добрый день!
Чет никак не пойму почему не работает следующий код: МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("План", Новый ОписаниеТипов("ТаблицаЗначений"))); МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Номенклатура", Новый ОписаниеТипов("СправочникСсылкаНоменклатура"),"План" ,"Номенклатура")); ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); Реквизит план создается, а колонка нет! что скажите?? |
|||
1
Нуф-Нуф
20.03.12
✎
12:19
|
может сначала добавить табличное поле, а потом добавлять колонки?
|
|||
2
Mich
20.03.12
✎
12:20
|
(1) ну это не обязательно, но и так пробовал - код выполняется без ошибок, но колонки не создаются.
|
|||
3
Mich
20.03.12
✎
12:29
|
подниму
|
|||
4
Omskdizel
20.03.12
✎
12:32
|
А колонки разве сами должны появиться? Сдается мне их подобным образом надо создавать.
|
|||
5
lxs
20.03.12
✎
12:34
|
// программно создадим колонки на форме
ТипыРеквизита = Новый Массив; ТипыРеквизита.Добавить(Тип("Строка")); ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита); ДобавляемыеРеквизитыТЗ = Новый Массив; УдаляемыеРеквизитыТЗ = Новый Массив; Для Каждого Колонка Из ТЗ.Колонки Цикл НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, ОписаниеТиповДляРеквизита, "РеквизитТЗ", Колонка.Заголовок, Истина); ДобавляемыеРеквизитыТЗ.Добавить(НоваяКолонка); КонецЦикла; РеквизитТЗРеквизиты = РеквизитФормыВЗначение("РеквизитТЗ"); Для Каждого Колонка Из РеквизитТЗРеквизиты.Колонки Цикл УдаляемыеРеквизитыТЗ.Добавить("РеквизитТЗ." + Колонка.Имя); КонецЦикла; |
|||
6
sanja26
20.03.12
✎
12:34
|
ТабличноеПоле (TableBox)
СоздатьКолонки (CreateColumns) Синтаксис: СоздатьКолонки() Описание: Удаляет старые колонки и загружает новые колонки из источника данных. Доступность: Толстый клиент. Пример: ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); |
|||
7
lxs
20.03.12
✎
12:35
|
||||
8
Mich
20.03.12
✎
12:40
|
(5) по-моему код не дописан и по Вашему я по другому делаю?)
|
|||
9
Mich
20.03.12
✎
12:41
|
(6) у меня тонкий клиент
|
|||
10
lxs
20.03.12
✎
12:42
|
(8) допиши)
|
|||
11
Mich
20.03.12
✎
12:44
|
(10) по твоему я делаю по другому? По моему это то же самое что и у меня, разве нет?
|
|||
12
lxs
20.03.12
✎
12:47
|
(11) Ну у меня он работает, а у тебя нет.
|
|||
13
Defender aka LINN
20.03.12
✎
12:48
|
(8) Реквизит формы <> Элемент формы, есличе.
|
|||
14
Mich
20.03.12
✎
12:50
|
(13) вроде я не слова не говорил об элементах формы. Мне не нужны элементы, мне нужны реквизиты!
|
|||
15
lxs
20.03.12
✎
12:50
|
(14) дело в последовательности..
|
|||
16
Mich
20.03.12
✎
12:52
|
(15) не спорю! - а у меня неправильная последовательность?
|
|||
17
lxs
20.03.12
✎
13:04
|
Попробуй ИзменитьРеквизиты(МассивДобавляемыхРеквизитов) применить дважды, после добавления таблицы, и после добавления реквизита.
|
|||
18
Лирик
20.03.12
✎
13:24
|
Себе сделал так, работает:
&НаСервере Функция ПроверитьНаличиеРеквизита(ИмяРеквизита, Форма) Экспорт МассивРеквизитов = Форма.ПолучитьРеквизиты(); Для каждого РеквизитФормы Из МассивРеквизитов Цикл Если РеквизитФормы.Имя = ИмяРеквизита Тогда Возврат Истина; КонецЕсли; КонецЦикла; Возврат Ложь; КонецФункции // ПроверитьНаличиеРеквизита() &НаСервере Процедура ДобавитьРеквизитТаблица(ИмяРеквизита, ТаблицаРеквизита, Форма) Экспорт ТипРеквизита = Новый Массив; ТипРеквизита.Добавить(Тип("ТаблицаЗначений")); ОписаниеТиповРеквизитов = Новый ОписаниеТипов(ТипРеквизита); НовыйРеквизит = Новый РеквизитФормы(ИмяРеквизита, ОписаниеТиповРеквизитов); ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты.Добавить(НовыйРеквизит); Для каждого КолонкаТаблицы Из ТаблицаРеквизита.Колонки Цикл ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(КолонкаТаблицы.Имя, КолонкаТаблицы.ТипЗначения, ИмяРеквизита)) КонецЦикла; Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |