Имя: Пароль:
1C
1C 7.7
v7: Формекс, ОбработкаОжидания - в чем задается интервал?
,
0 MWWRuza
 
гуру
04.07.23
15:27
Добрый день!

В чем всетаки задается интервал вызова процедуры ОбработкаОжидания в FormEx - ?
В описании(СП):

Назначение:
Вызывает процедуру модуля формы с заданным интервалом в милисекундах.

Но, такое ощущение, что в секундах...
Вот это:

Форма.ОбработкаОжидания("НужнаяПроцедура", 1);

"дергает" НужнуюПроцедуру формы с интервалом 1 секунда...
Как сделать раз 0.5 секунды?
Вроде как 500 - это 500 милисекунд, как раз 0.5 секунды... Но, не работает, точнее работает раз в 500 секунд...
0.5 тоже не понимает.
Как можно это побороть?
1 АгентБезопасной Нацио
 
04.07.23
15:40
<Интервал> - (Число Интервал вызова процедуры в миллисекундах (если в качестве параметра передается 0 (ноль)) , то ранее запущенный процесс прекращается)
©
2 MWWRuza
 
гуру
04.07.23
16:21
(1) Ну... И я про то. В СП так написано.
Но, почему-то начинает работать от 1 секунды, никаких милисекунд...
3 MWWRuza
 
гуру
04.07.23
16:25
Пробная демка: https://cloud.mail.ru/public/9vKZ/fYKBo7q6b
4 MWWRuza
 
гуру
04.07.23
16:27
Формекс должен быть загружен, а так, ей больше ничего не нужно.
Что-бы остановить обработку, ентер в поле ввода.
5 Злопчинский
 
04.07.23
17:06
Форма.ОбработкаОжидания("НужнаяПроцедура", 1); // ФОРМА!!!!!!
РасширениеФормы - в миллисекундах.
ОО для Форма - к формекс отношения не имеет
6 Злопчинский
 
04.07.23
17:11
Перем ТекСост;
Перем ФФ;

Процедура Мигать()
    Форма.надпПодч.Видимость(1);
    Если Тексост = 1 Тогда
        Форма.надпМарк.Цвет(255, 0, 0);
        Форма.надпПодч.Цвет(255, 0, 0);
        ТекСост = 0;
    Иначе
        Форма.надпМарк.Цвет(255, 127, 0);
        Форма.надпПодч.Цвет(255, 127, 0);
        ТекСост = 1;
    КонецЕсли;
КонецПроцедуры    

Процедура Сформировать()
    ФФ.ОбработкаОжидания("Мигать", 100);
КонецПроцедуры

Процедура ПриОткрытии()
    Форма.надпПодч.Видимость(0);
КонецПроцедуры

Процедура ПослеОткрытия()
    ФФ = СоздатьОбъект("РасширениеФормы");
    Сформировать();    
КонецПроцедуры
7 Злопчинский
 
04.07.23
17:11
5 миллисекунд ты ничего не увидишь, ставь в районе 100
8 MWWRuza
 
гуру
04.07.23
17:30
Спасибо! Я понял, это я не формексовскую обработку вызывал, а штатную из 1С...
9 MWWRuza
 
гуру
04.07.23
17:42
Да, работает, так отлично, 500 - вообще "цветомузыка" :-)
А то затрахали узера, не хотят маркировку выбирать. А так, в процедуле привязки ШК при обработки УПД ЭДО, если есть маркировка и в карточке товара она не выбрана - будет предупреждать и указывать, где и чего выбрать.
10 Злопчинский
 
04.07.23
17:44
(9) ну не хотят маркировку выбирать ну и не надо. если система знает что должна быть выбрана маркировка - тупо не пускать дальше, пока не выберут маркировку...
.
под реквизит маркировки лучше подложить красный прямоугольник
11 MWWRuza
 
гуру
04.07.23
19:16
(10) Да тут, понимаешь... Наши реалии. Пока, до сих пор, поставщики периодически привозят товар без марок, при том, что уж кому, кому, а им то по закону это запрещно уже давно...
Особенно по воде много такой фигни, такое чувстао, что им "закон не писан" :-(
Поэтому блокировать что-то, пока нельзя. Только напоминалку, но злостную, чтобы "глаз резало".
А наччет прямоугольника, подумаю...
12 big
 
05.07.23
05:15
Лучше использовать объект Таймер того же FormEx.
13 Kigo_Kigo
 
05.07.23
09:44
Форма.ОбработкаОжидания("НужнаяПроцедура", 1); это недокументированая функция 1С, ну впринципе уже разобрались
14 Злопчинский
 
05.07.23
10:03
(13) какая-то из ОО не работает в модальном режиме. ОО расширениеформы работает
15 MWWRuza
 
гуру
05.07.23
12:16
(12) А чем лучше?
Какие преимущества?

Сейчас пока на обработке ожидания сделано, уже в "продуктиве" у нескольких клиентов работает. Есть ли смысл переделывать?
16 Djelf
 
05.07.23
15:34
(15) Таймеров можно сделать несколько, с несколькими таймаутами, и не только в форме, но и в гм и объекте 1с++.
Если одного таймера хватает то РФ.ОбработкаОжидания вполне достаточно.
17 Злопчинский
 
05.07.23
16:00
(16) ну я робота одним ОО пускал. а разные таймауты кратностью исполнения...
18 MWWRuza
 
гуру
05.07.23
16:20
Ясно. Для моей задачи, пока и ОО хватит. Нужно будет - переделаю. А пока, так пусть работает :-)
Клиенты уже оценили - один сейчас распинался, типа "ой, как хорошо, а то про этот гиморой постоянно забываешь" :-)

(10) Ту говоришь, сделать принудительно... Только что, "поймал" УПД, в котором нет кода маркировки по одной из позиций, которая явно должна быть маркированной... И соответственно, на реальных бутылках марок нет... При этом, эта-же позиция, ранее приходила с марками. Вот как так?
19 Злопчинский
 
05.07.23
16:32
(18) очень просто. торгуете контрабандой.
20 victuan1
 
07.07.23
04:55
(18) Мораторий на проверки расслабляет...
21 MWWRuza
 
гуру
07.07.23
14:04
(20) А мораторий на проверки же вроде закончился? Или продлили?