|
ПоказатьВопрос, показывает вопрос и по коду идет дальше, что не так? | ☑ | ||
---|---|---|---|---|
0
SkillUp
12.02.19
✎
21:07
|
В одной процедуре?
ПоказатьВопрос(НовыйОписаниеОповещения("ОбработкаКомандыЗавершение2",ЭтаФорма,ТЧ),"Удалить текущие строки табл. части "+ИмяТЧ+" ?",РежимДиалогаВопрос.ДаНет); В другой &НаКлиенте Процедура ОбработкаКомандыЗавершение2(Результат, ДополнительныеПараметры) Экспорт Если Результат = КодВозвратаДиалога.Нет Тогда Возврат; ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда ДополнительныеПараметры.очистить(); КонецЕсли; КонецПроцедуры |
|||
1
RomanYS
12.02.19
✎
21:34
|
Это и есть асинхронность. Вызов ОбработкаКомандыЗавершение2 произойдет после ответа на вопрос
|
|||
2
SkillUp
12.02.19
✎
21:44
|
(1) Я не об этом! У меня при вопросе, код дальше исполняется, не дождавшись ответа пользователя!
|
|||
3
palsergeich
12.02.19
✎
21:47
|
(2) Так и должно быть при ассинхронном выполнении
|
|||
4
SkillUp
12.02.19
✎
21:47
|
(3) Блин, что-то я запутался...
|
|||
5
palsergeich
12.02.19
✎
21:49
|
подуй
|
|||
6
SkillUp
12.02.19
✎
21:49
|
(3) Мне ответ пользователя нужен, и исходя из этого дальше разные варианты событий , как теперь делать?
|
|||
7
palsergeich
12.02.19
✎
21:49
|
||||
8
SkillUp
12.02.19
✎
21:50
|
(5) После выполнения процедуры ПоказатьВопрос() система не останавливается, ожидая ответ пользователя, исполнение кода продолжается
|
|||
9
SkillUp
12.02.19
✎
21:50
|
(8) Это мне не подходит (.
|
|||
10
palsergeich
12.02.19
✎
21:51
|
(8) Совершенно верно.
Учись писать код с учетом этих особенностей. Просто перенеси код который надо после реакции пользователя выполнить в ОбработкаКомандыЗавершение2 |
|||
11
SkillUp
12.02.19
✎
21:52
|
Мда, изучать и изучать мне УФ...
|
|||
12
palsergeich
12.02.19
✎
21:53
|
(11) Это имхо самое неприятное в УФ, потому что с теми же файлами можно запутаться.
|
|||
13
NorthWind
12.02.19
✎
21:54
|
(9) увы, но вам пишут совершенно верно. Вы должны реагировать на событие, а не ждать ответ от показа диалога. Это немного напоминает обработку событий формы в Дельфи или ее же в 1С.
|
|||
14
SkillUp
12.02.19
✎
22:06
|
Блин, так красиво у меня было, теперь всю процедуру переделывать...
|
|||
15
RomanYS
12.02.19
✎
22:20
|
(14) Что переделывать то? Просто перенеси код из первой во вторую
|
|||
16
SkillUp
12.02.19
✎
22:28
|
(15) ОК!
|
|||
17
NorthWind
12.02.19
✎
22:30
|
(15) не, ну переделывать-то придется. Как минимум из-за того что бокс теперь немодальный и юзер может клякать куда не надо и вносить изменения в форму ДО того как ответит на вопрос в боксе.
|
|||
18
SkillUp
12.02.19
✎
22:34
|
(17) Как вовремя...
|
|||
19
palsergeich
12.02.19
✎
22:39
|
(18) Если у тебя код зависит от неизменности данных между появлением окна и нажатием на кнопку - это очень плохо.
|
|||
20
SkillUp
12.02.19
✎
22:43
|
(19) У меня одна очень большая процедура, после вопроса, идет открытие другой формы, с блокировкой формы где вопрос, за асинхронность в методе ПоказатьВопрос() не знал, к сожалению... (
|
|||
21
SkillUp
12.02.19
✎
22:44
|
(19) Набираюсь опыта, спасибо.
|
|||
22
palsergeich
12.02.19
✎
22:47
|
(20) Самый простой и тупой путь решения проблемы:
Нарисовать свою форму вопроса и ее уже открывать с РежимОткрытияОкна.БлокироватьОкноВладельца Кстати сам там делаю и часто вижу что так делают. Просто помимо модальности можно форму вопроса еще и красивой сделать) |
|||
23
RomanYS
12.02.19
✎
22:49
|
(20) "не знал"
Мне интересно, когда вы читаете/пишете "Новый ОписаниеОповещения(", о чём думаете? типа "хз что за х#рня магия какая-то"? |
|||
24
palsergeich
12.02.19
✎
22:50
|
Кстати ща глянул - в типовых есть ОбщаяФорма Вопрос
И в ней по сути уже все есть - тебе ее надо только правильно открыть. |
|||
25
palsergeich
12.02.19
✎
22:50
|
Я то больше по нетленкам специализируюсь)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |