|
Динамическая таблица на форме | ☑ | ||
---|---|---|---|---|
0
1Cancer
15.02.16
✎
18:11
|
Суть задачи, чтобы пользователь ввел 2 матрицы, размер которых заранее не известен. Пока, что думаю что это будет 2 ТЗ которые создаются динамически. Хорошее ли это решение, и можно ли им указать локацию, где они создадутся.
|
|||
1
Cyberhawk
15.02.16
✎
18:25
|
Хорошее, можно
|
|||
2
1Cancer
15.02.16
✎
18:33
|
(1) ок, а как например указать где создать ТЗ, допустим у меня есть группа группа1, могу я явно ее туда вставить, или пиксельно указать. Собственно если кто знает, хотелось бы пример кода
|
|||
3
Cyberhawk
15.02.16
✎
18:51
|
ОФ или УФ?
|
|||
4
1Cancer
16.02.16
✎
11:18
|
(3) уф
|
|||
5
Cyberhawk
16.02.16
✎
11:22
|
"могу я явно ее туда вставить, или пиксельно указать" // В группу вставить можешь, пиксельно - нет
"Собственно если кто знает, хотелось бы пример кода" // В СП Элементы.Добавить() |
|||
6
1Cancer
16.02.16
✎
12:20
|
(5) я не очень понимаю, вот процедура, в ее параметр передается сформированное ТЗ, она выводит ТЗ на форму, как сделать чтобы она ее вывела в конкретное место О_о а именно в группу2 например
&НаСервере Процедура ВывестиТЗНаФорму(ТЗ) ИсходноеИмяТЗ = "МояТаблицаЗначений"; МаксНомерТЗ = 0; МассивРеквизитов = ПолучитьРеквизиты(); Для каждого Реквизит Из МассивРеквизитов Цикл Если Лев(Реквизит.Имя, СтрДлина(ИсходноеИмяТЗ)) = ИсходноеИмяТЗ Тогда СтрНомер = Прав(Реквизит.Имя, СтрДлина(Реквизит.Имя) - СтрДлина(ИсходноеИмяТЗ)); Номер = Число(СтрНомер); Если Номер > МаксНомерТЗ Тогда МаксНомерТЗ = Номер; КонецЕсли; КонецЕсли; КонецЦикла; ИмяТЗ = ИсходноеИмяТЗ + Строка(МаксНомерТЗ+1); //Имеем исходную таблицу значений с именем "ТЗ" //Добавляем реквизит формы МассивРеквизитов = Новый Массив; МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяТЗ, Новый ОписаниеТипов("ТаблицаЗначений"), "", ИмяТЗ)); Для Каждого Колонка Из ТЗ.Колонки Цикл МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяТЗ, Колонка.Заголовок)); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); //Помещаем Элементы на форму Таблица = Элементы.Добавить(ИмяТЗ, Тип("ТаблицаФормы")); Таблица.ПутьКДанным = ИмяТЗ; Таблица.Отображение = ОтображениеТаблицы.Список; Для Каждого Колонка Из ТЗ.Колонки Цикл НовыйЭлемент = Элементы.Добавить(ИмяТЗ + "_" + Колонка.Имя, Тип("ПолеФормы"), Таблица); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = ИмяТЗ + "." + Колонка.Имя; КонецЦикла; //переносим таблицу значений на форму ЗначениеВРеквизитФормы(ТЗ,ИмяТЗ); КонецПроцедуры |
|||
7
Cyberhawk
16.02.16
✎
12:23
|
"я не очень понимаю"
Потому что ты по какой-то причине проигнорировал мой ответ. Повторю значимую часть: "В СП Элементы.Добавить()" |
|||
8
1Cancer
16.02.16
✎
12:36
|
(7) аа блин что - то читаю книгу вижу фигу))
Таблица = Элементы.Добавить(ИмяТЗ, Тип("ТаблицаФормы"),ЭтаФорма.Элементы["Группа3"]); вот как раз то, что ты говорил. Спасиб |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |