Имя: Пароль:
1C
 
Одно табличное поле на несколько источников (
0 stslit
 
22.09.25
12:16
Доброго дня!

Обычные формы. 8.3.27.
Есть "Табличное Поле"ТП, в которое помещаются разные "Табличные Части"(ТЧ). Процедура в которую передаться табличная часть. Сейчас работает с 4я разными ТЧ.

Процедура ОтображениеВТабличномПоле(ТЧИсточник)
	
	ТПИнтерфейс = ТЧИсточник.Выгрузить();
	ЭлементыФормы.ТПИнтерфейс.Данные = "ТПИнтерфейс";
	ЭлементыФормы.ТПИнтерфейс.СоздатьКолонки();	
	
	
КонецПроцедуры


Всё было бы хорошо, если бы не потребовалось на лету формировать столбцы документа. Если с ТЧ всё понятно и поля статичные, то финт добавления полей в ТЧ динамический не проходит.

Пробовал делать реквизит ТаблицаЗначений, он не может быть источником на обычных формах.

Создавал поля Колонки в ТП. Колонки данные всё есть (в отладчике), но на форме не отображаются.

Можно сделать несколько ТЧ, но количество вариантов документов может расти и на каждый делать новую ТЧ - плохой вариант. ИМХО.

Есть какое то более универсальное решение?
1 Fish
 
гуру
22.09.25
12:19
(0) "Колонки данные всё есть (в отладчике), но на форме не отображаются." - Надо немного поднатужиться и таки создать программно элементы формы для отображения колонок.
2 Fynjy
 
22.09.25
12:21
Зачем ТЗ? Размести на форме в двух закладка ТЧ объекта и регулируй при переключением отборами, а при добалении в поле отбора пиши значение
3 Мультук
 
гуру
22.09.25
12:25
(0)

Если это обычные формы и это форма обработки/отчёта, то

1) Кидаем на форму визуальный элемент "ТабличноеПоле".
Пусть он называется "ТабличноеПоле1"
Колонок на нем нет, нам они не нужны, т.к. будут создаваться "СоздатьКолонки()";    

2)  Тогда ваш код будет иметь вид

ТПИнтерфейс = ТЧИсточник.Выгрузить();
ТабличноеПоле1 = ТПИнтерфейс;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();    


3) Всё.
4 Fish
 
гуру
22.09.25
12:36
+(1) Сорри, неправильно прочитал (0).