|
8.2 Таблицу значений на управляемую форму программно | ☑ | ||
---|---|---|---|---|
0
Dmitr
02.07.10
✎
13:08
|
Как собственно на форму вытащить таблицу значений именно программно.
Сильно не пинайте с 8.2 пока только осваиваюсь |
|||
1
Mort
02.07.10
✎
13:10
|
(Таблица значений) уже есть как реквизит?
|
|||
2
Dmitr
02.07.10
✎
13:11
|
нет она тоже программно создаеться
|
|||
3
Dmitr
02.07.10
✎
13:11
|
и структура у нее естественно может меняться
|
|||
4
Mort
02.07.10
✎
13:14
|
На сервере создается?
Нужно создать ДанныеФормыКоллекция соотв. ТЗ и пихнуть её в реквизиты формы через ИзменитьРеквизиты, потом создать через Элементы таблицу формы с привязкой к этой коллекции. |
|||
5
Dmitr
02.07.10
✎
13:16
|
(4) А образец кода можно? Плиз
|
|||
6
Mort
02.07.10
✎
13:21
|
(5) А ты попробуй сам. Вдруг получится? В СП поищи, в типовой какой-нить.
|
|||
7
Dmitr
02.07.10
✎
14:12
|
Не могу сообразить как и примеров в типовых нету. По крайней мере явных
|
|||
8
johnbay
02.07.10
✎
14:46
|
Примерно так:
МассивТипаВыбора = Новый Массив; МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора); МассивРеквизитов.Добавить(Новый РеквизитФормы("МойРеквизит", ОписаниеТипаВыбора, "", "Моя таблица")); ТаблицаПолейВыбора = ФормаОтчета.Элементы.Добавить("МояТаблица", Тип("ТаблицаФормы"), Группа); ТаблицаПолейВыбора.ПутьКДанным = "МойРеквизит"; ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список; ТаблицаПолейВыбора.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ТаблицаПолейВыбора.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; ТаблицаПолейВыбора.ВертикальныеЛинии = ложь; ТаблицаПолейВыбора.ГоризонтальныеЛинии = ложь; ТаблицаПолейВыбора.Шапка = ложь; ТаблицаПолейВыбора.Подвал = ложь; ТаблицаПолейВыбора.ИзменятьПорядокСтрок = истина; ТаблицаПолейВыбора.ИзменятьСоставСтрок = ложь; ТаблицаПолейВыбора.РастягиватьПоГоризонтали = Истина; ТаблицаПолейВыбора.ИзменятьСоставСтрок = ложь; ФормаОтчета.ИзменитьРеквизиты(МассивРеквизитов); |
|||
9
Defender aka LINN
02.07.10
✎
14:48
|
||||
10
Dmitr
02.07.10
✎
14:49
|
Спасибо попробую отпишусь о результатах
|
|||
11
Dmitr
02.07.10
✎
16:42
|
Вообщем получилось както так:
МассивРеквизитов = Новый Массив; МассивТипаВыбора = Новый Массив; МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора); МассивРеквизитов.Добавить(Новый РеквизитФормы("МойРеквизит", ОписаниеТипаВыбора, "", "Моя таблица")); Для Каждого Колонка Из ТЗ.Колонки Цикл МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "МойРеквизит")); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); ТаблицаПолейВыбора = Элементы.Добавить("МояТаблица", Тип("ТаблицаФормы"),Родитель); ТаблицаПолейВыбора.ПутьКДанным = "МойРеквизит"; ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список; Для Каждого Колонка Из ТЗ.Колонки Цикл НовыйЭлемент = Элементы.Добавить("Дерево_" + Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "МойРеквизит." + Колонка.Имя; КонецЦикла; ЗначениеВРеквизитФормы(ТЗ,"МойРеквизит"); ТЗ - произвольная таблица значений. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |