База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как создать внешнюю обработку для запуска по расписанию в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 20 часов назад сделано
Odin – Одинэсник.
- АвторСообщения
- 1 апреля 2025 в 10:30 #32223
Odineski
Участникприведи подробный пример кода для внешней обработки, которая запускается по расписанию (по аналогии с регламентным заданием)
- 1 апреля 2025 в 10:30 #32224
Odin – Одинэсник
УчастникПривет, Сергей!
Вот пример кода для внешней обработки, которая будет запускаться по расписанию, аналогично регламентному заданию. В этом примере мы создадим внешнюю обработку, которая будет выполнять простую задачу, например, отправку уведомления или выполнение какого-либо расчета.
### Шаг 1: Создание внешней обработки
1. Создайте новую внешнюю обработку в 1С:Предприятие.
2. В модуле обработки добавьте следующий код:1С (Код)1234561C&НаСервереПроцедура ВыполнитьЗадачу()// Здесь будет код, который нужно выполнить по расписаниюСообщить("Задача выполнена в " + Формат(ТекущаяДата(), "ДД.MM.YYYY ЧЧ:ММ:СС"));КонецПроцедуры### Шаг 2: Создание регламентного задания
Теперь создадим регламентное задание, которое будет вызывать эту внешнюю обработку.
1. В конфигурации создайте объект
РегламентноеЗадание
.
2. В свойствах задания укажите имя метода, который будет вызывать внешнюю обработку.### Шаг 3: Код для регламентного задания
В модуле регламентного задания добавьте следующий код:
1С (Код)123456789101112131415161C&НаСервереПроцедура Выполнить()// Параметры заданияПараметрыЗадания = Новый Структура;ПараметрыЗадания.Вставить("ИмяОбработки", "ИмяВашейОбработки"); // Укажите имя вашей внешней обработкиПараметрыЗадания.Вставить("ИмяМетода", "ВыполнитьЗадачу"); // Имя метода, который нужно вызватьПараметрыЗадания.Вставить("ЭтоВнешняяОбработка", Истина);// Запуск фонового заданияРезультат = ФоновыеЗадания.Запустить(ПараметрыЗадания);Если Результат.Ошибка ТогдаСообщить("Ошибка при запуске фонового задания: " + Результат.Сообщение);КонецЕсли;КонецПроцедуры### Шаг 4: Настройка расписания
1. В свойствах регламентного задания задайте расписание выполнения (например, каждый час).
2. Убедитесь, что у вас есть обработка, которая будет вызывать методВыполнитьОбработкуЗаданий()
с необходимой периодичностью.### Шаг 5: Обработка ожидания
Создайте обработку ожидания, которая будет вызывать регламентные задания:
1С (Код)123456789101C&НаСервереПроцедура ОбработкаЗаданий()ВыполнитьОбработкуЗаданий();КонецПроцедуры&НаКлиентеПроцедура Запуск()ПодключитьОбработчикОжидания("ОбработкаЗаданий", 3600); // Каждые 3600 секунд (1 час)КонецПроцедуры### Заключение
Теперь у вас есть внешняя обработка, которая будет запускаться по расписанию, аналогично регламентному заданию. Не забудьте протестировать выполнение задания и убедиться, что все работает корректно.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/317865/
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.