![]() |
|
Обработчик ожидания и БлокироватьВесьИнтерфейс | ☑ | ||
---|---|---|---|---|
0
drcrasher
06.04.18
✎
12:19
|
Пытаюсь реализовать следующее:
есть обработка начального заполнения ИБ. Форма открывается в режиме блокировки интерфейса. Состоит из нескольких вкладок - ввод данных о пользователе, организации и т.д.; табличка "чек-лист" (что в данный момент происходит с базой); перезапуск. Проблема: при переключении на вкладку с чек-листом форма не успевает перерисоваться и юзер наблюдает рамку от таблицы всё время, пока данные пишутся в базу. Пробовал сделать с подключением обработчика ожидания, так платформа уходит в глубокую несознанку и выводится оттуда перезапуском отладки / прибиванием в диспетчере. Как реализовать слегка отложенный запуск процедуры записи данных, чтобы пользователь увидел чек-лист? |
|||
1
_Дайвер_
06.04.18
✎
12:32
|
(0) А юзер на чем работает?
|
|||
2
_Дайвер_
06.04.18
✎
12:36
|
Вообще сначало покажи чек-лист, и только потом записывай что тебе надо, а не во время переключения вкладок! Кнопку отдельную добавь на форму "Чек-лист" (Записать). Посмотрел, записал, проблем нет
|
|||
3
_Дайвер_
06.04.18
✎
12:44
|
Либо
Глобальный контекст (Global context) ПодключитьОбработчикОжидания (AttachIdleHandler) Синтаксис: ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) Параметры: <ИмяПроцедуры> (обязательный) Тип: Строка. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте. Процедура не должна содержать параметров. <Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число). Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина. <Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания. Истина - указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь. Описание: Подключает вызов указанной процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля через определенный интервал времени. Вызов будет осуществляться только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий. Во время временной блокировки, вызванной методом ЗаблокироватьРаботуПользователя или соответствующей командой "Временная блокировка", обработчики ожидания не выполняются. Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент). Примечание: Вызов обработчика ожидания продолжается, пока система не завершит работу или пока не будет вызван метод глобального контекста ОтключитьОбработчикОжидания. Пример: Процедура ОтчетОпродажахЗаДень() // ... КонецПроцедуры //... ПодключитьОбработчикОжидания("ОтчетОпродажахЗаДень", 60); // каждую минуту См. также: Глобальный контекст, метод ОтключитьОбработчикОжидания |
|||
4
drcrasher
06.04.18
✎
12:46
|
(2) я правильно понял, что ты предлагаешь нажать кнопку "начать заполнение базы" и показать вторую вкладку с табличкой, а потом, уже на второй вкладке ещё раз нажать кнопку, например, "заполнить базу"?
так себе идея. я собственно хотел через обработчик ожидания запускать заполнение иб |
|||
5
drcrasher
06.04.18
✎
12:47
|
(3) >> Пробовал сделать с подключением обработчика ожидания, так платформа уходит в глубокую несознанку и выводится оттуда перезапуском отладки / прибиванием в диспетчере.
|
|||
6
Вафель
06.04.18
✎
12:55
|
нужно делать через рег. задание
|
|||
7
drcrasher
06.04.18
✎
12:56
|
(6) зачем?
|
|||
8
drcrasher
06.04.18
✎
12:57
|
(6) хотя, пожалуй, ты прав. переделаю на рег задание
|
|||
9
Вафель
06.04.18
✎
12:59
|
(8) А по другому никак нельзя
|
|||
10
drcrasher
06.04.18
✎
13:07
|
(9) стоп, а как проверить завершение фонового?
|
|||
11
Вафель
06.04.18
✎
13:11
|
(10) Юзай типовой механизм.
https://github.com/a-sitnikov/asc_ext/blob/master/Обработки/ЗагрузкаДокументовОтчетПосредникаИзUnicus.epf |
|||
12
drcrasher
06.04.18
✎
14:01
|
(11) спасибо
|
|||
13
drcrasher
06.04.18
✎
14:16
|
(11) не взлетит. в бсп ожидание завершения через обработчик - см (5)
|
|||
14
Вафель
06.04.18
✎
14:37
|
(13) Ну как то же прогресс бар отображается
|
|||
15
drcrasher
06.04.18
✎
15:09
|
(14) у тебя режим открытия окна "независимый", а у меня - блокировка интерфейса
|
|||
16
Вафель
06.04.18
✎
15:15
|
(15) нормально работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |