Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 01:16

Подскажите как изменить программно высоту формы в событии "ПриОткрытии"?

Автор Soulidium, 06 мая 2013, 13:17

0 Пользователей и 1 гость просматривают эту тему.

Soulidium

Спасибо вам большое. Буду внимательней в следующий раз.
Добавлено: 07 мая 2013, 08:03


Не буду создавать новую тему... Подскажите как изменить программно высоту формы в событии "ПриОткрытии"?
ЭтаФорма.Высота = "Какое-то число без кавычек и с кавычками"; Не получается :dfbbdrfb:
http://s2.ipicture.ru/uploads/20130507/R5Udb3k6.jpg


Codokopatel

А почему именно в событии "При открытии".
Вообще-то, ширина и высота формы программно могут меняться только на сервере.
Следующий код - рабочий.
Например: нужно открыть форму шириной 10 условных единиц (у.е.) и высотой 120 у.е.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.Ширина = 10;
ЭтаФорма.Высота = 120;
КонецПроцедуры


Soulidium

Цитата: Codokopatel от 07 мая 2013, 13:38
А почему именно в событии "При открытии".
Да у меня там свои заморочки :)
Цитата: Codokopatel от 07 мая 2013, 13:38
Вообще-то, ширина и высота формы программно могут меняться только на сервере.
Спасибо, в этом и была проблема. Просто сделал вызов процедуры которая выполняется на сервере.

Codokopatel

Вообще, хочу сказать, при работе с управляемой формой происходят какие-то необъяснимые явления, больше похожие на бред.
Установили на сервере высоту и длину.
Открываем форму - да, похоже что размеры те, которые выставили программно.
Изменяем размеры формы в пользовательском режиме и закрываем форму.
Снова открываем форму.
Форма открывается с теми размерами, с которыми её закрыл пользователь.
То есть, получается что форма не уничтожилась при закрытии, а кешировалась.
Но, самое интересное, что я "повесил" на событие "При изменении" на одно из полей вывод сообщения о размерах формы. Так вот, в сообщении выводится размеры заданные на сервере, а не те что у меня перед глазами - а это уже просто бред.
Ладно, попробуем обойти это неприятное явление, в конфигураторе в свойствах формы скинем галочку "Разрешить изменять форму".
Запускаем приложение - как бы ни так, форма изменяется без проблем.
Правда в последнем капитальном труде 1С - "Профессиональная разработка в системе "1С:Предприятие 8", Москва, "1С-Паблишинг", 2012 г. в 1 томе на странице 372 в разделе "Программное изменение формы" говориться (всю цитату приводить не буду - это несколько абзацев): - "... возможность программного изменения формы является скорее опциональной, дополнительной."
И еще одна цитата с этой же страницы: - "Платформа содержит достаточно сложные механизмы многоуровнего кеширования различных частей формы, как на сервере, так и на клиенте".
Скорее всего надо "ковыряться" с серверными пользовательскими настройками формы, но пока особого желания заниматься этим нет.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск