Имя: Пароль:
1C
 
v8: процедура ПодключитьОбработчикОжидания, в модуле обработки...
0 TDI
 
30.12.10
13:11
Вызываю процедуру ПодключитьОбработчикОжидания
в модуле обработке...

Процедура ПриОжиданииПрерывания()
   
   Если БылоПрерывание И ФормаХодаВыполненияОбмена.Открыта() Тогда
       
       ФормаХодаВыполненияОбмена.Закрыть();
       
   КонецЕсли;
   
КонецПроцедуры

................

   БылоПрерывание = Истина;
       ПодключитьОбработчикОжидания("ПриОжиданииПрерывания",0.1,Истина);
       ОбработкаПрерыванияПользователя();
       БылоПрерывание = Ложь;



при выполнении модуля, ругается на первый параметр ПодключитьОбработчикОжидания()...

Что не так делаю?
1 TDI
 
30.12.10
13:14
Параметры:

<ИмяПроцедуры> (обязательный)

Тип: Строка. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля.
Функция в общем глобальном модуле должна предваряться директивой компиляции НаКлиенте. При этом модуль должен быть доступен на тонком клиенте.


Т.е. получается подключаемая процедура должна расположена в глобальном модуле?
2 Mitriy
 
30.12.10
13:14
Параметры:
<Имя процедуры> (обязательный)
Тип: Строка. Имя экспортируемой процедуры модуля приложения или глобального общего модуля.
3 Протез
 
30.12.10
13:14
В модуле формы вызываешь?
4 Mitriy
 
30.12.10
13:15
(1) экспортируемой, как минимум...
5 Mitriy
 
30.12.10
13:16
(3) в модуле формы вроде и так должно работать...
6 Протез
 
30.12.10
13:17
(2)
Параметры:
<Имя процедуры> (обязательный)
Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания.
7 Mitriy
 
30.12.10
13:17
(6) это для формы, а у него модуль обработки...
8 TDI
 
30.12.10
13:18
выдодит что никак :(
9 TDI
 
30.12.10
13:19
модуль обработки,
а конфа на замке :(
10 Протез
 
30.12.10
13:20
А че не так? У обработок форм не бывает?
11 NewNick
 
30.12.10
13:21
>>Вызываю процедуру ПодключитьОбработчикОжидания
>>в модуле обработке...
нет такой процедуры в модуле обработки и быть не может
12 Протез
 
30.12.10
13:23
Если форма обработки открыта, то перенеси часть кода в форму да и всё. Проблем то, хоспади.
13 Mitriy
 
30.12.10
13:25
(11) а где есть?
14 NewNick
 
30.12.10
13:27
(13) в модуле приложения и в модулях форм
15 Mitriy
 
30.12.10
13:41
(14) странно... у меня 1С-ка неправильная, наверное...
16 Mitriy
 
30.12.10
13:46
СП:

Глобальный контекст
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:
ПодключитьОбработчикОжидания(<Имя процедуры>, <Интервал>, <Однократно>)
Параметры:
<Имя процедуры> (обязательный)
Тип: Строка. Имя экспортируемой процедуры модуля приложения или глобального общего модуля.
<Интервал> (обязательный)
Тип: Число. Интервал времени с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число).
Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина.
<Однократно> (необязательный)
Тип: Булево. Признак однократного выполнения обработчика ожидания.
Истина - указанный обработчик ожидания будет выполнен один раз.
Значение по умолчанию: Ложь
Описание:
Подключает вызов указанной экспортируемой процедуры модуля приложения или глобального общего модуля через определенный интервал времени. Вызов будет осуществляться только в "состоянии покоя", то есть в тот момент, когда программа не выполняет никаких действий.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
Вызов обработчика ожидания продолжается, пока система не завершит работу или пока не будет вызван метод глобального контекста ОтключитьОбработчикОжидания.
Пример:
Процедура ОтчетОпродажахЗаДень()
// ...
КонецПроцедуры

//...
ПодключитьОбработчикОжидания("ОтчетОпродажахЗаДень", 60);
17 NewNick
 
30.12.10
13:55
(15)(16) о чем речь идет ?) где кроме как в (14) ты предлагешь подключать обработчик ожидания ?
18 Mitriy
 
30.12.10
13:56
(17) млять... прости, заклинило )))
19 Mitriy
 
30.12.10
13:58
(18) ты про процедуру обработчика?
просто ты в (11) как-то невнятно выразился...
20 NewNick
 
30.12.10
14:02
(19) я про то что процедура ПодключитьОбработчикОжидания известна только модулю приложения она подключает глобальные обработчик ожидания сеанса либо в модуле формы она подлючает обработчик ожидания формы.
21 Mitriy
 
30.12.10
14:07
(20) это, конечно, экзотика, но даже в типовых встречается...
Например в модуле обработки БлокировкаСоединенийСИнформационнойБазой:


Процедура УстановитьБлокировку() Экспорт    
   # Если Клиент Тогда            
       Если УстановитьБлокировкуСоединений Тогда
           // поскольку блокировка еще не установлена, то при входе в систему
           // для данного пользователя был подключен обработчик ожидания завершения работы.
           // Отключаем его. Так как для этого пользователя подключается специализированный обработчки ожидани
           // "ЗавершитьРаботуПользователей", который ориентирован на то, что данный пользователь
           // должен быть отключен последним.        
           
           ОтключитьОбработчикОжидания("КонтрольРежимаЗавершенияРаботыПользователей");
           ПодключитьОбработчикОжидания("ЗавершитьРаботуПользователей", 60);    
       КонецЕсли;
   # КонецЕсли

   // параметры блокировки
   Блокировка = Новый БлокировкаУстановкиСоединений;
   
   Блокировка.Начало            = НачалоБлокировки;
   Блокировка.Конец              = ОкончаниеБлокировки;
   Блокировка.Сообщение        = Сообщение;
   Блокировка.Установлена        = УстановитьБлокировкуСоединений;
   Блокировка.КодРазрешения    = КодРазрешения;    
   
   // установка блокировки соединений
   УстановитьБлокировкуУстановкиСоединений(Блокировка)
КонецПроцедуры // УстановитьБлокировку()
22 NewNick
 
30.12.10
14:18
(21) угу проверил. вынужден согласиться.
тогда правильный ответ на вопрос в (0) очень простой. функция должна быть в глобальном модуле.
23 Mitriy
 
30.12.10
14:22
(22)+ или в модуле приложения + экспортной
24 TDI
 
30.12.10
14:25
(22)
это я понял..
но я-ж написал, конфигурация на замке..
т.е. свою процедуру нельзя там допрописать
25 NewNick
 
30.12.10
14:27
(24) извращайся через обработчик ожидания формы. или ищи другие пути )
2 + 2 = 3.9999999999999999999999999999999...