Форум Кладовочки АЛьФ`а

Обсуждение проектов => FormEx => Тема начата: p18 от 26 мая 2025, 18:09

Название: Отрытие модального окна из модального окна
Отправлено: p18 от 26 мая 2025, 18:09
Позволю себе повторить просьбу. Потому как вся конфа построена на этом, а как только ставлю новые версии - для поддержки новых требований - всё ломается.
В версии 1.9.0.1 от 15.12.2003 - всё отлично работало. а потом - всё сломалось.
То есть - если открыть из модального окна ещё одно модальное окно и в них использовать формэкс более новой версии и обращаться к ПриОтжатииЛевойКнопки(сост,х,у) - то всё виснет насмерть. А если таких открытий много - то...
Вопрос - есть шанс - что это место будет переписано?
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 26 мая 2025, 23:02
Ты попробуй из модального открыть модальное и сгенерить внешнее событие - оно будет ловиться только на первом модальном.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 26 мая 2025, 23:03
Цитата: p18 от 26 мая 2025, 18:09что это место будет переписано?
что именно "будет переписано"..? Отжатие левой кнопки?
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 26 мая 2025, 23:06
У себя я интерфейс для ТСД построен исключительно на модальных формах. Модальную из модальной можно вызывать, но только для простх действий, типипа показать, ввести в поле.
.
так что у себя сделал что работает "диспетчер обработок" - открылась модальная, сделала что надо, закрылась, открылась следующая. А т.к. модальные обработки делают простые "атомарные" действия/шаги - просто передается от обработки к обработке структура параметров-данных, каждая отдельная модобработка обрабатывает свои данные, добавляет если надо в структуру...
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 27 мая 2025, 12:57
Не получится у меня так (((
Это фронт для ресторана.
1. окно авторизация - потом оно закрывается и открывается следующее окно "план"
2. окно план - из него идет запрос количества клиентов (то есть ещё одно окно) и открывается "Набор счета"
3. Набор счёта - из него при необходимости открываются окна "количество" и "авторизация" или "план"
Если втыкаю новый формэкс - то либо на плане всё виснет, либо на вводе количества клиентов. Причём именно виснет - крутящееся колёсико и всё. И видимо обработчик ПриОтжатииЛевойКнопки - пытается обработать первое окно, а не активное.
По сути - получается, что формэкс не замечает, какое окно сейчас активное, и либо пытается сразу несколько окон обрабатывать, либо первое... То есть надо поправить инкапсуляцию наследованных окон и обработку событий именно в активном окне. Как-то так мне кажется.
Название: Re: Отрытие модального окна из модального окна
Отправлено: АЛьФ от 27 мая 2025, 14:50
Можно попросить накидать конфигу для тестов, чтобы я мог на ней четко воспроизвести глюк? Попробую в ближайшие две недели посмотреть.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Djelf от 27 мая 2025, 15:46
ИМХО, это не FormEX виноват, это свойство платформы, насколько помню, это и без FormEX проявляется.
т.е. надо патчить код платформы, но приходит ли туда какие-то ид от 2й модальной формы... если что-то приходит, то можно починить, если ничего не приходит, то непонятно как это починить.
Название: Re: Отрытие модального окна из модального окна
Отправлено: АЛьФ от 27 мая 2025, 17:00
Еще можно попробовать использовать соответствующее глобальное событие. Туда должен приходить правильный контекст.
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 27 мая 2025, 18:35
https://disk.yandex.ru/d/vKAR6-x-IxYs5w
Авторизация от 1с - "Администратор" - для настройки "официант" - для работы
Очень кастрированная версия. Для тестов.
Все необходимые библиотеки в архиве. Вместе с нужной версией формэкс.
В первом окне авторизации - либо нажать любую кнопку и потом Ок, либо завершение работы - откроется план помещения.
На одном столике висит заказ - можно открыть его, можно набрать новый. Остальные кнопки кроме столов - не работают.
В заказе работают кнопки количество - изменение количества заказанного товара (Таблица слева) и "Модификатор (опять таки должен быть выбран слева товар в заказе)
Работают кнопки "отложить" и "закрыть".
Всё остальное вырезано - как некритичное.
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 27 мая 2025, 18:36
Цитата: Djelf от 27 мая 2025, 15:46ИМХО, это не FormEX виноват, это свойство платформы, насколько помню, это и без FormEX проявляется.
т.е. надо патчить код платформы, но приходит ли туда какие-то ид от 2й модальной формы... если что-то приходит, то можно починить, если ничего не приходит, то непонятно как это починить.
Только тогда объясните - почему со старым это работает, а с новым нет - если это свойство платформы?
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 27 мая 2025, 19:16
ВидеоКомментарий по просьбе автора топика, как это проявляется:

https://cloud.mail.ru/public/LSCe/KJQtFCQxE

Да, действительно, на ФормЕксе 1.9.0.1, это не проявляется.
Меняю на 198 - виснет.
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 28 мая 2025, 07:20
Проблема не в формексе а в Hide1C.dll, которая видимо с новыми версиями не дружит. Если в ПриНачалеРаботыСистемы() закомментировать код
//ЗагрузитьВнешнююКомпоненту("dll\Hide1C.dll");
//Hide1C=Создатьобъект("AddIn.Hide1C");   
//Hide1C.ShowIcon();
//Hide1C.Open1CWindow(0);
//Hide1C.CloseIcon();
то ничего не виснет
Решение - избавиться от Hide1C.dll
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 28 мая 2025, 09:24
F почему тогда "на ФормЕксе 1.9.0.1, это не проявляется."
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 28 мая 2025, 09:39
Видимо в формексе что-то поменялось
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 28 мая 2025, 09:45
Хотя... Подсунул версию 2.0.5.199 - вроде тоже не виснет
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 11:24
У меня, виснет на глухо... Правда на 198 версии.
Но, "мопед не мой, я просто разместил объяву! :-)))"

PS И киньте ссылочку плиз, на 199. А то на главной странице сайта ссылка на 198...
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 12:36
Цитата: MWW_Ruza от 28 мая 2025, 11:24А то на главной странице сайта ссылка на 198...
Я вот про что:

(https://content.foto.my.mail.ru/mail/m_w_w/590/h-616.jpg)
Название: Re: Отрытие модального окна из модального окна
Отправлено: АЛьФ от 28 мая 2025, 12:39
Цитата: MWW_Ruza от 28 мая 2025, 11:24PS И киньте ссылочку плиз, на 199. А то на главной странице сайта ссылка на 198...

https://forum.dorex.pro/index.php?topic=2.0
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 28 мая 2025, 13:37
От топикстартера база со старым формексом - работает, 199 - виснет.
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 28 мая 2025, 13:45
А виснет подразумевается сама программа или процесс в памяти остается? Сами обработки отрабатывают, а вот процесс в памяти остается. Это я про 199
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 28 мая 2025, 13:48
Пардон это я туплю. При переборе разных вариантов незаметно загрузил формекс от ТС, вот и работало.
Т.е. при формекс от тс все работает, но остается процесс от 1с в памяти при нажатии выход. А при версии 199 висит сама программа после выхода из авторизации
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 14:07
Цитата: vladmenleo от 28 мая 2025, 13:48но остается процесс от 1с в памяти при нажатии выход

Да это, как он сам говорит, что-то перестарался, когда "кастрировал" свою рабочую конфу до демки. Типа в рабочей конфе процесс прибивается. Но, я сам этого не видел, с его слов, у меня такая-же демка как тут выложена. Я кстати, про это "ворчал" в видеоролике :)
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 15:17
Было время немного позаниматься...
Решил снакчала разобраться с зависающим процессом...
Обнаружил, что по кнопке "Выход" у него закрывается окно, но 1С продолжает работать.
Добавил после закрытия формы ЗавершитьРаботуСистемы(0);
Так, процесс прибивается, но 1С завершается не корректно (со старым Формекс).

Оставил для пробы одну форму:       
ОткрытьФормуМодально("Обработка.Авторизация",Параметры);

//ОткрытьФормуМодально("Обработка.ПланПомещения"); // вторую пока, для пробы закомментировал

Так с новым формексом ничего не падает, закрывается корректно, процесс в памяти не остается.

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

Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 15:30
Сделал, что-бы вторая форма, где карта заведения, открывалась не при старте системы, а после авторизации и закрытия окна авторизации.
Вот так:

// Это все в форме авторизации
Форма.Закрыть(0);
ОткрытьФормуМодально("Обработка.ПланПомещения");

Все на старом формексе работает, процесс в памяти не остается, но 1С пишет ошибку...
На новом все тот-же висяк, ничего не изменилось.
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 15:46
С такими изменениями ведет себя так:

https://cloud.mail.ru/public/YFd7/bxL2U27BY (https://cloud.mail.ru/public/YFd7/bxL2U27BY)

Не смотря на Форма.Закрыть(0); , первая форма остается висеть как-бы спрятанная под вторую.
Это все на новом формексе.
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 15:54
Ошибка при команде ЗавершитьРаботуСистемы() со старым Formex такая:

(https://content.foto.my.mail.ru/mail/m_w_w/590/h-617.jpg)
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 28 мая 2025, 16:32
Последний эксперимент...
Закомментировал загрузку Hide1C.dll, как в посте #11, ничего не изменилось, только все это безобразие теперь на фоне главного окна 1С, но висяк при открытии второго мобильного окна все тот-же, так, что Hide1C.dll похоже ни при чем.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 28 мая 2025, 18:11
Со старыми формексами база при закрытии регулярно давала ошибки памяти по чтению, с новыми норм
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 29 мая 2025, 07:09
Вот в таком виде все работает
Процедура ПриНачалеРаботыСистемы()
                       
    Если ИмяПользователя() = "Администратор" Тогда


иначе
// Удалено начало
//ЗагрузитьВнешнююКомпоненту("dll\Hide1C.dll");
// Hide1C=Создатьобъект("AddIn.Hide1C");
// Hide1C.ShowIcon();
// Hide1C.Open1CWindow(0);
// Hide1C.CloseIcon();
// Удалено конец


Если ИнициализацияExtrForms() = 0 Тогда ЗавершитьРаботуСистемы(0); Возврат; КонецЕсли;     
   
//ОткрытьФормуМодально("Обработка.Авторизация");
Параметры=СоздатьОбъект("СписокЗначений");
Параметры.УдалитьВсе();
Параметры.Установить("Справочник"      , СпрПользователи);
Параметры.Установить("Процесс"         , "Авторизация");
ОткрытьФормуМодально("Обработка.Авторизация",Параметры);

//ОткрытьФормуМодально("Обработка.ПланПомещения"); // Удалено
ОткрытьФорму("Обработка.ПланПомещения"); // Добавлено
КонецЕсли;
КонецПроцедуры
Если оставить Hide1C.dll, то не работает открытьформу
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 29 мая 2025, 09:49
Цитата: vladmenleo от 29 мая 2025, 07:09Вот в таком виде все работает
***************
Если оставить Hide1C.dll, то не работает открытьформу

Не понял? Что в таком виде работает?
Главное окно 1С не прячется, да. Открытая модально форма авторизации отрабатывает, пока нормально. Открывается карта зала, не модально, пока тоже нормально. Кликаешь на столике, для ввода количества бухающих, открывается модально следующее окошко "калькулятор" ввода числа, и привет, все повисло. С новым ФормЕкс естественно.
Название: Re: Отрытие модального окна из модального окна
Отправлено: vladmenleo от 29 мая 2025, 10:28
Цитата: MWW_Ruza от 29 мая 2025, 09:49С новым ФормЕкс естественно.
Вот блин, опять я загрузил старую длл. Я делаю какие-то правки, потом вроде кажется, что работает, меняю мдшник на старый, вношу свои исправления, а путь у формекса прежний dll\  :'(
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 29 мая 2025, 12:45
Может отказаться от модальности если совсем уж никак, можно сделать псевдомодальномть
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 29 мая 2025, 14:29
Кастрировал криво. Да. Извините. Мне казалось основное показать путь по которому возникает ошибка.
Чтобы исправить зависший процесс 1С. Надо в Глобальнике
Строка 47. Вместо ОткрытьФормуМодально("Обработка.ПланПомещения");
Написать
         Если Темп <> "Завершить" Тогда
            ОткрытьФормуМодально("Обработка.ПланПомещения");
         иначе
            ЗавершитьРаботуСистемы(0);     
            Возврат;
         КонецЕсли;

И если уж совсем душа праздника требует то в Модуле Обработка.ПланПомещения процедуру Закрытие() переписать на
Процедура Закрытие()   
   Темп = "Завершить";
   ЗавершитьРаботуСистемы(0);
   Форма.Закрыть(0);
КонецПроцедуры 

На рабочем модуле - при закрытии плана опять идёт авторизация - а тут будет просто происходить выход из программы. Опять таки - не думаю, что это критично для теста зависания формэкс.

Попутно вспомнил, что тот формэкс, что использую начисто обрубал вшитую в 1С - ОбработкаОжидания(). Хотя может он её и заменял на свою. Хз. Документации в тот момент, когда писали эту конфу - не было. Была только библиотека. И пример конфы.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Djelf от 29 мая 2025, 18:03
Господа, пишите не "Новая версия" и не "Старая версия", а конкретную версию FormEx, именно это и поможет отыскать проблему.
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 29 мая 2025, 19:45
У меня всё работает на FormEx.dll версии 1.9.0.1 от 15.12.2003 время 8:40 размер файла 136 килобайт.
На любых других версиях - всё становится колом.
Использую ещё Hide1C.dll- версия 1.0.0.2 от 09.12.2002 время 23:28 размер файла 44 килобайта
Название: Re: Отрытие модального окна из модального окна
Отправлено: MWW_Ruza от 30 мая 2025, 12:03
Цитата: p18 от 29 мая 2025, 19:45Использую ещё Hide1C.dll- версия 1.0.0.2 от 09.12.2002

Как уже выяснили, она тут ни при чем.
Комментировал ее загрузку, поведение меняется - главное окно не прячется, но в остальном работае все точно так-же. На 1.9.0.1 работает, на версиях 198 - 199 зависает.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Arbuz от 30 мая 2025, 16:35
Так, я тоже посмотрел. Ну, у меня не виснет на 199 (и в памяти не висит, и ошибок нет), но у меня патченная wirth'ом. Просто не работают (и не транслируются в глобальник) события мыши/клавы на второй модальной форме (действия). Закрываю эту форму по esc или убираю в форме ФормаРасш.ЗапретЗакрытияФормыКнопкой(1) и без проблем её закрываю.
Потом давно известный факт — не надо открывать окна из ПриНачалеРаботыСистемы(). Если запускать из, например, ОбработкиОжидания, то и курсор мыши становится нормальным, но события не идут всё равно.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Харлампий Дымба от 31 мая 2025, 01:18
#36 Просто демо-база настолько не демо, что непонятно в каком конкретно месте надо смотреть, что не работает. Как я понял - один из вариантов проверки "неработоспособности" ткнуть во втором после авторизации окошке (план зала) на кружочке с номером стола и попробовать ввести число клиентов - тут виснет наглухо с формексом 199.
Тоже пробовал открывать все через ОбработкуОжидания, убирал из ПриОткрытии, вставлял Паузы, делал "Если Форма.МодальныйРежим()=1 Тогда ОткрытьФормуМодально", добавлял # в ОткрытьФормуМодально, убирал Hide1C, бил в бубен, но что-то так и не сработало ничего...
Название: Re: Отрытие модального окна из модального окна
Отправлено: 1ex от 03 июня 2025, 16:16
Давняя тема. Много седых волос добавила.
В свое время натолкнулся на такое... научился, не спрашивая разрешения - всегда выходить из обработчиков событий формекса в модальных окнах.

пример обсуждения тут:
https://www.1cpp.ru/forum/YaBB.pl?num=1392388281/5
Хотя тестовый пример - уже рабочий на последней версии (проверил).


Накидал два варианта решения:
1. Вариант 1 сделал в Обработке "ПланПомещения"
Процедура ПриОтжатииЛевойКнопки(сост,х,у,ФСО)   
Фсо = 0;
Сообщить("Главное окно");
ФормаРасш = СоздатьОбъект("РасширениеФормы");
ФормаРасш.УстановитьФорму(Форма);          
Атр = ФормаРасш.ПолучитьАтрибутПоКоординатам(х,у);
Если ТипЗначенияСтр(Атр) = "АтрибутФормы" Тогда
Если Атр.Идентификатор = "Выход" Тогда Закрытие(); КонецЕсли;
Если Атр.Идентификатор = "Обновить" Тогда ИнитСтолов(); КонецЕсли;
Если Атр.Идентификатор = "кнСтопЛист" Тогда СтопЛист(); КонецЕсли;
Если (Атр.Идентификатор = "кнВыплатаДенег")  Тогда Выплата(); Возврат; КонецЕсли;
Если (Атр.Идентификатор = "кнВнесениеДенегВКассу")  Тогда Внесение(); Возврат; КонецЕсли;
Если (Атр.Идентификатор = "вклСкидка")  Тогда ИзменениеКонстанты(1); КонецЕсли;
Если (Атр.Идентификатор = "выклСкидка")  Тогда ИзменениеКонстанты(0); КонецЕсли;
Если (Атр.Идентификатор = "Списание")  Тогда Списание(); КонецЕсли;
Если (Атр.Идентификатор = "Сигма")  Тогда Сигма(); КонецЕсли;
Если Число(Сред(Атр.Идентификатор,5)) = 0 Тогда Возврат; КонецЕсли;



//ОткрытиеСчетаСтола(Число(Сред(Атр.Идентификатор,5)));

лсСерв = СоздатьОбъект("Сервис");
лсСерв.ВнешнееСобытие("1С","ОткрытиеСчетаСтола",Сред(Атр.Идентификатор,5));

КонецЕсли;
Фсо = 1;
КонецПроцедуры       


Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные) 
Если (Источник = "1С")и(Событие = "ОткрытиеСчетаСтола") тогда
                               
Сообщить("Открыть стол");
ОткрытиеСчетаСтола(Число(Данные));
КонецЕслИ;

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

Через внешнее событие.

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

Поэтому кинул "ТекстНеУдалять" на форму.
В обработке "Счет"
....
Процедура OnLButtonUp(сост,х,у,ФСО) // извиняюсь за мой английский - проверял гипотезу "одинаковых функций"
                                    // но такое не прокатило. 
.......
Если Атр.Идентификатор = "Закрыть" Тогда   
Сообщить("Закрытие?"); 
Если ффСтарыйРежим = 0 тогда
Сообщить("Так работает!");
Форма.Обновить(0);
ФлагВызова = "ВыборЗакрытия";
иначе                         
Сообщить("Так НЕ работает!");
ВыборЗакрытия();
КонецЕслИ;
            Возврат;
КонецЕсли;   

......

Функция ОбработчикФормы()
Сообщить("Ловим");     
Сообщить("ФлагВызова");
Если ФлагВызова = "ВыборЗакрытия" тогда 
ФлагВызова = "";
Сообщить("Словили");
ВыборЗакрытия();
КонецЕслИ;
Возврат "";
КонецФункции

Трейс теста.
1. Карта официанта. Мышкой - 0, ОК.
2. План зала. Мышкой, кружок 32.
3. Ввод числового значения (ввод клиентов за столом). Мышкой - 1, ОК (почему-то два раза надо кликать - надо FIX)
4. Счет. Мышкой - Бар, Коньяк :). Закрыть
5. Тестовое окно со стеком вызова. ОК. Не сохранять.  Должно быть таким: https://disk.yandex.ru/i/8JiA8HEI2FyoGQ

Замечание: Это мой "условно" рабочий вариант. Потому что бывает так... и что это за странный стек такой, я не понял... https://disk.yandex.ru/i/V0XdcypHQn2eXg

6. Возврат в план зала.
7. План зала. Мышкой, кружок 32.
8. Ввод числового значения (ввод клиентов за столом). Мышкой - 1, ОК (все еще - два раза надо кликать)
9. Счет. Мышкой - Бар, Коньяк.
10. Счет. Клавиатурой CTRL+SHIFT+F2. "Переключаем на вызов модального окна из обработчика событий"
11. Закрыть.
12. Тестовое окно со стеком вызовов. НЕ Работает, функция обработчика болтается в стеке... https://disk.yandex.ru/i/uRwt8bscbQW8xQ
13. Действия. Кнопка мыши не перехватывается. ЧТД... (ESC у меня работает)
Версия formex 2.0.5.199

Тестовая база с моими похабными правками - тут.
https://disk.yandex.ru/d/qhVKmDTIBY2c0A


Название: Re: Отрытие модального окна из модального окна
Отправлено: Djelf от 03 июня 2025, 16:59
Аааа... А я эту конфу уже видел, присылали на попытку фикса!
Не осилил. Извините. Красиво, но работает только с очень старыми версиями formex.
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 03 июня 2025, 19:27
(почему-то два раза надо кликать - надо FIX

ДЕМО - оно такое демо. ) Обрабатывается каждое второе нажатие. Это связано с тем - что работает это все на Посифлексах с тачскрином. И как я не бился с ними - на более или менее новых моделях - почему-то нажатие на тачскрин - обрабатывается как два нажатия. Уже и скорость кликов с свойствах мыши под виндой замедлял и с бубном прыгал - но видимо не тот бубен. Поэтому под настоящей мышью - одно нажатие тупо пропускаю. а вот по тачу - одно нажатие - одно действие.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Arbuz от 05 июня 2025, 17:48
Ну, в целом, надо делать либо "менеджер событий" куда кидать в очередь формы и пусть он открывает только по одному модальному окну, либо делать псевдомодальные окна (неразвёрнутые, следить за потерей фокуса, нажатиями вне окна и передним планом)
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 10 июня 2025, 13:58
Цитата: Arbuz от 05 июня 2025, 17:48Ну, в целом, надо делать либо "менеджер событий" куда кидать в очередь формы и пусть он открывает только по одному модальному окну, либо делать псевдомодальные окна (неразвёрнутые, следить за потерей фокуса, нажатиями вне окна и передним планом)
А варианта - без лыж, гамака и акваланга - для 1с не бывает? ) Просто иногда хочется - хотя бы без лыж.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 10 июня 2025, 16:10
ну, делаешь модальную форму, ОДНУ.
а на ней на куче слоев весь функционал нужный,
переключайся и отрабатывай что надо...
;-)
.
я так пробовал на заааареее... голосаааа зовууут...
очень неудобно. перешел на диспетчер обработок, каждая модальная форма - некое "атомарное" действие. это позволяет быстро вязать процессы ы виде нужной последовательности форм и переходов между ними...
Название: Re: Отрытие модального окна из модального окна
Отправлено: Arbuz от 11 июня 2025, 14:57
Цитата: p18 от 10 июня 2025, 13:58А варианта - без лыж, гамака и акваланга - для 1с не бывает? )
Дык, это ж 1С — либо страдать, либо расслабиться и получать удовольствие ))
Тащемто, модальность это одно из самых проблемных мест в клюшках. Я вот всё мечтаю сделать псевдомодальные окна, но никак не могу выработать концепцию — вот бы можно было сделать в окне прозрачные области (чтобы не заморачиваться с максимизированными окнами).
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 11 июня 2025, 19:04
Епрст выкладывал демо псевдомодального окна (лежит в загашнике у меня, может на ИС тоже есть, но кажется не выкладывал он туда).
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 11 июня 2025, 19:05
Цитата: Arbuz от 11 июня 2025, 14:57(чтобы не заморачиваться с максимизированными окнами).
это что имеется в виду?
Название: Re: Отрытие модального окна из модального окна
Отправлено: Arbuz от 12 июня 2025, 13:17
Это имеется ввиду, когда все окна развёрнуты и можно было бы имитировать неразвёрнутое окно, сделав вокруг сцентрированных элементов прозрачную область. И так легко можно было бы блокировать нажатия 'мимо' и потерю фокуса.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 12 июня 2025, 14:01
Что-то я не понял... Если модальное развернуто максимизировано - куда можно тыкнуть мимо/потерять фокус?
Название: Re: Отрытие модального окна из модального окна
Отправлено: Arbuz от 16 июня 2025, 14:10
Цитата: Arbuz от 11 июня 2025, 14:57сделать псевдомодальные окна
Название: Re: Отрытие модального окна из модального окна
Отправлено: p18 от 16 июня 2025, 15:51
Цитата: Злоп от 10 июня 2025, 16:10ну, делаешь модальную форму, ОДНУ.
а на ней на куче слоев весь функционал нужный,
переключайся и отрабатывай что надо...
;-)
.
я так пробовал на заааареее... голосаааа зовууут...
Ага. Есть у меня в этой базе - форма вируальной клавиатуры. Буквы и пресеты. Что-то около 60 кнопок. Очень интересно наблюдать как на старых компах эта форма проявляется. Есть в ней что-то для познания истинного Дао....
И вот думаю - если запихну туда всё в одну... Там не то что Истинное Дао можно будет познать. Думаю можно после этого ещё и пару воплощений спокойно прожить )))))
Название: Re: Отрытие модального окна из модального окна
Отправлено: Djelf от 16 июня 2025, 17:32
Цитата: Злоп от 11 июня 2025, 19:04Епрст выкладывал демо псевдомодального окна (лежит в загашнике у меня, может на ИС тоже есть, но кажется не выкладывал он туда).
ПруфЛинк плиз. Ёпрст таким никогда не занимался (он не использовал FormEx, все было штатными способами, а тут внезапно использовал, неувязочка...).
Вроде это моя фишка, но пофиг...
Все лайки Ёпрсту! Он это заслужил, даже если ничего не делал!
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 16 июня 2025, 18:52
Согласен. Мог налажать я с авторством.
Название: Re: Отрытие модального окна из модального окна
Отправлено: Djelf от 16 июня 2025, 20:04
Пофиг на авторство...

Но мы так и не услышали мнение Начальника Транспортного цеха!
Название: Re: Отрытие модального окна из модального окна
Отправлено: Злоп от 17 июня 2025, 00:16
"..токмо волею пославшей мя жены..."

Перем Расш;

//*******************************************
Процедура Инициализация()
Расш.ОбработкаОжидания("",0);
Сообщить(СимволТабуляции+" - и вот хрен вам");
ОткрытьФорму("Отчет",,РасположениеФайла());
КонецПроцедуры // Инициализация()

//*******************************************
Процедура ПриДеактивацииОкна()
Сообщить(ТекущееВремя()+" попытка удрать из окна обработки");
Расш.ОбработкаОжидания("Инициализация",100);
КонецПроцедуры // ПриДеактивацииОкна()

//*******************************************
Процедура ПослеОткрытия()
Расш = СоздатьОбъект("РасширениеФормы");
КонецПроцедуры // ПослеОткрытия()