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

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

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

MWW_Ruza

У меня, виснет на глухо... Правда на 198 версии.
Но, "мопед не мой, я просто разместил объяву! :-)))"

PS И киньте ссылочку плиз, на 199. А то на главной странице сайта ссылка на 198...

MWW_Ruza

Цитата: MWW_Ruza от 28 мая 2025, 11:24А то на главной странице сайта ссылка на 198...
Я вот про что:


АЛьФ

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

https://forum.dorex.pro/index.php?topic=2.0

Злоп

От топикстартера база со старым формексом - работает, 199 - виснет.

vladmenleo

А виснет подразумевается сама программа или процесс в памяти остается? Сами обработки отрабатывают, а вот процесс в памяти остается. Это я про 199

vladmenleo

Пардон это я туплю. При переборе разных вариантов незаметно загрузил формекс от ТС, вот и работало.
Т.е. при формекс от тс все работает, но остается процесс от 1с в памяти при нажатии выход. А при версии 199 висит сама программа после выхода из авторизации

MWW_Ruza

Цитата: vladmenleo от 28 мая 2025, 13:48но остается процесс от 1с в памяти при нажатии выход

Да это, как он сам говорит, что-то перестарался, когда "кастрировал" свою рабочую конфу до демки. Типа в рабочей конфе процесс прибивается. Но, я сам этого не видел, с его слов, у меня такая-же демка как тут выложена. Я кстати, про это "ворчал" в видеоролике :)

MWW_Ruza

Было время немного позаниматься...
Решил снакчала разобраться с зависающим процессом...
Обнаружил, что по кнопке "Выход" у него закрывается окно, но 1С продолжает работать.
Добавил после закрытия формы ЗавершитьРаботуСистемы(0);
Так, процесс прибивается, но 1С завершается не корректно (со старым Формекс).

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

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

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

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


MWW_Ruza

Сделал, что-бы вторая форма, где карта заведения, открывалась не при старте системы, а после авторизации и закрытия окна авторизации.
Вот так:

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

Все на старом формексе работает, процесс в памяти не остается, но 1С пишет ошибку...
На новом все тот-же висяк, ничего не изменилось.

MWW_Ruza

С такими изменениями ведет себя так:

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

Не смотря на Форма.Закрыть(0); , первая форма остается висеть как-бы спрятанная под вторую.
Это все на новом формексе.

MWW_Ruza

Ошибка при команде ЗавершитьРаботуСистемы() со старым Formex такая:


MWW_Ruza

Последний эксперимент...
Закомментировал загрузку Hide1C.dll, как в посте #11, ничего не изменилось, только все это безобразие теперь на фоне главного окна 1С, но висяк при открытии второго мобильного окна все тот-же, так, что Hide1C.dll похоже ни при чем.

Злоп

Со старыми формексами база при закрытии регулярно давала ошибки памяти по чтению, с новыми норм

vladmenleo

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

MWW_Ruza

Цитата: vladmenleo от 29 мая 2025, 07:09Вот в таком виде все работает
***************
Если оставить Hide1C.dll, то не работает открытьформу

Не понял? Что в таком виде работает?
Главное окно 1С не прячется, да. Открытая модально форма авторизации отрабатывает, пока нормально. Открывается карта зала, не модально, пока тоже нормально. Кликаешь на столике, для ввода количества бухающих, открывается модально следующее окошко "калькулятор" ввода числа, и привет, все повисло. С новым ФормЕкс естественно.