Динамическое программное добавление табличного документа на УФ. #744772


#0 by байт
Доброго времени суток, коллеги, с УФ не так часто вожусь в связи с чем такой вопрос динамически формируются табличные документы(печатные формы), они размещаются постранично на форму их может быть 10, 15 и т.д, не удается мне программно это реализовать, на форме уже размещено 10 табличных документов, если их не хватает нужно добавить программно, может кто поможет? Это мои попытки дописки:     Колво = КоллекцияПечатныхФорм.Количество; не могу я пока совладать с УФ формами))
#1 by байт
подниму )
#2 by байт
хотел просто для теста чтобы появились хотя бы закладки, но он и их не выводит что делаю не так?
#3 by butterbean
УФ не показывает пустые элементы, т.е. группы без вложенных элементов, элементы не привязанные к данным и т.п. у тебя поле формы не связано с данными, поэтому ничего нет
#4 by байт
хорошо как связать?
#5 by SeraFim
А вид группы разве не надо задавать? Что-то типа: НовГруппа.Вид = ВидГруппыФормы.Страница;
#6 by байт
добавил не помогло.
#7 by YurAnt
Могу ошибаться... но как насчет Выполнить(Код) ? рисуешь в макете строку, формируешь динамически столько раз сколько нужно "они размещаются постранично на форму их может быть 10, 15 и т.д," пихаешь всё в "Код" исполняешь, выводишь
#8 by YurAnt
самый простой вариант - взглянуть как это реализовано в типовых варинатах
#9 by байт
не вкурил???
#10 by байт
у меня уже сформированы табличные документы их осталось только вывести на эту Управляемую форму??
#11 by DmitrO
Поле формы на УФ никогда не отобразится пока не задашь путь к данным: НовПоле.ПутьКДанным = ...
#12 by YurAnt
посмотри в гугле  "программно добавить элемент формы" 2я ссылка там про кнопку и поле ввода, но суть надо полагать одна и та же
#13 by байт
да ты прав, подсунул туда таб10, теперь как туда запихнуть мою таблицу, в данном случае я сослался на реквизит формы попытался присваивать значение в цикле к реквизиту не взлетело?
#14 by SeraFim
Нужно создавать реквизиты формы =)
#15 by DmitrO
ну не обязательно создавать, может он уже есть )
#16 by байт
реквизит = Новый РеквизитФормы так чтоли?
#17 by DmitrO
или, например так: НовПоле.ПутьКДанным ="СписокЗначенийСЭмыкселинами[0].Значение";
#18 by байт
на форме есть 10 реквизитов Таб1, Таб2,....,(тип ТабличныйДокумент) я просто хочу взять любой из них присвоить туда макет и вывести как выше но не взлетело.
#19 by SeraFim
"Динамическое программное добавление табличного документа на УФ." <> "на форме есть 10 реквизитов Таб1, Таб2,....,(тип ТабличныйДокумент)" Или 1. у тебя 10 реквизитов Таб1, Таб2... и 10 страниц с уже созданными полями табличного документов. Тогда просто загружаешь данные в Таб1, Таб2... и не паришься. Но 11-ый ТабДок ты уже не выведешь. Или 2. У тебя нету ни реквизитов, ни страниц с полями табличного документов. Тогда ты каждый раз программно создаешь реквизиты Таб1, Таб2... и создаешь страницы с полями табличного документов. И тогда ты сможешь выводить сколько угодно ТабДоков.
#20 by байт
а совместить эти варианты разве нельзя?
#21 by SeraFim
а все... Дошло. У тебя 10 реквизитов, но страниц с полями табличного документов у тебя нет.
#22 by байт
есть нарисованные 10 страниц и 10 табДоков к ней, в случае если не хватает создаю программно и вывожу.
#23 by байт
делаю так выводит просто имя табличныйДокумент вместо макета что делаю не так?
#24 by байт
Хотя в отладке табличный документ.
#25 by байт
реквизит = Новый РеквизитФормы("Таб" + Сч,новый ОписаниеТипов("ТабличныйДокумент")); {ОбщаяФорма.ПечатьДокументов.Форма}: Ошибка при установке значения атрибута контекста (ПутьКДанным)
#26 by байт
реквизит создается.
#27 by байт
Честно говоря до конца не пойму программное создание реквизита как это вообще работает?
#28 by DmitrO
это потому что сначала надо вызвать у формы ИзменитьРеквизиты, а потом уже назначать путь полям формы.
#29 by байт
спасибо очень помог)))
#30 by байт
вот Итог работающего кода может кому пригодится, @DmitroO еще раз спасибо:
#31 by байт
кстати что перед ником поставить чтобы он выделился что-то забыл?))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С