Имя: Пароль:
1C
1С v8
Как остановить выполнение процедуры для показа оповещения?
🠗 (Волшебник 21.03.2024 10:19)
,
0 Gera1t
 
21.03.24
09:38
Здравствуйте!
Есть процедура, которая выполняется на клиенте. Нужно во время выполнения процедуры запросить у пользователя определенные параметры.
Если я в середине процедуры вставляю оповещение с запросом параметров, то процедура продолжается параллельно с запросом и запрос параметров не влияет на процедуру.
Как сделать так, что бы процедура не продолжалась, а ждала ввода параметров пользователем?
Я понимаю, что решением данной проблемы будет сначала через оповещение запросить у пользователя параметры, а потом запускать выполнение процедуры. Но может быть есть другое решение?
1 lodger
 
21.03.24
09:41
а) без асинхов
выходи из цикла, запоминай цикл и положение в нём, задавай вопросы, по ответам продолжай цикл
б) с ансинхами
посреди цикла
доппараметры = Ждать ТвойВопросАсинх();
2 Волшебник
 
21.03.24
09:49
Вызывайте ВвестиЧисло() или ВвестиСтроку()
Ещё можно открывать форму модально
3 Gera1t
 
21.03.24
09:53
Спасибо!
4 Волшебник
 
21.03.24
10:00
Кстати, что за процедура? ОбработкаПроведения?
5 Gera1t
 
21.03.24
10:02
(5) Нет, это самописная обработка, на форме которой пользователь делает определенные действия. И когда он завершает работу с формой, нужно либо делать по умолчанию, либо запросить дополнительные параметры.
6 Волшебник
 
21.03.24
10:05
(5) Плохое решение. Если пользователь работает с формой, то там и запросите все параметры.
7 Gera1t
 
21.03.24
10:14
(6) Не все так просто. Дело в том, что есть регистр с 1 измерением, при создании формы данные из этого регистра помещаются на форму в виде плитки динамически, и пользователь выбирает кнопку на форму, которая возвращается в предыдущую форму в виде параметра. Я не вижу возможности сделать это на текущей форме
8 Волшебник
 
21.03.24
10:14
(7) Ерунду нагородили
9 Gera1t
 
21.03.24
10:17
Хорошо, в 7 я бы сделал это через слои.
А как лучше реализовать вопрос пользователю с несколькими вариантами ответа (около 30), не загружая пользователя вводом текста?
10 Волшебник
 
21.03.24
10:17
(9) поле со списком
11 Gera1t
 
21.03.24
10:18
экран сенсорный, кнопки должны быть достаточно большими и располагаться в несколько колонок
12 Волшебник
 
21.03.24
10:19
(11) Выдайте пользователю стилус
13 Gera1t
 
21.03.24
10:20
Это не телефон) Большой монитор с сенсорным экраном)
14 Волшебник
 
21.03.24
10:20
(13) Может он ещё под водой?
15 Gera1t
 
21.03.24
10:21
В цеху, где некогда рать в руки стилус
16 Волшебник
 
21.03.24
10:21
- Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ?
- Представь что тебе надо разгрузить машину, сколько времени это займет?
- Пару часов
- Это камаз
- 8 часов
- Камаз, груженый песком
- 12 часов
- У тебя нет лопаты и инструментов, только твои руки
- 2 дня
- На улице -40
- 4 дня
- Камаз вообще под водой...
17 Волшебник
 
21.03.24
10:22
(15) Ваш сенсорный экран не будет работать, потому что цех горячий, а у рабочих рукавицы
18 Gera1t
 
21.03.24
10:23
Иду на встречу клиенту)
19 Gera1t
 
21.03.24
10:23
(18) Уже работает, это дополнительное пожелание
20 FIXXXL
 
21.03.24
10:40
(0) > вставляю оповещение с запросом параметров

оповещение сделай для обработки закрытия формы
как форму закрыли - получишь параметры и дальше развлекайся
21 Волшебник
 
21.03.24
11:21
(18) Как встретите, передайте ему привет. Только не потеряйте
https://yandex.ru/video/preview/9480709894896729529
22 mikecool
 
21.03.24
12:43
есть повод изучить Асинхи...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший