|
УФ. Не отображается на форме РеквизитФормы типа ТаблицаЗначений |
☑ |
0
yuraskas
14.04.20
✎
00:01
|
Создан реквизит формы с типом ТаблицаЗначений с именем к примеру "врТЗХранилище" без колонок и добавлен на форму. Не виден (наверное что нет колонок?)
Колонки формируются программно:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Для н = 0 По 29 Цикл
НаимКолонкиСервер = "Код"+Строка(н);
МассивДобавляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(НаимКолонкиСервер, Новый ОписаниеТипов("Строка"),"врТЗХранилище"));
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
КонецЦикла;
КонецПроцедуры
Тз заполняется программно, в отладчике видно, что заполнено, тип "ДанныеФормыКоллекция", но на форме нет ничего. Что еще нужно сделать чтобы отобразилось на форме.
|
|
1
yuraskas
14.04.20
✎
00:04
|
После заполнения, добавил вот этот код, все равно не отображается на форме, что еще нужно сделать?
ЭлементТаблица = Элементы.Добавить("МояТаблицаФормы", Тип("ТаблицаФормы"), Элементы.ГруппаМатрица);
ЭлементТаблица.ПутьКДанным = "врТЗХранилище";
ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;
|
|
2
vicof
14.04.20
✎
08:03
|
(0) Г..код детектед
Ну загляни хотя бы в синтакс-помощник.
|
|
3
yuraskas
14.04.20
✎
08:26
|
(2)Коллеги, с УФ работал мало, прошу конструктивной помощи, если нечего ответить, лучше не пишите.
|
|
4
ДенисЧ
14.04.20
✎
08:35
|
Я не помню, как в УФ, но в ОФ ещё нужно сказать СоздатьКолонки()...
|
|
5
Sedoy
14.04.20
✎
08:49
|
(3) Чтобы увидеть таблицу на клиенте, ее надо и заполнять на клиенте.
|
|
6
hhhh
14.04.20
✎
09:08
|
(3) чего это ты создал элементТаблица, а ЭлеиентКолонки где? Пушкин будет за тебя создавать?
|
|
7
yuraskas
14.04.20
✎
16:06
|
(5) Если я начинаю ее заполнять на клиенте, то вот что выдает: "Изменение состава элементов недоступно"
Поэтому делаем на сервере. Короче получилось, если кому пригодиться то вот такой код нужно, чтобы (0) вывести на форму:
&НаСервере
Процедура ОбновитьФорму()
ЭлементТаблица = Элементы.Добавить("МояТаблицаФормы", Тип("ТаблицаФормы"), Элементы.ГруппаМатрица);
ЭлементТаблица.ПутьКДанным = "врТЗХранилище";
ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;
// Выводим на форму колонки таблицы
ЭлементТаблица = Элементы.МояТаблицаФормы;
вртз = РеквизитФормыВЗначение("врТЗХранилище", Тип("ТаблицаЗначений"));
Для Каждого Колонка Из вртз.Колонки Цикл
НовыйЭлементФормы = Элементы.Добавить("врТЗХранилище" + Колонка.Имя, Тип("ПолеФормы"), ЭлементТаблица);
НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлементФормы.ПутьКДанным = "врТЗХранилище." + Колонка.Имя;
КонецЦикла;
ЗначениеВДанныеФормы(вртз, врТЗХранилище);
КонецПроцедуры
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший