helpf.pro
Регистрация
 +1 
Распечатать

1С 8.x : Задания по расписанию, РегламентноеЗадание

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

Создание задания:
1) Создаем объект конфигурации РегламентноеЗадание(Общие).
2) Создаем новую процедуру в ОбщиеМодули. Она будет делать обновление индексов. Вот ее код:
Код 1C v 8.х
 Процедура ОбновлениеИндекса() Экспорт

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

КонецПроцедуры

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

КонецПроцедуры;
//процедура ОбработкаЗаданий будет выполнятся каждые 3 секунды
ПодключитьОбработчикОжидания("ОбработкаЗаданий",3);

Эту процедуру необходимо запустить из клиентского режима 1С Предприятие. Пока окно приложения с этой процедурой открыто задания будут выполнятся. Другие действия рекомендуется проводить в другом окне 1С.
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 8529
 +1 
Распечатать
Возможно, вас также заинтересует
Автоматическая архивация баз 1С 8.х для файлового и клиент-серверного варианта 3
Данный способ архивации подходит для файловых и SQL версий баз 1С: И так: 1. Создаем скрипт vbs и сохраняем его в C:BackupZUP.vbs Set WshShell = CreateObject(" WScript.Shell" ) dim d,m,y d = day(date()) if d 10 then d = " 0" d end
Делаем быстрый поиск по списку Справочника, Документов. 0
Сразу оговорюсь, пример для списка справочника Контрагенты, но подобное я использую очень часто. И так: Менеджерам хочется открыть список контрагентов, и быстро найти контрагента по любым данным которые они помнят! ...
Как оповестить пользователей из серверного модуля или регламентного задания. 0
// Оповестим пользователей о неактуальности данных. // Если мы не хотим подключать обработчик ожидания, //воспользуемся командой Windows МинутаХ = Формат(НачалоМинуты(КонецМинуты(ТекущаяДата()+300)+1)," ДФ=HH:mm:ss" ); Текст = " ...
Как просмотреть структуру таблиц информационной базы? 2
В данном примере получается структура таблиц справочника Номенклатура (в общем случае с этим объектом может быть связано несколько таблиц): МассивИменМетаданных = Новый Массив(); МассивИменМетаданных.Добавить("...
Как указать нужную,конкретную дату? 1
Значения данного типа содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до секунды. Литералы: Строка цифр, заключенная в одинарные кавычки вида: ГГГГММДДччммсс, где: ГГГГ - четыре цифры...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.