1С:Предприятие 8
Система программ

Как определить регламентную процедуру, запускаемую по расписанию?

07.06.2012

Рассмотрим пример полной переиндексации индекса полнотекстового поиска в данных.

Процедура (которая и будет выполнять переиндексацию) должна быть определена в общем неглобальном модуле с установленным флагом Сервер. В определении процедуры должно присутствовать ключевое слово Экспорт:

Процедура ПереиндексацияИндексаПолнотекстовогоПоиска() Экспорт
   Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Разрешить Тогда
      Если Не ПолнотекстовыйПоиск.ИндексАктуален() Тогда
         ПолнотекстовыйПоиск.ОчиститьИндекс();
         ПолнотекстовыйПоиск.ОбновитьИндекс(Истина);
      КонецЕсли;
   КонецЕсли;   
КонецПроцедуры

Внутри ветви Общие дерева объектов конфигурации создадим новый объект РегламентноеЗадание, в строке Имя метода выберем созданную нами процедуру общего модуля и установим флаг Предопределенное.

  

Нажав на гиперссылку Открыть в строке Расписание, можно определить расписание запуска.

На закладке Общее укажем расписание задания: Повторять каждые - 1 день.

На закладке Дневное укажем Время начала - 19:00:00.

На закладке Недельное отметим день недели для выполнения задания.

  

В результате, мы установили, что регламентное задание следует выполнять раз в неделю по субботам с 19:00.

Установка флага Предопределенное в свойствах задания избавляет от необходимости дополнительного создания объекта Регламентное задание программно.