Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Открыть форму и дождаться ее закрытия для выполнения следующих кодов          
Constantus Подменю пользователя
сообщение 11.03.20, 18:38
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
1с8.3.12, самопис, УФ

Имеется некий большой код в модуле формы. В код вставляется открытие формы:

    Оповещение = Новый ОписаниеОповещения("ОткрытьПараметрыЗавершение", ЭтотОбъект);
    
    ПараметрыОткрытия = Новый Структура;
    ПараметрыОткрытия.Вставить("Подразделение", Объект.ТекущееПодразделение);
    ПараметрыОткрытия.Вставить("АдресТаблицыИзделий", АдресТаблицыИзделий());
    
    ОткрытьФорму("Документ.Заказ.Форма.ФормаПроверкиСкладовВыставки", ПараметрыОткрытия, ЭтотОбъект,,,,Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

    //55782 -->
    РезультатПроверки = ПереводВСтатусРазрешен(ПредопределенноеЗначение("Перечисление.СтатусыЗаказов.Открыт"));
    Если РезультатПроверки.ЕстьОшибки Тогда
        
        ПоказатьПредупреждение(, РезультатПроверки.ОписаниеОшибки, 5, "Изменение статуса заказа");
        Возврат;
    
    КонецЕсли;


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

РезультатПроверки = ПереводВСтатусРазрешен(ПредопределенноеЗначение("Перечисление.СтатусыЗаказов.Открыт"));
    Если РезультатПроверки.ЕстьОшибки Тогда


Срабатывает, недожидаясь завершения работы открытой формы "ФормаПроверкиСкладовВыставки"

Никак не могу добится этого эффекта модальности, чтобы всё замерло до закрытия открытой формы...
Посоветуйте

sava1 Подменю пользователя
сообщение 11.03.20, 19:17
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

в открываемой форме ПриЗакрытии - инициировать Оповещение, а в этой форие нужный код отрабатывать по ОбработкеОповещения

Constantus Подменю пользователя
сообщение 12.03.20, 8:42
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Ранее было так (супермега кнопка):
Процедура ВыполнитьМногоКодаНаФорме(Команда)



Вместо этой кнопки создал новую:

&НаКлиенте
Процедура АбалдетьКакаяпроцедура()
Оповещение = Новый ОписаниеОповещения("ВыполнитьМоюХотелку", ЭтотОбъект);
ОткрытьФорму("Документ.Заказ.Форма.ФормаПроверкиСкладовВыставки", ПараметрыОткрытия, ЭтотОбъект,,,,Оповещение,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьМоюХотелку(Результат, ДополнительныеПараметры) Экспорт
    ВыполнитьМногоКодаНаФорме(Неопределено);
КонецПроцедуры



Вроде сработало...
Ну неужели нет более простого способа? И вообще, то, что я понаписал это правильно с точки зрения оптимизации?


Petre Подменю пользователя
сообщение 12.03.20, 9:07
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

QUOTE (Constantus @ 12.03.20, 8:42) *
Ну неужели нет более простого способа? И вообще, то, что я понаписал это правильно с точки зрения оптимизации?

Есть вариант простой - модальное открытие. а есть вариант правильный - с оповещением.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 22:47
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!