Имя: Пароль:
1C
1С v8
обработчик - ПодключитьОбработчикОжидания()
,
0 agrail86
 
07.10.14
13:22
Вызывается ошибка - неверный параметр...суть такова - есть обработка - в ней работаю диспетчеры, как только диспетчер ткнул на кнопку - стоп! - всем пользователям системы открылось сообщение "стоп!". делаю так - в процедуре обработке этой кнопки пишу событие:

Процедура Кнопка1Нажатие(Элемент)
    
    Если ЗначениеЗаполнено(ПолеВвода1) Тогда
        
        ОткрытьДиспетчеру = Истина;
        МодульДиспетчераБСУ.Поломка(ОткрытьДиспетчеру, МешалкаВТЧ);
        ЭтаФорма.Закрыть();
        
    КонецЕсли;
Конецпроцедуры

затем в общем модуле МодульДиспетчераБСУ пишу:

Процедура Поломка(ОткрытьДиспетчеру, МешалкаВТЧ) Экспорт
    
     Если ОткрытьДиспетчеру = Истина тогда
         ФормаОбработки = ПолучитьФорму("Обработка.ПоискРОТОВ.Форма.Форма4");
         ФормаОбработки.ОткрытьМодально();
     КонецЕсли;
    
КонецПроцедуры

и уже потом в модуле обычного приложения - ПриНачалеРаботыСистемы():

ПодключитьОбработчикОжидания("Поломка", 5);

что не так?
1 Defender aka LINN
 
07.10.14
13:26
(0) Система сама должна догадаться, где ей эту процедуру искать?
2 Enders
 
07.10.14
13:26
Может то что у тебя процедура "Поломка" содержит параметры, которые ты передаёшь по кнопке. А в обработчике пытаешься её вызвать без параметров?
3 Жан Пердежон
 
07.10.14
13:35
"поломка" без параметров должна быть
4 agrail86
 
07.10.14
13:37
попробовал без параметров все та же ошибка. свойства общего модуля - МодульДиспетчераБСУ - галочка - клиент(обычное приложение). если включаю глобальный то в самой обработке - где процедура нажатия кнопки ругается на МодульДиспетчераБСУ.Поломка(ОткрытьДиспетчеру, МешалкаВТЧ); - принимает ее за переменную...что делать?
5 Milok
 
07.10.14
13:46
Форма (Form)
ПодключитьОбработчикОжидания (AttachIdleHandler)
Синтаксис:

ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
Параметры:

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

Тип: Строка.
Имя процедуры, подключаемой в качестве обработчика ожидания.
Процедура НЕ ДОЛЖНА СОДЕРЖАТЬ ПАРАМЕТРОВ.
6 Milok
 
07.10.14
13:47
(0) Почему было решено реализовывать эту задачу через обработчик ожидания?
7 agrail86
 
07.10.14
13:50
а как иначе отслеживать нажатие кнопки?
8 Enders
 
07.10.14
13:54
(7) как вариант через константу и рег задание)
9 agrail86
 
07.10.14
13:58
да действительно работает без параметров...открыл справку но в описании не нашел, видимо в платформе 8.2.18 упущено. процедуру поломка поместил в модуль обычного приложения, общий модуль удалил. плохо что без параметров...придется через константы передавать...не совсем удобно
10 Milok
 
07.10.14
14:00
Хотя да... без обработчика ожидания, пожалуй, не обойтись.
Тогда по кнопке можно куда-нибудь сохранять признак, при наличии которого программа будет понимать что нужно открыть форму. Но в этом случае каждые N секунд будет формироваться запрос к базе, что не совсем верно. Но лучше придумать не могу...
11 agrail86
 
08.10.14
06:37
передал булево в константу, нажимаю под пользовтаелем админ кнопку, в константу записывается значение истина. открываю 1ску под другим пользователем, значение константы ложь как так? подскажите?
12 Галахад
 
гуру
08.10.14
07:01
Наверное в коде ошибка.
13 agrail86
 
08.10.14
07:04
сорри, все работает, забыл из отладки выйти с точкой останова.