Установить привязки программно #598389


#0 by thomY100
Добрый день, есть такая проблема: Добавил на панель формы страницу, а на нее табличное поле, указал для него привязки: но при разворачивании формы на весь экран, размеры табличного поля не изменяются, подскажите в чем может быть причина?
#1 by GenV
если элемент на странице, то привязываться нужно к "Панель"
#2 by thomY100
заменил везде ЭлементыФормы.ОсновнаяПанель на Панель, тот же эффект
#3 by thomY100
кто-нибудь может подсказать источник проблемы?
#4 by GenV
Проверить правильность установления размера элемента !до! установки привязок, проверить, что элемент создан !внутри! панели.
#5 by thomY100
ну с размером вроде порядок, я его скопировал с размера другого табличного поля с другой страницы, а как проверить что элемент создан внутри панели?
#6 by Reset
При копировании ("вставить") должна быть выделена (активна) панель
#7 by Reset
кроме того, он перемещаться будет вместе с панелью
#8 by Reset
Если создаешь программно, то в параметрах указывается панель
#9 by thomY100
создаю программно, а в каком именно параметре указывается панель?
#10 by Reset
В четвертом.
#11 by thomY100
создаю панель так:
#12 by GenV
Текущая страница должна быть предварительно обязательно установлена. Размеры элемент не должны быть больше чем реальные у станицы панели (в момент добавления) иначе привязки игнорируются.
#13 by Reset
А какие размеры у элемента (в момент добавления)? По моему, 0 высота/ширина (не помню) Автору: А создание панели/ТП заранее в конфигураторе и при необходимости включение видимости нерассматриваешь? Просто не хочется гадать, что там у тебя в черном ящике
#14 by GenV
Не у элемента в момента добавления, а у страницы панели в момент добавления на неё элемента ) Размеры же он будет устанавливать.
#15 by thomY100
вот весь код добавления СтраницаАгентские=ЭлементыФормы.ОсновнаяПанель.Страницы.Вставить(3,"Агентские","Агентские"); что в нем поправить, размеры не больше чем у панели, их скопировал с другого табличного поля, добавляю программно чтобы не париться с обновлением
#16 by GenV
Если поле занимает полностью всю страницу - программно не добавишь, нужно сделать небольшой отступ на рамку.
#17 by Mort
Про панель тебя жестоко обманули.
#18 by GenV
Может попробуешь сначала получить программно значения добавленных вручную привязок и сравнить? )
#19 by thomY100
немного разобрался, если табличное поле добавляется, когда документ не развернут на весь экран, то всё норм, и при разворачивании оно тоже растягивается, а вот если документ развернут, то оно создается маленькое, а при сворачивании становится ещё меньше, как это побороть?
#20 by Reset
Задавать относительный размер, а не абсолютный
#21 by Reset
т.е. не ТабличноеПолеАгентские.Высота = 212; а увязать на текущие размеры панели
#22 by Mort
Пример размещения табличного поля с командной панелью на странице.
#23 by Mort
+ Примечание от К.О.: ПанельСтраниц это панель со страницами, а не панель формы, которая Форма.Панель (или просто Панель).
#24 by GenV
Мою просьбу не осилил? ) Посмотреть как типовой механизм работает ...
#25 by Mort
Накуй мне что-то смотреть, я на этих привязках упряжку собак сожрал.
#26 by GenV
Ответь за свои слова , будь мужиком ...
#27 by Mort
вот пример обработки, где ТП и прочие элементы с привязками размещаются на динамически создаваемых страницах. Версия древняя, но работает. Есть получше.
#28 by Mort
А ты приведи пример где для привязки элементов на странице используется панель формы (реквизит "Панель").
#29 by thomY100
ок, всем спасибо, заработало
#30 by GenV
И что? Ты утверждает, что типовой механизм не работает. Обоснуй.
#31 by GenV
Уже писал. Добавь вручную и получи программно привязки ...
#32 by Mort
Ты то свою прогу хоть читал? Там привязки устанавливаются к панели на которой страницы. О чем так долго говорили большевики...
#33 by GenV
Когда кончишь тупишь и осознаешь смысл ФормаВладелец.Панель попробуй
#34 by Mort
Вот оно чо. У тебя панели растягиваются вместе с формой, поэтому элементы в них не тупят, тягаются пропорционально. Ну размести на панели со страницами (Которая растягивается пропорционально) поле ввода фиксированной длины, чтобы было привязано к правой стороне страницы панели.
#35 by Mort
+ Правда не очень пример. Можно выкрутится через привязку к правой стороне. Но можно придумать задачу когда привязками к форме не решишь.
#36 by Mort
Собсно достаточно и .
#37 by GenV
Посмотри на сообщения и откуда они берутся
#38 by Mort
Ну платформа сама назначает панель если ей "подсунуть" панель формы (отдельный вопрос нафига). Отсюда монопенисуально что туда посылать, привязано будет к элементу - панели держателю элемента (а не панели формы). Откуда категоричность заявления в - не представляю.
#39 by Mort
+ Автор изначально и так правильно написал.
#40 by Mort
В своей обработке замени:
#41 by Mort
Значение "Панель", тип значения "Панель" - это все не свойство формы "Панель". Нужно на имя смотреть.
#42 by GenV
Категоричность от невозможности вручную такую привязку установить.
#43 by GenV
А не кто не говорит что это панель формы из реквизита. Мне интересует почему ты решил .
#44 by Mort
Вручную как раз возможно установить только привязку к панели - держателю элементы, главная панель формы тут не приделах. Ввел заблуждение человека, что ошибка кроется именно там, когда там все правильно. И меня тоже.
#45 by GenV
Где обманули? Не работает?
#46 by GenV
Собственно замена "Панель" введенной вручную происходит платформой на нужный элемент.
#47 by Mort
Это да, только заметь, что для привязок элементов находящихся непосредственно на форме, вручную указывается не "Панель" а "Форма" (а привязывается как раз к этой самой панели формы). так что Панель тут просто одинаковые слова.
#48 by GenV
Согласен. Ладно, разобрались.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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