#0
by Press
Не могу сообразить как грамотно организвать таймер через ОбработкаОжидания КонецПроцедуры
#2
by Матрейя
Сделай обработкой, вызывай с параметрами - вот тебе и таймер. На форме кнопка Пауза с формулой Управление, кнопка Закрыть и функция Таймер. Подробный пример можно посмотреть в моей конфигурации Trade, там вызов таймера производится для управления скоростью печати этикеток.
#3
by Press
Процедура Сформировать Чего-то там делаю Жду заданное время секунадах Опять чего-то делаю Жду заданное время секунадах И опять чего-то делаю .................... КонецПроцедуры
#4
by Матрейя
3. Если делать через обработку ожидания, то имей ввиду, она бездействует, если какой-либо процесс более приоритетный. То есть если вызванная процедура будет работать 10 сек, а обработка ожидания каждые 3 сек, то она будет бездействовать, пока процедура в 10 сек не прекратит исполняться.
#5
by Press
Спасибо, Матрея, хороший ты человек :). ОбработкаОжидания - здесь... совсем не нужна, и чего я за нее уцепился?. Вот на что меня натолкнуло: КонецПроцедуры PS.Усе я свое получил...
#6
by 427
вот это собачка пернула в лужу.... иди поучись... не зря тебя за такие знания гонят отовсюду ... в 1С у обработки ожидания есть исключение... она не работает, если потом открыто модальное окно.. Второе свинство - потеря фокуса ввода, если интерактивно работает юзер еще в одном окне.... Млядство, но такова 1С.... примерно так условия - весь механизм заработает после первого запуска Сформировать вручную, но это можно разрулить в ПриОткрытии грамотно и корректно будет еще рулить флагом, предотвращающим многократный перезапуск ОбработкиОжидания установить время старта установить длину интервала до повторного запуска(допустим, через 5 минут) сброс флага РАБОТАЮ сброс времени старта, если повторные перезапуски нужно остановить КонецПроцедуры обработка ожидания флаг РАБОТАЕТ = да тогда возврат если время старта = 0 тогда возврат (предотвратить ненужный запуск) если время старта+интервал меньше заданного ожидания тогда возврат обнулить время старта запустить Сформировать конец Флаг РАБОТАЮ предотвращает перезапуск Сформировать, если время интервала истекло, а Сформировать - не закончило.... Грабли - если будет сбой в Сформировать, механизм остановится - флаг не сброшен, перезапуск блокирован... Эта же ситуация, если Сформировать оборвали по Esc Впрочем, это можно разрулить еще через один флаг Итого получаем запуск Сформировать, повторный запуск через указанный интервал
#7
by 427
однако безграмотно.... За такие вещи принято обрывать то, что мешает плохому танцору... Это называется цикл по счетчику.... И этот цикл ТАК придавит машину... что мама не горюй... Если этот код будет работать под терминалом - задача будет нехило отжирать время проца и нехило тормозить других юзеров своим холостым ходом... Работа через таймер сделана по другому ...
#8
by Press
Да, ты прав..., но отрывать ничего не дам, особенно танцорумешательство. На своей ХР глянул - проц грузится на 100%, а куда деваться цикл я ему что надо втюхал. Такой код нам не нужен... Думаю щас над , и еще разочек над ...
#13
by 427
И еще... Пример собачки тоже грузит процессор, но не на 100%. Ибо он дергает контексты окон, что вызывает выполнение нехилого куска кода... и потерю времени проца... Ну да что с незнайки взять... на локальной машине - как говорится, нас рать, но в том же терминале будет Ж.... и на локальной машинке, если проц слабоват, будет заметно... Проще сразу написать грамотно, чем потом заниматься оптимизацией... но учти, что в 1С таймер кривоват... Я в свое время позанимался написанием драйверов для разных ОСей, так что работу с таймером покопал... Чуть ошибся - и можно так положить процессор... А в драйверах при работе на уровне системы - это особенно чувствительно... Там вообще очень жесткие требования...
#14
by Матрейя
427. Неужели понял что написано в 2?? Сомневаюсь...да ладно. :) Докажи что ты понял хотя бы 4. Расскажи нам, как будет работать обработка ожидания, если запустить проведение дока, к примеру... И где твои драйвера для разных осей? И что за оси?? МК47?
#15
by 427
таким казлам, как .... сабачки, чего то доказывать бесполезно... они видят только то, что хотят увидеть...
#16
by Матрейя
15. Однако поговорим о грустном... У тебя нет признания в реале? Расскажи нам о своих проблемах, возможно мы могли бы помочь. Только не отрицай, что проблем нет... Если человек в виртуальном мире агрессивен, значит в реальной жизни ему приходится слишком много страдать, унижаться, пресмыкаться... Но проблем нет извне, они всегда внутри... Изменись, и изменится мир.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Что такое проект "Rainbow"
- Товарный отчет с фильтрацией по складу
- Чем можно заменить функцию Активизация()?
- Как открыть dbf
- Как перенести данные по сотрудникам из DBF-файла в справочник 1С 7.7
- Как сделать акт сверки расчетов по счет-фактурам, а не по договорам?
- Что это "Общая файловая ошибка при доступе к C:... Main metadata Strea
- Как получить значение из обработки?
- Как можно получить название ресурсов и измерений регистра?
- как распечатать справочник?
- Как заполнить документ из отчета?
- Выгрузка из "Стек" в 1С
- Как на программном уровне в 1с создать группу, а внутри этой группы элемент
- запуск базы 1С из ярлыка
- Как определить был уже записан документ или нет (не проведен)
- Нарушена структура таблицы данных - как спасти базу???? Хелп!
- Общая файловая ошибка при открытии обработки
- Анализ субконто
- Пиктограмма в журнале расчета
- OFF: Волшебнику: неправильно отображается кол-во рекомендованных веток