Собственные регламентные задания в расширении

Печать (Ctrl+P)

В каждой редакции технологической платформы 1С появляются новые возможности расширения. Эти возможности описаны в документации платформы и можно кратко посмотреть здесь.

На сегодняшний день в расширении конфигурации не поддерживается создание собственных объектов Регламентные задания и приходиться не стандартным способом создавать собственные регламентные задания.

Я создал шаблонное расширение, которое позволяет не стандартным способом создавать собственные регламентные задание и настроить расписание в расширении конфигурации, использующей стандартные подсистемы БСП Регламентные задания и  Дополнительные отчеты и обработки.

Название собственных регламентных заданий я храню в объекте перечисления , а их параметры – регистре сведений.

В данном шаблоне расширения я описываю регламентные задания , связанные с обменом 1С и RetailCRM. В перечислении rCrm_ВидыОбмена я храню значения двух видов обмена : Получить Заказы из rCrm и Обновить свойство заказов на сайте RetailCRM (см рис 1 )

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

Измерения ВидОбмена – это ссылка на перечисление rCrm_ВидыОбмена . Ресурсы регистр – это параметры обмена. В данном случае я использую 2 : ИспользоватьРасписание типа булево и ИдентификаторРегламентногоЗадания типа УникальныйИдентификатор.

Идентификатор регламентного Задания – это Идентификатор ссылки на задание и создается при записи регистра сведения программным путем .

Для работы с регламентными заданиями в расширении конфигурации со стандартными подсистемами БСП нужно добавить в расширении общий модуль ДополнительныеОтчетыИОбработки и регламентной задание ЗапускДополнительныхОбработок ( см рис 3)

В расширении нужно изменить процедуру ВыполнитьОбработкуПоРегламентномуЗаданию с помощью анотации &Вместо :

&Вместо("ВыполнитьОбработкуПоРегламентномуЗаданию")
Процедура rCRM_ВыполнитьОбработкуПоРегламентномуЗаданию(ВнешняяОбработка, ИдентификаторКоманды)

	Если ТипЗнч(ИдентификаторКоманды) = Тип("ПеречислениеСсылка.rCRM_ВидыОбмена")  Тогда
		
rCRM_ОбщийМодуль.ОбменПоРасписанию(ИдентификаторКоманды);
		
	Иначе

		ПродолжитьВызов(ВнешняяОбработка, ИдентификаторКоманды);
		
	КонецЕсли;	
КонецПроцедуры

Важно! Расширение нужно подключать в обычном безопасном режиме потому, что используется аннотированный серверный метод К аннотированным серверным методам модулей расширение применяться не будет  безопасном режиме .

В теле этого аннотированного серверного метода вызывается процедура выполнения обмена :

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

 ИначеЕсли ИдентификаторКоманды = Перечисления.rCRM_ВидыОбмена.ПолучитьЗаказы ТОгда
 
	 ПолучитьЗаказы();
	 
 КонецЕсли; 
	
КонецПроцедуры

После подключения расширения появляется раздел

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

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

Следует отметить что, это не самостоятельная внешняя  обработка, а реализованный пример механизм создания собственных регламентных заданий в расширений.  Расширение предназначена  для разработчиков целю внедрения механизма  в прикладных   расширениях.  Например.  Я  продемонстрировал здесь механизм собственных регламентных заданий  в модуле интеграции с CRM Retail  в расширении  

Стоимость расширения 4000 р. Для ее приобретения нужно обратиться по почте master1c8x@mail.ru

Полный список дополнительных отчетов, обработок и расширений можно посмотреть здесь

Previous Article
Next Article

One Reply to “Собственные регламентные задания в расширении”

  1. Алексей

    Автор жаден, тут не указан полный метод реализации, только 70%. Остальное без проблем можно найти на инфостарте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.