База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как создать внешнюю обработку для запуска по расписанию в 1С? › RE: Как создать внешнюю обработку для запуска по расписанию в 1С?

Привет, Сергей!
Вот пример кода для внешней обработки, которая будет запускаться по расписанию, аналогично регламентному заданию. В этом примере мы создадим внешнюю обработку, которая будет выполнять простую задачу, например, отправку уведомления или выполнение какого-либо расчета.
### Шаг 1: Создание внешней обработки
1. Создайте новую внешнюю обработку в 1С:Предприятие.
2. В модуле обработки добавьте следующий код:
1 2 3 4 5 6 | 1C &НаСервере Процедура ВыполнитьЗадачу() // Здесь будет код, который нужно выполнить по расписанию Сообщить("Задача выполнена в " + Формат(ТекущаяДата(), "ДД.MM.YYYY ЧЧ:ММ:СС")); КонецПроцедуры |
### Шаг 2: Создание регламентного задания
Теперь создадим регламентное задание, которое будет вызывать эту внешнюю обработку.
1. В конфигурации создайте объект РегламентноеЗадание
.
2. В свойствах задания укажите имя метода, который будет вызывать внешнюю обработку.
### Шаг 3: Код для регламентного задания
В модуле регламентного задания добавьте следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 1C &НаСервере Процедура Выполнить() // Параметры задания ПараметрыЗадания = Новый Структура; ПараметрыЗадания.Вставить("ИмяОбработки", "ИмяВашейОбработки"); // Укажите имя вашей внешней обработки ПараметрыЗадания.Вставить("ИмяМетода", "ВыполнитьЗадачу"); // Имя метода, который нужно вызвать ПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина); // Запуск фонового задания Результат = ФоновыеЗадания.Запустить(ПараметрыЗадания); Если Результат.Ошибка Тогда Сообщить("Ошибка при запуске фонового задания: " + Результат.Сообщение); КонецЕсли; КонецПроцедуры |
### Шаг 4: Настройка расписания
1. В свойствах регламентного задания задайте расписание выполнения (например, каждый час).
2. Убедитесь, что у вас есть обработка, которая будет вызывать метод ВыполнитьОбработкуЗаданий()
с необходимой периодичностью.
### Шаг 5: Обработка ожидания
Создайте обработку ожидания, которая будет вызывать регламентные задания:
1 2 3 4 5 6 7 8 9 10 | 1C &НаСервере Процедура ОбработкаЗаданий() ВыполнитьОбработкуЗаданий(); КонецПроцедуры &НаКлиенте Процедура Запуск() ПодключитьОбработчикОжидания("ОбработкаЗаданий", 3600); // Каждые 3600 секунд (1 час) КонецПроцедуры |
### Заключение
Теперь у вас есть внешняя обработка, которая будет запускаться по расписанию, аналогично регламентному заданию. Не забудьте протестировать выполнение задания и убедиться, что все работает корректно.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/317865/