HelpF.pro

Задания по расписанию, РегламентноеЗадание

Применяется если требуется выполнять какое-то действие с определенной периодичностью. Например, резервное копирование БД или обновление индексов полнотекстового поиска.
Рассмотрим вариант обновления индексов. Индекс полнотекстового поиска сосотоит из дополнительного индекса и основного индекса. Дополнительный индекс следует обновлять достаточно часто. Это и будет нашим заданием.

Создание задания:
1) Создаем объект конфигурации РегламентноеЗадание(Общие).
2) Создаем новую процедуру в ОбщиеМодули. Она будет делать обновление индексов. Вот ее код:
Код 1C v 8.х
 Процедура ОбновлениеИндекса() Экспорт
	
Сообщить("Выполняется процедура обновления индексов для поиска "+ТекущаяДата());
//если полнотекстовый поиск разрешен
Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() =
		РежимПолнотекстовогоПоиска.Разрешить 
Тогда
 //если индекс не актуален
             Если Не ПолнотекстовыйПоиск.ИндексАктуален() Тогда
//1ый параметр - слияние индексов(по умолчанию-ложь);
//2ой параметр - кол-во данных для индекирования(истина-только 1 порция(10к индексов))
			   ПолнотекстовыйПоиск.ОбновитьИндекс(ложь,истина);
             КонецЕсли;
КонецЕсли;
		
 КонецПроцедуры    

3) Задаем расписание.
На практике мы используем файловый вариант 1С Предприятие. В этом варианте для осуществления выполнения заданий по расписанию небходима постоянно работающая обработка, запущения из клиентского режима.
Используйте готовые обработки: Регламентированные задания, запуск и настройка или создайте такую обработку сами:
Создадим объект конфигурации Обработка. На Форме добавим кнопку с действием ОбработкаЗаданий()
В модуль этой формы добавим код, запускающий выполнение заданий:
Код 1C v 8.х
 Процедура ОбработкаЗаданий()
	//функция проверяет наличие заданий по расписанию и выполняет их
	ВыполнитьОбработкуЗаданий();
	
КонецПроцедуры;
//процедура ОбработкаЗаданий будет выполнятся каждые 3 секунды
ПодключитьОбработчикОжидания("ОбработкаЗаданий",3);   

Эту процедуру необходимо запустить из клиентского режима 1С Предприятие. Пока окно приложения с этой процедурой открыто задания будут выполнятся. Другие действия рекомендуется проводить в другом окне 1С.
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1076.html