Отрытие модального окна из модального окна

Автор p18, 26 мая 2025, 18:09

« назад - далее »

p18

Позволю себе повторить просьбу. Потому как вся конфа построена на этом, а как только ставлю новые версии - для поддержки новых требований - всё ломается.
В версии 1.9.0.1 от 15.12.2003 - всё отлично работало. а потом - всё сломалось.
То есть - если открыть из модального окна ещё одно модальное окно и в них использовать формэкс более новой версии и обращаться к ПриОтжатииЛевойКнопки(сост,х,у) - то всё виснет насмерть. А если таких открытий много - то...
Вопрос - есть шанс - что это место будет переписано?

Злоп

Ты попробуй из модального открыть модальное и сгенерить внешнее событие - оно будет ловиться только на первом модальном.

Злоп

Цитата: p18 от 26 мая 2025, 18:09что это место будет переписано?
что именно "будет переписано"..? Отжатие левой кнопки?

Злоп

У себя я интерфейс для ТСД построен исключительно на модальных формах. Модальную из модальной можно вызывать, но только для простх действий, типипа показать, ввести в поле.
.
так что у себя сделал что работает "диспетчер обработок" - открылась модальная, сделала что надо, закрылась, открылась следующая. А т.к. модальные обработки делают простые "атомарные" действия/шаги - просто передается от обработки к обработке структура параметров-данных, каждая отдельная модобработка обрабатывает свои данные, добавляет если надо в структуру...

p18

Не получится у меня так (((
Это фронт для ресторана.
1. окно авторизация - потом оно закрывается и открывается следующее окно "план"
2. окно план - из него идет запрос количества клиентов (то есть ещё одно окно) и открывается "Набор счета"
3. Набор счёта - из него при необходимости открываются окна "количество" и "авторизация" или "план"
Если втыкаю новый формэкс - то либо на плане всё виснет, либо на вводе количества клиентов. Причём именно виснет - крутящееся колёсико и всё. И видимо обработчик ПриОтжатииЛевойКнопки - пытается обработать первое окно, а не активное.
По сути - получается, что формэкс не замечает, какое окно сейчас активное, и либо пытается сразу несколько окон обрабатывать, либо первое... То есть надо поправить инкапсуляцию наследованных окон и обработку событий именно в активном окне. Как-то так мне кажется.

АЛьФ

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

Djelf

ИМХО, это не FormEX виноват, это свойство платформы, насколько помню, это и без FormEX проявляется.
т.е. надо патчить код платформы, но приходит ли туда какие-то ид от 2й модальной формы... если что-то приходит, то можно починить, если ничего не приходит, то непонятно как это починить.

АЛьФ

Еще можно попробовать использовать соответствующее глобальное событие. Туда должен приходить правильный контекст.

p18

https://disk.yandex.ru/d/vKAR6-x-IxYs5w
Авторизация от 1с - "Администратор" - для настройки "официант" - для работы
Очень кастрированная версия. Для тестов.
Все необходимые библиотеки в архиве. Вместе с нужной версией формэкс.
В первом окне авторизации - либо нажать любую кнопку и потом Ок, либо завершение работы - откроется план помещения.
На одном столике висит заказ - можно открыть его, можно набрать новый. Остальные кнопки кроме столов - не работают.
В заказе работают кнопки количество - изменение количества заказанного товара (Таблица слева) и "Модификатор (опять таки должен быть выбран слева товар в заказе)
Работают кнопки "отложить" и "закрыть".
Всё остальное вырезано - как некритичное.

p18

Цитата: Djelf от 27 мая 2025, 15:46ИМХО, это не FormEX виноват, это свойство платформы, насколько помню, это и без FormEX проявляется.
т.е. надо патчить код платформы, но приходит ли туда какие-то ид от 2й модальной формы... если что-то приходит, то можно починить, если ничего не приходит, то непонятно как это починить.
Только тогда объясните - почему со старым это работает, а с новым нет - если это свойство платформы?

MWW_Ruza

ВидеоКомментарий по просьбе автора топика, как это проявляется:

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

Да, действительно, на ФормЕксе 1.9.0.1, это не проявляется.
Меняю на 198 - виснет.

vladmenleo

Проблема не в формексе а в Hide1C.dll, которая видимо с новыми версиями не дружит. Если в ПриНачалеРаботыСистемы() закомментировать код
//ЗагрузитьВнешнююКомпоненту("dll\Hide1C.dll");
//Hide1C=Создатьобъект("AddIn.Hide1C");   
//Hide1C.ShowIcon();
//Hide1C.Open1CWindow(0);
//Hide1C.CloseIcon();
то ничего не виснет
Решение - избавиться от Hide1C.dll

Злоп

F почему тогда "на ФормЕксе 1.9.0.1, это не проявляется."

vladmenleo

Видимо в формексе что-то поменялось

vladmenleo

Хотя... Подсунул версию 2.0.5.199 - вроде тоже не виснет