Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как периодически выполнять действие?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
911Oleg
Мне нужно периодически вызывать внешнюю обработку (по времени), каждый день. При старте 1с понятно как вызвать, но на ночь компы могут и не выключать. Как это сделать? Подскажите пожалуйста.
danie
необходимо зарегистрироваться для просмотра ссылки
попробуй что это такое
suhar
Цитата(911Oleg @ 18.12.09, 18:52) необходимо зарегистрироваться для просмотра ссылки
Мне нужно периодически вызывать внешнюю обработку (по времени), каждый день. При старте 1с понятно как вызвать, но на ночь компы могут и не выключать. Как это сделать? Подскажите пожалуйста.

просмотри функции работы с датой и временем....
MATEVI
Цитата(911Oleg @ 18.12.09, 18:52) необходимо зарегистрироваться для просмотра ссылки
Мне нужно периодически вызывать внешнюю обработку (по времени), каждый день. При старте 1с понятно как вызвать, но на ночь компы могут и не выключать. Как это сделать? Подскажите пожалуйста.

ОбработкаОжидания(<?>,)
Синтаксис:
ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>)
Назначение:
Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени.
Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры).
Параметры:
<ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается.
<ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>. Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается.

Процедура глПроцОпределенияПоОплатам()  Экспорт
........................
         ОткрытьФорму("Обработка.ОпределениеОплат", Контекст);
.......................    
КонецПроцедуры //ГлПроцОпределенияПоОплатам
//=============================================
Процедура глОбработкаОжиданияМенеджерам() Экспорт
.....................
        ОбработкаОжидания("глПроцОпределенияПоОплатам",3600);
.....................    
КонецПроцедуры //глОбработкаОжиданияМенеджерам

Процедура ПриНачалеРаботыСистемы()
..........
    глОбработкаОжиданияМенеджерам();
zetovich
батник + Планировщик задач + чуть подправить глобальный модуль.
все просто есле не моноплльно....
монопльно всех выгнать скриптом.....полно на просторах интернета.
911Oleg
Спасибо всем, буду пробовать
-=VJ=-
Цитата(MATEVI @ 18.12.09, 19:13) необходимо зарегистрироваться для просмотра ссылки
ОбработкаОжидания(<?>,)


а с тем, что эта команда не работает ещё никто не сталкивался? smile.gif
dmiter
Цитата(-=VJ=- @ 17.05.11, 15:15) необходимо зарегистрироваться для просмотра ссылки
а с тем, что эта команда не работает ещё никто не сталкивался? smile.gif

Я нет, при чем активно пользуюсь...
-=VJ=-
Цитата(dmiter @ 17.05.11, 19:28) необходимо зарегистрироваться для просмотра ссылки
Я нет, при чем активно пользуюсь...


А я вот сегодня столкнулся. Причину так выяснить и не смог, пришлось обходить другими методами.
Крутил и так, и сяк - не вызывается процедура через положенное время и всё тут.
dmiter
х
-=VJ=-
Цитата(dmiter @ 20.05.11, 22:38) необходимо зарегистрироваться для просмотра ссылки
Опиши ситуацию чем смогу помогу...


Спасибо, уже сам нашел.
Глюк был в интервале - одна ОбработкаОжидания вела на процедуру, где была ещё одна ОбработкаОжидания и один из программистов поставил там интервал 600.
В результате первая обработка не отрабатывала, пока не заканчивался десятиминутный период для второй.
А если не закапываться глубоко, то можно было принять за то, что команда просто перестала работать вообще smile.gif
dmiter
Цитата(-=VJ=- @ 21.05.11, 0:01) необходимо зарегистрироваться для просмотра ссылки
Спасибо, уже сам нашел.
Глюк был в интервале - одна ОбработкаОжидания вела на процедуру, где была ещё одна ОбработкаОжидания и один из программистов поставил там интервал 600.
В результате первая обработка не отрабатывала, пока не заканчивался десятиминутный период для второй.
А если не закапываться глубоко, то можно было принять за то, что команда просто перестала работать вообще smile.gif

Если использовать документированную возможность ОбработкаОжидания - то процедура, которая будет выполняться через ожидание может быть только одна (список или стек процедур выполняемых через определенный интервал необходимо организовывать вручную). То есть если второй раз вызывается ОбработкаОжидания то свое первое действие она отменяет (насколько мне не изменяет память smile.gif)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.