|
Программное добавление нескольких табличных полей | ☑ | ||
---|---|---|---|---|
0
Dmitrith
26.11.13
✎
13:43
|
Совсем уже запутался:
СписокВкладок = ВернутьСписокВкладок(); // тут у меня получается имена список вкладок формы Эл = ЭтаФорма.Панель.Страницы; ЭтаФорма.Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху; Для Каждого Стр из СписокВкладок Цикл ТаблицаВкладок = ВернутьТЗ_рст(Стр.Значение); // это у меня тз, которая должна вывестись на текущей вкладке. Структура ТЗ может быть разная Эл.Добавить(Стр.Значение,Стр.Значение); ТабПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"тп"+Стр.Значение,Истина,ЭтаФорма.Панель); ТабПоле.Лево = 6; ТабПоле.Верх = 6; ТабПоле.Ширина = 1000; ТабПоле.Высота = 1000; //ТабПоле.Данные = ********* что писть сюда?????? КонецЦикла; |
|||
1
vicof
26.11.13
✎
13:45
|
А у тебя табличное поле с данными вообще связано?
|
|||
2
Ерепень
26.11.13
✎
13:45
|
строку
|
|||
3
Dmitrith
26.11.13
✎
13:46
|
(1) Вообще не связано
У меня есть ТаблицаЗначений из запроса. мне ее надо вывести. Если не в Данные то куда? |
|||
4
Dmitrith
26.11.13
✎
13:46
|
(2) Кэп )
|
|||
5
dj_serega
26.11.13
✎
13:47
|
В УП элементы отображаются на форме когда они связаны с реквизитами.
v8: Программное создание реквизитов формы |
|||
6
vicof
26.11.13
✎
13:54
|
(3) Данные - это связь либо с реквизитом объекта либо с реквизитом формы, которые и хранят твои данные.
|
|||
7
vicof
26.11.13
✎
13:55
|
Соответственно, создавай реквизиты формы с типом таблицазначений и прописывай их в данные
|
|||
8
Dmitrith
26.11.13
✎
14:14
|
(5)(6) Эм... Не сказал сразу - это для управляемых форм. А у меня обычная. Насколько я понял необходимо работать через .Значение. Как то так:
ТабПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"тп"+Стр.Значение,Истина,ЭтаФорма.Панель); ТабПоле.Лево = 6; ТабПоле.Верх = 6; ТабПоле.Ширина = 1000; ТабПоле.Высота = 1000; //ТабПоле.Данные = "тп"+Стр.Значение; ТабПоле.Значение = ТаблицаВкладок; // данные в Значении нужного мне табличного поля лежат. НовКолонка1 = ТабПоле.Колонки.Добавить("Стр1"); НовКолонка1.Данные = "Стр1"; // т.е. вот сюда пихать еще что-то надо или что? |
|||
9
vicof
26.11.13
✎
14:20
|
(8) Капец.Элемент формы - отображает данные. Связанные с ним или не связанные.
Если связанные, тогда ,если ты поменяешь что-нибудь в табличном поле - изменятся данные. Если не связанные - на твои изменения всем пофиг. |
|||
10
Dmitrith
26.11.13
✎
14:59
|
Хорошо. Еще раз. Есть Список вкладок обычной формы, есть таблицы значений для каждой вкладки. Данные естественно связать ни с чем не можем. Вот уже исправленный кусок. По идее все должно работать. Колонки в ТабличноеПоле копируются. Строки нет. Почему?
СписокВкладок = ВернутьСписокВкладок(); Эл = ЭтаФорма.Панель.Страницы; ЭтаФорма.Панель.ОтображениеЗакладок = ОтображениеЗакладок.Сверху; Для Каждого Стр из СписокВкладок Цикл Эл.Добавить(Стр.Значение,Стр.Значение); ТабПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"тп"+Стр.Значение,Истина,ЭтаФорма.Панель); ТабПоле.Лево = 6; ТабПоле.Верх = 6; ТабПоле.Ширина = 1000; ТабТекВкладки = ВернутьТЗ_рст(Стр.Значение); ТабПоле.Значение = ТабТекВкладки; ЭлементыФормы["тп"+Стр.Значение].СоздатьКолонки(); КонецЦикла; |
|||
11
mzelensky
26.11.13
✎
15:03
|
(0) а собственно вопрос - зачем так изголяться и динамически создавать элементы??? От чего зависит их количество?
|
|||
12
Dmitrith
26.11.13
✎
15:04
|
(11) оно того стоит )
|
|||
13
mzelensky
26.11.13
✎
15:10
|
(12) Хорошее обоснование :)
|
|||
14
mzelensky
26.11.13
✎
15:11
|
(10) "Колонки в ТабличноеПоле копируются. Строки нет. Почему?"
ТЫ о какой "строке" вообще говоришь? |
|||
15
mzelensky
26.11.13
✎
15:13
|
(14) Если ты про это:
ТабТекВкладки = ВернутьТЗ_рст(Стр.Значение); ТабПоле.Значение = ТабТекВкладки; И "ТабТекВкладки" - это таблица значений, то хочу тебя огорчить, так ТЗ не передается. Так передается ССЫЛКА на ТЗ. Именно поэтмоу у ТЗ есть метод "Скопировать" |
|||
16
Dmitrith
26.11.13
✎
15:23
|
(14) Строки табличной части из ТабТекВкладки
(15) ТабТекВкладки = ВернутьТЗ_рст(Стр.Значение); ТабПоле.Значение = ТабТекВкладки.Скопировать(); ЭлементыФормы["тп"+Стр.Значение].СоздатьКолонки(); Тот же результат: http://clip2net.com/s/6fUGNW Создаются на всех вкладках ТабличныеПоля, но не заполняются данные. Хотя в ТабПоле.Значение лежит корректная таблицаЗначений: http://clip2net.com/s/6fUNa0 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |