1С 8.3 Управление размером формы - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Управление размером формы

Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
Перейти в раздел примеры кода 1С 8.3:
На форме программно управлять размером (через ключ сохранение положения окна) в 1С 8.3:
&НаКлиентеНаСервереБезКонтекста
Процедура УправлениеЭлементамиФормы(Форма, Шаг)

   ЭлементыФормы = Форма.Элементы;

   Если Шаг = 1 Тогда
       ЭлементыФормы.ГруппаСтраницы.ТекущаяСтраница = ЭлементыФормы.СтраницаВход;
       ЭлементыФормы.СтраницаВход.Видимость = Истина;
       ЭлементыФормы.СтраницаРеквизиты.Видимость = Ложь;
       ЭлементыФормы.СтраницаУспешно.Видимость = Ложь;
   ИначеЕсли Шаг = 2 Тогда
       ЭлементыФормы.ГруппаСтраницы.ТекущаяСтраница = ЭлементыФормы.СтраницаРеквизиты;
       ЭлементыФормы.СтраницаВход.Видимость = Ложь;
       ЭлементыФормы.СтраницаРеквизиты.Видимость = Истина;
       ЭлементыФормы.СтраницаУспешно.Видимость = Ложь;
   Иначе
       ЭлементыФормы.ГруппаСтраницы.ТекущаяСтраница = ЭлементыФормы.СтраницаУспешно;
       ЭлементыФормы.СтраницаВход.Видимость = Ложь;
       ЭлементыФормы.СтраницаРеквизиты.Видимость = Ложь;
       ЭлементыФормы.СтраницаУспешно.Видимость = Истина;
   КонецЕсли;

   Форма.КлючСохраненияПоложенияОкна = СтрШаблон("СостояниеФормыШаг%", Шаг);  // !!!

КонецПроцедуры
Контент прислан подписчиком телеграм-канала:
Если форма открывается не в том размере, который ожидаешь и появляются скроллы слева и справа. Чтобы восстановить положение нужно поработать мышкой или нажать волшебное сочетание клавиш - Alt + Shift + R (восстановить положение окна). Это происходит из-за того, что форма по умолчанию запоминает свои размеры при закрытии и восстанавливает их при открытии. Но, например, в пошаговых помощниках конечное состояние формы сильно отличается от начального. На таких формах часто используют Страницы и на каждой странице набор реквизитов разный.

По создании формы размер подстраивается под видимые в текущий момент реквизиты. Если позже эти реквизиты изменятся, например, ПриОткрытии или ПриЗагрузкеПользовательскихДанных, то форма в каких-то случаях оставляет свой старый размер и реквизиты не помещаются. С простыми формами платформа справляется хорошо. А вот на сложных такой эффект проявляется и форма открывается либо меньше, либо больше чем нужно. Чтобы этого избежать, следует управлять специальным свойством формы - КлючСохраненияПоложенияОкна. В разрезе этих ключей хранится размер и положение окна. При управлении формой следует менять этот реквизит. Форма в этом случае будет восстанавливать (или устанавливать новый) размер под текущий набор реквизитов для этого ключа. Затем при открытии формы мы укажем нужный нам ключ и форма построится корректно.

КлючСохраненияПоложенияОкна - это свойство со строковым типом значения. Можно  записать в него имя страницы, которая отображается. Если форма сложная, например, на странице будут отображаться или скрываться крупные блоки, то описание о них также стоит добавить в реквизит. После изменения этого свойства форма сама перестроится, никаких дополнительных методов вызывать не требуется.

// Можно также просто удалить из пользовательских настроек / хранилища информацию о форме (сохраненное положение).
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 25.06.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому