|   |   | 
| 
 | 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 По СписокКнопок.РазмерСписка() Цикл ИмяКн = СписокКнопок.ПолучитьЗначение(Ид); афТаблица = РасширениеФормы.ПолучитьАтрибут(ИмяКн); афТаблица.ПолучитьКоординаты(Лево,Верх,Ширина,Высота); афТаблица.УстановитьКоординаты(Лево, ВерхКнопок, Ширина, Высота); КонецЦикла; КонецПроцедуры У меня тут для определенного пользователя при начале работы системы открывается модально окно на весь экран, при закрытии выход из системы | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |