|
v7: formex - можно ли сделать модальное окно изменяемым? | ☑ | ||
---|---|---|---|---|
0
Chai Nic
16.09.22
✎
11:01
|
Хочется, чтобы вызываемая модально служебная обработка позволяла максимизацию и изменение размеров окна. Но штатно в 1с модальное окно рисуется с признаком "без рамки ,без кнопок изменения размера". Есть ли в formex такая возможность, чтобы модальное окно можно было растягивать как обычное?
|
|||
1
Kigo_Kigo
16.09.22
✎
11:09
|
а зачем?
|
|||
2
Chai Nic
16.09.22
✎
11:11
|
(1) Для удобства. Речь об универсальной обработке, в которой заполняется таблица, заранее неизвестного состава. Поэтому нужно чтобы пользователь мог развернуть окно и заполнить данные без лишнего скролла.
|
|||
3
Kigo_Kigo
16.09.22
✎
11:21
|
Я не помню, как то делал модальные окна разных размеров для разных разрешений экранов, а как хоть убей не помню
|
|||
4
АЛьФ
02.11.22
✎
12:09
|
С помощью FormEx можно изменять размеры модального окна. На основе этого функционала можно реализовать и разворачивание во весь экран.
|
|||
5
Chai Nic
02.11.22
✎
13:08
|
(4) А как? Можно поподробнее?
|
|||
6
vladmenleo
02.11.22
✎
13:27
|
(5) что-то типа такого
Процедура ПослеОткрытия() Перем Ширина,Высота; Окна = СоздатьОбъект("Окна"); Окна.Максимизировать(Форма); Если ИмяПользователя() = "Тсд" Тогда Окна.МенюОкна(,1,0,0,0); Окна.ПоказыватьПанели(0); // 0 - Скрывает панели Сп = Окна.ПолучитьМеню(); Для Ид = 1 По Сп.РазмерСписка() Цикл Пред = ""; Зн = Сп.ПолучитьЗначение(Ид, Пред); Окна.ВидимостьМеню(Пред, 0); // 0 - Скрывает меню КонецЦикла; КонецЕсли; КонецПроцедуры Процедура ПриИзмененииРазмераОкна(ТипСобытия, НоваяШирина, НоваяВысота) Перем Лево,Верх,Ширина,Высота; Оступ = 2; ИмяТ = "ТзНаФорме"; афТаблица = РасширениеФормы.ПолучитьАтрибут(ИмяТ); афТаблица.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); афТаблица.УстановитьКоординаты(Оступ, Верх, НоваяШирина - 20, НоваяВысота - 75); афТаблица.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); ВерхКнопок = Верх + Высота + Оступ; СписокКнопок = СоздатьОбъект("СписокЗначений"); СписокКнопок.ДобавитьЗначение("ТекстКоды"); СписокКнопок.ДобавитьЗначение("ВыбранныеКоды"); Для Ид = 1 По СписокКнопок.РазмерСписка() Цикл ИмяКн = СписокКнопок.ПолучитьЗначение(Ид); афТаблица = РасширениеФормы.ПолучитьАтрибут(ИмяКн); афТаблица.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); афТаблица.УстановитьКоординаты(Лево, ВерхКнопок, Ширина, Высота); КонецЦикла; СписокКнопок.УдалитьВсе(); СписокКнопок.ДобавитьЗначение("кнНайти"); СписокКнопок.ДобавитьЗначение("КнПечать"); ВерхКнопок = ВерхКнопок + Высота + 6; Для Ид = 1 По СписокКнопок.РазмерСписка() Цикл ИмяКн = СписокКнопок.ПолучитьЗначение(Ид); афТаблица = РасширениеФормы.ПолучитьАтрибут(ИмяКн); афТаблица.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); афТаблица.УстановитьКоординаты(Лево, ВерхКнопок, Ширина, Высота); КонецЦикла; КонецПроцедуры У меня тут для определенного пользователя при начале работы системы открывается модально окно на весь экран, при закрытии выход из системы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |