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