|
Таблица значений в отчете УФ | ☑ | ||
---|---|---|---|---|
0
zenon46
02.08.22
✎
16:35
|
Доброго дня!
Имеется внешний отчет, у него есть реквизит "Таблица" - ТаблицаЗначений, выкинул таблицу на форме, ест-но она без колонок, в модуле форме НаСервере есть обработчик считывания внешнего Xbase файла, обработчик возвращает "ТаблицуЗначений" - так вот как эту "ТаблицуЗначений" загрузить в "Таблицу" на форме что бы она стала видна пользователю ? |
|||
1
vicof
02.08.22
✎
16:37
|
ЗначениеВРеквизитФормы?
|
|||
2
6awkup_true
02.08.22
✎
16:40
|
(1) не прокатит - колонок то у него нет. нужно программно создать колонки тч, элементы формы, загрузить значения
|
|||
3
zenon46
02.08.22
✎
16:41
|
(1) пробовал - ошибка
|
|||
4
6awkup_true
02.08.22
✎
16:45
|
как пример. создает таблицу по дням с значением булево
//Изменяет состав колонок табличной части МассивРеквизитов = Новый Массив; Для Счетчик= 1 По 10 Цикл НоваяКолонка = Новый РеквизитФормы("Д" + Счетчик, Новый ОписаниеТипов("Булево"), "ТабличнаяЧастьФормы"); НоваяКолонка.Заголовок = Счетчик; МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); ТЗ_рез = РеквизитФормыВЗначение("ТабличнаяЧастьФормы"); //Заполняешь тут таблицу по своим данным //Создает колонки на форме. ЭлементТЗ = Элементы.ТабличнаяЧастьПоДням; Для Каждого Колонка ИЗ ТЗ_рез.Колонки Цикл НовыйЭлементФормы = Элементы.Добавить(""+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ); НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка; НовыйЭлементФормы.ПутьКДанным = "ТабличнаяЧастьФормы." + Колонка.Имя; КонецЦикла; |
|||
5
6awkup_true
02.08.22
✎
16:46
|
МассивРеквизитов = Новый Массив;
Для Счетчик= 1 По 10 Цикл НоваяКолонка = Новый РеквизитФормы("Д" + Счетчик, Новый ОписаниеТипов("Булево"), "ТабличнаяЧастьФормы"); НоваяКолонка.Заголовок = Счетчик; МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); ТЗ_рез = РеквизитФормыВЗначение("ТабличнаяЧастьФормы"); //Заполняешь тут таблицу по своим данным //Создает колонки на форме. ЭлементТЗ = Элементы.ТабличнаяЧастьФормы; Для Каждого Колонка ИЗ ТЗ_рез.Колонки Цикл НовыйЭлементФормы = Элементы.Добавить(""+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ); НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка; НовыйЭлементФормы.ПутьКДанным = "ТабличнаяЧастьФормы." + Колонка.Имя; КонецЦикла; |
|||
6
6awkup_true
02.08.22
✎
16:49
|
перед созданием колонок еще нужно запихать данные в таблицу
ЗначениеВРеквизитФормы(ТЗ_рез, "ТабличнаяЧастьФормы"); потом создаешь колонки |
|||
7
zenon46
02.08.22
✎
17:11
|
Сделал в итоге вот так :
Для Каждого Колонка ИЗ таблицаЗначений.Колонки Цикл Заг=СокрЛП(Колонка.Заголовок); Заг=?(Заг="",Колонка.Имя, Заг); Если не Элементы.Найти(Заг) = неопределено тогда продолжить конецесли; МассивДобавляемыхРеквизитов = Новый Массив; МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(Заг, Колонка.ТипЗначения,"Таблица" ,Заг)); ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); НоваяКолонка =Элементы.Добавить(Заг,Тип("ПолеФормы"), Элементы.Таблица); НоваяКолонка.Заголовок = Заг; НоваяКолонка.ПутьКДанным = "Таблица."+Заг; НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; КонецЦикла; ЗначениеВРеквизитФормы(таблицаЗначений,"Таблица"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |