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/faq8/view/1076.html