Как программно изменить размер формы 1с

Как увеличить высоту формы программно?

Как увеличить высоту формы программно?

Я
   MaxS

13.10.10 — 13:53

1С 8.2, обычная форма, хочу програмно увеличить высоту формы и под комментарием вставить такое же поле ввода.

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

ЭтаФорма.Высота = ЭтаФорма.Высота + 24;

ЭлементыФормы.ОсновныеДействияФормы.Верх = ЭлементыФормы.ОсновныеДействияФормы.Верх + 24;

В отладчике смотрю, действительно высота меняется, но визуально нет. наверное привязывается к нижней выравнивающей линии.

В результате нижние кнопки формы под добавленным полем ввода.

   Mitriy

1 — 13.10.10 — 13:54

(0) в 8.1 я это не победил…

   RomaH

2 — 13.10.10 — 14:12

… на 8.1 вроде сталкивался

… насколько помню — пришлось сначала удалить мешающие элементы, а затем увеличивать размер формы

   RomaH

3 — 13.10.10 — 14:16

не не так

v8: Как програмно разместить элементы «за границами формы»?

   DailyLookingOnSunset

4 — 13.10.10 — 14:53

Ширину и высоту формы можно изменить, если у формы установить в ложь

свойство «Исп. только видимую область».

Возможно тоже самое нужно сделать со свойством «Использовать выравнивающие

линии». Свойства не программные, изменяется в конфигураторе. Изменить

ширину и высоту формы можно только в процедуре «ПриОткрытии», изменения в

модуле формы и процедуре «ПередОктрытием» результата не дают.

Соответственно и весь код по установке положения размеров должен находиться

в процедуре «ПриОткрытии».

   Mort

5 — 13.10.10 — 15:00

(0) Мой тебе совет забей.

   MaxS

6 — 13.10.10 — 15:08

(3) форма документа. там есть панель формы, но у неё нет высоты.
Пробовал играться высотой других элементов, не вышло.

(4) если в форме есть место, то без проблем добавить поле ввода. а менять форму в конфигураторе, теряется смысл subj
(5) а потом всю жизнь (мне или другому) тратить на ручные обновления форм типовых конфигураций? нет уж, на крайний случай поле комментарий можно сделать уже в 2 раза. )

   MaxS

7 — 14.10.10 — 11:49

(0) не вышло (
приходится искать свободное место на форме, либо уменьшать размеры имеющихся элементов.
неуправляемая форма, однако (

   Рэйв

8 — 14.10.10 — 11:52

в 8.1

Форма (Form)
Высота (Height)
Использование:
Чтение и запись.
Описание:
Тип: Число. Содержит высоту окна формы (в логических единицах).
См. также:
Форма, свойство Ширина

не оно?

   MaxS

9 — 14.10.10 — 11:55

(8) программно меняется, читаешь — действительно изменилось. Визуально не меняется.

   Рэйв

10 — 14.10.10 — 11:56

(9)У меня все менялось. Может дело в привязках какихто?

   MaxS

11 — 14.10.10 — 11:58

(10) нижняя командная панель привязывается намертво и изменение привязок на неё не действует. т.к. скорее всего привязывается к выравнивающим линиям.

  

Рэйв

12 — 14.10.10 — 12:03

(11)У меня ее просто не было:)

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Новые изменения по управляемым формам в платформе редакции 8.3.10

Уже как с 22.02.17 вышла новая ознакомительная версия платформы 8.3.10. Поэтому я запускаю цикл статей, в которых познакомимся с изменениями в функционале платформы касательно работы с управляемыми формами и интерфейсом. Статьи будут носить больше исследовательский характер, чем образовательный характер.

Эта статья будет посвящена масштабированию форм.

В редакции 8.3.10 платформы Пользователь может изменить масштаб текущей формы, которая у него на данный момент открыта. Для этого нужно или нажать на кнопку «Изменить масштаб» в области системных команд:


Или через главное меню — вид


В открывшемся окне масштабирования, пользователь может изменять масштаб текущей формы:


Если у вас в текущий момент открыто несколько форм, то смасштабируется  актуализированная.


Масштабирование формы сохраняется: например, если мы промасштабируем форму списка номенклатуры, а потом закроем её, и после этого откроем заново, то масштаб будет тот же. Сохранится он и тогда, когда перезапустите сеанс 1С. Но масштаб форм не хранится где-то в базе: при очистки КЭШа измененные масштабы сбрасываются.

Еще у формы масштабирования интересна такая кнопка как «Установить для всех», при нажатии на неё установится масштаб для всех форм.

Масштаб формы можно изменять в конфигураторе 1С. Для этого реализовано свойство формы Масштаб


Если изменить этот параметр, то масштаб формы изменится сразу в конфигураторе


Форма точно такого же масштаба будет и при её открытии в 1С:Предприятии


Самое интересное, если Вы зайдете в смаштабированную форму в 1С:Предприятии и захотите поменять её масштаб, то будете менять масштаб формы, относительно открытого. Т.е. в нашем случае масштаб формы документа закупка товаров был установлен в конфигураторе в 200, в 1С:Предприятии он признается как 100, и что бы вернуться обратно к обычному масштабу, нужно установить значение 50


Так же у формы есть возможность выбора варианта масштаба. Их три – авто, обычный, компактный


Если будет выбран вариант Обычный, то у формы будет стандартный интерфейс такси. Если будет варианта Компактный, то у формы будет интерфейс версии 8.2. В этом случае изменение масштаба не будет действовать на форму. Если параметр будет Авто, то система автоматически определит вариант масштаба исходя из установок объекта НастройкиКлиентскогоПриложения.
Теперь поэкспериментируем, как устанавливается масштаб формы программно. Для этого создадим на форме документа Закупка товара команду «Установить200» со следующим кодом:

&НаКлиенте
Процедура Установить200(Команда)

          ЭтаФорма.Масштаб = 200;

КонецПроцедуры

Причем я заметил интересную особенность, для того что бы данный код работал нормально, режим совместимости в свойствах конфигурации должен быть установлен в «Не использовать»


После этого Я начал экспериментировать. В результате экспериментов было выяснено  следующее:
1) Масштаб не запоминается: если нажать на кнопку, он изменится, но после закрытия формы и повторного открытия, он останется прежним.
2) Масштаб изменяется относительного текущего масштаба 1С:Предприятия. Например, если изменим масштаб с помощью команды «Изменить масштаб» 1С:Предприятия на 50, а потом применим нашу команду «Установить200», то станет нормальный масштаб соответствующий ста.
3) Масштаб не суммируется: сколько бы мы не нажимали нашу кнопку, масштаб изменится только первый раз.
На этом мы закончим изучать масштабирование управляемых форм в интерфейсе такси. Следующая статья будет касательно панели открытых, они очень сильно изменились в редакции платформы 8.3.

Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

24.06.2016

Быстрое масштабирование форм

Реализовано в версии 8.3.10.2168.

Мы реализовали механизм быстрого масштабирования форм. Большей частью он предназначен, конечно, для пользователей, но и разработчики могут его использовать, если в этом есть необходимость.

Мы считаем, что этот механизм будет удобен и полезен в тех случаях, когда нужно быстро и просто, или ненадолго и временно увеличить или уменьшить масштаб прикладных данных, отображаемых в форме.

Вы наверняка знаете, что можно увеличить шрифт, изменив разрешение экрана. И некоторое время тому назад мы дорабатывали платформенные механизмы для того, чтобы прикладные решения чётко и корректно отображались при разных разрешениях экрана (DPI). Но изменение DPI это относительно сложная и «фундаментальная» операция. Во-первых, не все пользователи обладают достаточными знаниями для её выполнения. А во-вторых, она влияет на все приложения, установленные на компьютере. Если нужно что-то увеличить или уменьшить только «здесь и сейчас», или если пользователи не обладают достаточной квалификацией, они не станут менять DPI.

В такой ситуации механизм быстрого масштабирования форм придётся очень кстати. Если пользователь не обладает хорошим зрением, он может легко сделать себе «покрупнее». А если зрение хорошее, но не вся таблица помещается по ширине в форму, можно сделать «помельче».

В клиентских приложениях

Для изменения масштаба управляемых форм и документов в клиентских приложениях можно использовать либо главное меню, либо команду из области системных команд:

03.png

Диалог установки масштаба открывается в правом верхнем углу, но вы можете переместить его в любое удобное вам место экрана:

05.png

Масштаб формы можно изменять в диапазоне от 50% до 400%. При этом не просто увеличивается или уменьшается размер шрифта и элементов, а вся форма перестраивается под новые размеры элементов.

Например, вы можете увеличить её до 200%.

06.png

Или наоборот, уменьшить до 70%.

07.png

Изменение масштаба выполняется на клиенте и не требует вызова сервера.

Масштабирование применяется только к содержимому формы. Системные панели, диалог избранного и диалог истории не масштабируются. Также не масштабируются рамки и полосы прокрутки внутри формы. Изменения размера этих элементов можно добиться путём изменения разрешения экрана (DPI).

Передвигая ползунок, вы изменяете масштаб для одной формы. Но если этот масштаб вы хотите применить ко всем формам, то для этого существует кнопка Установить для всех. Эта же кнопка поможет вам в любое время вернуть масштаб всех форм к 100%.

Несмотря на то, что мы заложили довольно большой диапазон изменения масштаба, мы не считаем, что весь он обязательно будет использоваться. По нашим оценкам пользователи, которые захотят применить эту возможность, слегка уменьшат все формы, до 90-95%, а некоторые формы наоборот слегка увеличат до 105-110%.

Сохранение масштаба

Масштабы хранятся для каждой формы отдельно в локальном хранилище на компьютере пользователя. Кроме этого там хранится общий масштаб для всех форм, который имеет стандартное значение 100%. При установке нового масштаба для всех форм, отдельные значения для каждой формы удаляются.

Масштаб формы в конфигураторе

В конфигураторе вы тоже можете задать масштаб, в котором форма будет показана пользователю. Для этого мы реализовали у формы свойство Масштаб. Это свойство мы рекомендуем использовать в тех случаях, в которых раньше вы использовали ВариантМасштаба: Компактный. Исходить нужно из того, что в компактном режиме масштаб формы равняется примерно 80%.

Предварительный просмотр формы в масштабе

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

01.png

В результате форма, отображаемая в области предварительного просмотра, будет увеличена, например, до 150%.

02.png

Показ картинок

Для того чтобы увеличенные формы выглядели хорошо, необходимо иметь несколько вариантов одной и той же картинки, предназначенных для разных разрешений. Поэтому механизм вариантов картинок, который уже существует в мобильной платформе, мы расширили и на платформу для персональных компьютеров.

Теперь для отображения задаётся не одна картинка, а набор вариантов этой картинки в виде архива. В этом архиве есть варианты под разные разрешения и под разные варианты интерфейса. Для показа платформа подбирает вариант, подходящий под текущее DPI и масштаб формы.

Например, теперь картинка флажка это набор нескольких вариантов: для платформы 8.2 (обычный интерфейс), для платформы 8.3 (интерфейс Такси), для компактного режима, для разных масштабов.

09.png

Картинки, хранящиеся в конфигурации, тоже могут быть представлены в виде набора. Теперь для картинки вы можете задать не только плотность экрана (масштаб), но и вариант интерфейса, для которого будет использоваться картинка.

08.png

Теги:
юзабилити 
UI 
Такси 
8.3.10 

4 / 4 / 1

Регистрация: 04.04.2013

Сообщений: 117

1

1C 8.x

Автоматическая регулировка размеров формы

05.12.2016, 10:26. Показов 16883. Ответов 14


Всем привет. Такой вопрос: как сделать, чтобы на управляемой форме при изменении видимости элементов автоматом менялся размер, чтобы все нормально выглядело, а не оставались пустые места при скрытии полей? Пробовал менять высоту, ширину, и вообще все, что есть в свойствах формы — не работает.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

05.12.2016, 14:44

2

Да вроде как она сама изменяться. Только, нужно смотреть свойства элементов и просматривать высоту широту элементов и их растягивание.



0



4 / 4 / 1

Регистрация: 04.04.2013

Сообщений: 117

05.12.2016, 15:14

 [ТС]

3

Да не, она не меняется, пробовал по-всякому. Проблема в том, что кода скрываешь видимость элемента, то он просто становится невидим для пользователя. Но с формы он никуда не девается, он там как бы есть все равно. И вот надо сделать как-то так, чтобы она сужалась, несмотря на это.



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,411

Записей в блоге: 1

05.12.2016, 15:15

4

Roman2408, изменяй привязки в зависимости, от видимости определенного элемента формы



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

05.12.2016, 15:17

5

А интрефейс какой?



0



4 / 4 / 1

Регистрация: 04.04.2013

Сообщений: 117

05.12.2016, 15:19

 [ТС]

6

Такси



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

05.12.2016, 15:51

7

Такое чувство что никак. Посмотрел в сторону сворачиваемых групп, но они сворачиваются только интерактивно.



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,411

Записей в блоге: 1

06.12.2016, 10:34

8

При изменении видимости элемента на форме, форма полностью перерисовывается. Растягивание должно работать…



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

06.12.2016, 10:38

9

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

При изменении видимости элемента на форме, форма полностью перерисовывается. Растягивание должно работать…

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



0



4 / 4 / 1

Регистрация: 04.04.2013

Сообщений: 117

06.12.2016, 10:44

 [ТС]

10

Ненавижу эти управляемые формы!! Что за извращенцы их придумали!? С колонками тоже беда. Пытаюсь ширину колонок задать, какую нужно (сузить), но нифига не выходит. Меньше определенной ширины никак не делается, хоть ты тресни! Поискал по инету — везде люди ругаются на это, нормального решения так никто и не нашел



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

06.12.2016, 10:47

11

На то они и управляемые формы, пользователь берет и настраивает их как нужно в пользовательском режиме. Каждый делает свою ширину и указывает видимость.



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,411

Записей в блоге: 1

06.12.2016, 13:25

12

Цитата
Сообщение от Joker_vad
Посмотреть сообщение

Пробовал, не изменяется размер формы, а главное и высоту формы не изменить, она в авто режиме = 0.

Зачем изменять размер формы то? Нужно изменять размеры соседних элементов



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

06.12.2016, 13:31

13

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

Зачем изменять размер формы то? Нужно изменять размеры соседних элементов

Может я что то не так понял, как мне показалось, что нужно именно сделать меньше форму, допустим, если внизу табличная часть на половину формы и если изменить ее видимость, то автоматом, сделать форму меньше.



0



Модератор

Эксперт 1С

3700 / 2899 / 570

Регистрация: 10.03.2011

Сообщений: 11,411

Записей в блоге: 1

06.12.2016, 13:34

14

Joker_vad, это получиться прыгающая форма. Для этого и придумали сворачиваемые группы



0



Эксперт 1С

476 / 413 / 93

Регистрация: 26.09.2012

Сообщений: 1,904

06.12.2016, 13:44

15

Цитата
Сообщение от Dethmontt
Посмотреть сообщение

Joker_vad, это получиться прыгающая форма

Как я понял, это и нужно.



0



    msm.ru

    Нравится ресурс?

    Помоги проекту!

    !
    Правила раздела:

    • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
    • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
    • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

    Высказать своё мнение о модераторах раздела можно здесь: evGenius

    >
    1c 8 Обычное приложени. Изменение размеров формы
    , работает некорректно

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    06.11.15, 10:32

      В процедуре ПриОткрытии() помещаю такой код:

      ExpandedWrap disabled

        ОбъектФорма = ЭтаФорма;

            ОбъектФорма.Ширина = 1250;

            ОбъектФорма.Высота = 600;

            ЭлементПанель = ОбъектФорма.ЭлементыФормы.Добавить(Тип(«Панель»), «ОбщаяПанельДокументов»);

            ЭлементПанель.ОтображениеЗакладок = ОтображениеЗакладок.НеИспользовать;

            ЭлементПанель.Ширина = 400;

            ЭлементПанель.Высота = 60;

            ЭлементПанель.Лево = 8;

            ЭлементПанель.Верх = 34;

            ЭлементПанель.ЦветФона = Новый Цвет(200, 200, 100);

            ЭлементПанель.РаспределятьПоСтраницам = Истина;

      При этом изначально размеры формы 200х200

      Так вот, при отрытии размеры формы действительно меняются, однако создание ЭлементПанель происходит из соображения программы, что ширина
      формы по прежнему 200 и поэтому шире чем 200 её не делает, т.е. 400 сделать не получается.

      Однако, если этот же код запихнуть в обработчик кнопки и нажать на неё после открытия формы, то панель успешно принимает размеры 400х60.

      Как сделать, чтобы при открытии формы панель отображалась в нужных размерах, независимо от начальных размеров формы (установленных в конфигураторе) ?

      Master

      evGenius



      Сообщ.
      #2

      ,
      06.11.15, 10:40

        Moderator

        ******

        Рейтинг (т): 163

        Можно попробовать добавить в обработчик события ОбновлениеОтображения формы, чтобы срабатывало только один раз. Но не факт, что получится так же, как по кнопке.


        lastlogic



        Сообщ.
        #3

        ,
        06.11.15, 11:18

          Цитата evGenius @ 06.11.15, 10:40

          Можно попробовать добавить в обработчик события ОбновлениеОтображения формы

          Так не нравится ), пока тупо задал начальный размер формы в конфигураторе фиксированным…Кривдень какая-то…)

          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

          0 пользователей:

          • Предыдущая тема
          • 1С: Проблемы и решения
          • Следующая тема

          Рейтинг@Mail.ru

          [ Script execution time: 0,0181 ]   [ 15 queries used ]   [ Generated: 11.02.23, 11:38 GMT ]  

          Понравилась статья? Поделить с друзьями:
        • Как программно изменить размер кнопки
        • Как программно изменить порядок колонок 1с
        • Как программно изменить положение колонки 1с
        • Как программно изменить пароль пользователя 1с
        • Как программно изменить константу 1с