Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Обработчик ожидания и БлокироватьВесьИнтерфейс

Обработчик ожидания и БлокироватьВесьИнтерфейс
Я
   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);// каждую минуту



 

См. также:

Глобальный контекст, метод ОтключитьОбработчикОжидания
   drcrasher
 
4 - 06.04.18 - 12:46
(2) я правильно понял, что ты предлагаешь нажать кнопку "начать заполнение базы" и показать вторую вкладку с табличкой, а потом, уже на второй вкладке ещё раз нажать кнопку, например, "заполнить базу"?
так себе идея. я собственно хотел через обработчик ожидания запускать заполнение иб
   drcrasher
 
5 - 06.04.18 - 12:47
(3)  >> Пробовал сделать с подключением обработчика ожидания, так платформа уходит в глубокую несознанку и выводится оттуда перезапуском отладки / прибиванием в диспетчере.
   Вафель
 
6 - 06.04.18 - 12:55
нужно делать через рег. задание
   drcrasher
 
7 - 06.04.18 - 12:56
(6) зачем?
   drcrasher
 
8 - 06.04.18 - 12:57
(6) хотя, пожалуй, ты прав. переделаю на рег задание
   Вафель
 
9 - 06.04.18 - 12:59
(8) А по другому никак нельзя
   drcrasher
 
10 - 06.04.18 - 13:07
(9) стоп, а как проверить завершение фонового?
 
 Рекламное место пустует
   Вафель
 
11 - 06.04.18 - 13:11
   drcrasher
 
12 - 06.04.18 - 14:01
(11) спасибо
   drcrasher
 
13 - 06.04.18 - 14:16
(11) не взлетит. в бсп ожидание завершения через обработчик - см (5)
   Вафель
 
14 - 06.04.18 - 14:37
(13) Ну как то же прогресс бар отображается
   drcrasher
 
15 - 06.04.18 - 15:09
(14) у тебя режим открытия окна "независимый", а у меня - блокировка интерфейса
   Вафель
 
16 - 06.04.18 - 15:15
(15) нормально работает

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует