Регламентные фоновые задания¶
Добавление расписания.¶
Если указать Предопределенное - автоматически добавится на вкладку "Регламентные задания" основной формы обработки РегламентныеИФоновыеЗадания.
Или добавить в ручном режиме - Ins.
Пример отображения прогресса фонового задания¶
https://infostart.ru/public/119601/
Процедура ФоновоеЧтениеJSON(ИмяФайла) Экспорт Ст = 0; JS = Новый ЧтениеJSON; Сообщить("Начало, открываем файл"); JS.ОткрытьФайл(ИмяФайла); Сообщить("Файл открыт"); Пока JS.Прочитать() Цикл Ст = ст + 1; Если Ст%100 = 0 Тогда Сообщить("" + ст); КонецЕсли; КонецЦикла; Сообщить("окончание, закрываем файл"); JS.Закрыть(); КонецПроцедуры
&НаСервере Процедура ПрочитатьНаСервере() // Вставить содержимое обработчика. МассивПараметров = Новый Массив; МассивПараметров.Добавить(Путь); ФЗ = ФоновыеЗадания.Выполнить("МойМодуль.ФоновоеЧтениеJSON", МассивПараметров, , "Читам файл JSON"); ГУИДФЗ = ФЗ.УникальныйИдентификатор; КонецПроцедуры &НаКлиенте Процедура Прочитать(Команда) ПрочитатьНаСервере(); ПодключитьОбработчикОжидания("Обождание", 1, Ложь); Состояние("Подключен обработчик"); КонецПроцедуры &НаКлиенте Процедура Обождание() Если ПолучитьДанныеФЗ() = Неопределено Тогда ОтключитьОбработчикОжидания("Обождание"); Состояние("Отключен обработчик"); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьДанныеФЗ() ФЗ = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ГУИДФЗ); Если ФЗ = Неопределено ИЛИ НЕ ФЗ.Состояние = СостояниеФоновогоЗадания.Активно Тогда Сообщить("Состояние ФЗ: " + ФЗ.Состояние); Возврат Неопределено Иначе Для Каждого Ст ИЗ ФЗ.ПолучитьСообщенияПользователю(Истина) Цикл ПрочитаноСтрок = ст.текст; КонецЦикла; Возврат 0 КонецЕсли; КонецФункции Путь = "/home/sergey/Документы/100mb.json";
Запуск регламентных заданий¶
https://its.1c.ru/db/v8std/content/539/hdoc