Собственные регламентные задания в расширении
В каждой редакции технологической платформы 1С появляются новые возможности расширения. Эти возможности описаны в документации платформы и можно кратко посмотреть здесь.
На сегодняшний день в расширении конфигурации не поддерживается создание собственных объектов Регламентные задания и приходиться не стандартным способом создавать собственные регламентные задания.
Я создал шаблонное расширение, которое позволяет не стандартным способом создавать собственные регламентные задание и настроить расписание в расширении конфигурации, использующей стандартные подсистемы БСП Регламентные задания и Дополнительные отчеты и обработки.
Название собственных регламентных заданий я храню в объекте перечисления , а их параметры – регистре сведений.
В данном шаблоне расширения я описываю регламентные задания , связанные с обменом 1С и RetailCRM. В перечислении rCrm_ВидыОбмена я храню значения двух видов обмена : Получить Заказы из rCrm и Обновить свойство заказов на сайте RetailCRM (см рис 1 )

Для настройки расписания и ввода параметров обмена я использую регистр сведения rCRM_НастройкаОбменов См рис 2

Измерения ВидОбмена – это ссылка на перечисление rCrm_ВидыОбмена . Ресурсы регистр – это параметры обмена. В данном случае я использую 2 : ИспользоватьРасписание типа булево и ИдентификаторРегламентногоЗадания типа УникальныйИдентификатор.
Идентификатор регламентного Задания – это Идентификатор ссылки на задание и создается при записи регистра сведения программным путем .
Для работы с регламентными заданиями в расширении конфигурации со стандартными подсистемами БСП нужно добавить в расширении общий модуль ДополнительныеОтчетыИОбработки и регламентной задание ЗапускДополнительныхОбработок ( см рис 3)

В расширении нужно изменить процедуру ВыполнитьОбработкуПоРегламентномуЗаданию с помощью анотации &Вместо :
&Вместо("ВыполнитьОбработкуПоРегламентномуЗаданию")
Процедура rCRM_ВыполнитьОбработкуПоРегламентномуЗаданию(ВнешняяОбработка, ИдентификаторКоманды)
Если ТипЗнч(ИдентификаторКоманды) = Тип("ПеречислениеСсылка.rCRM_ВидыОбмена") Тогда
rCRM_ОбщийМодуль.ОбменПоРасписанию(ИдентификаторКоманды);
Иначе
ПродолжитьВызов(ВнешняяОбработка, ИдентификаторКоманды);
КонецЕсли;
КонецПроцедуры
Важно! Расширение нужно подключать в обычном безопасном режиме потому, что используется аннотированный серверный метод К аннотированным серверным методам модулей расширение применяться не будет безопасном режиме .
В теле этого аннотированного серверного метода вызывается процедура выполнения обмена :
Процедура ОбменПоРасписанию(ИдентификаторКоманды) Экспорт
Если ИдентификаторКоманды = Перечисления.rCRM_ВидыОбмена.ОбновитьСвойстваЗаказов Тогда
ОбновитьСвойстваЗаказов() ;
ИначеЕсли ИдентификаторКоманды = Перечисления.rCRM_ВидыОбмена.ПолучитьЗаказы ТОгда
ПолучитьЗаказы();
КонецЕсли;
КонецПроцедуры
После подключения расширения появляется раздел

В форме списка нужно создать одну запись на каждый вид обмена и настроить расписание . Идентификатор регламентного Задания не отображается на форме. Он создается при записи если используется расписание и удаляется если не используется расписание

Посмотреть состояние задания можно в стандартной форме Регламентные и фоновые задания в разделе Администрирование/Обслуживание/Регламентные задания ( см рис )

Следует отметить что, это не самостоятельная внешняя обработка, а реализованный пример механизм создания собственных регламентных заданий в расширений. Расширение предназначена для разработчиков целю внедрения механизма в прикладных расширениях. Например. Я продемонстрировал здесь механизм собственных регламентных заданий в модуле интеграции с CRM Retail в расширении
Стоимость расширения 4000 р. Для ее приобретения нужно обратиться по почте master1c8x@mail.ru
Полный список дополнительных отчетов, обработок и расширений можно посмотреть здесь
Автор жаден, тут не указан полный метод реализации, только 70%. Остальное без проблем можно найти на инфостарте.