Регламентное зада

1. Nastya_R 20.01.20 14:02 Сейчас в теме
Добрый день! Подскажите, пожалуйста. Появилась необходимость в создании регламентного задания в расширении, но так как там нельзя создать такой объект возникает вопрос, можно ли программно это осуществить? Заранее спасибо)
По теме из базы знаний
Найденные решения
9. VmvLer 20.01.20 14:53 Сейчас в теме
(8) модуль объекта внешней обработки

// Пример, поменяйте Представление, Идентификатор и 
//метод(с потрохами) ОбработкаУвольненийИзУпрОргПоРасписанию() на свой.  

Функция СведенияОВнешнейОбработке() Экспорт
	
	ЭтотОбъектИмя = ЭтотОбъект.Метаданные().Имя;
	ЭтотОбъектСин = ЭтотОбъект.Метаданные().Представление(); // Синоним
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.3.109"); // Версия БСП 
	
	ПараметрыРегистрации.Вставить("Версия", "2811190707"); // ДД-ММ-ГГ-НомерФайла-НомерВерсииФайла
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Наименование = ЭтотОбъектСин;
	ПараметрыРегистрации.Информация = ЭтотОбъектСин;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Обработка увольнений из управленческой организации (по расписанию)";
	Команда.Идентификатор = "ОбработкаУвольненийИзУпрОргПоРасписанию";  // Срока, уникальная в пределах данной обработки
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	Команда.ПоказыватьОповещение = Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Обработка увольнений из управленческой организации (ручной режим)";
	Команда.Идентификатор = "ОбработкаУвольненийИзУпрОргРучнойРежим";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Истина;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

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

#КонецОбласти


#Область ОбработкаУвольненийИзУпрОргПоРасписанию

Процедура ОбработкаУвольненийИзУпрОргПоРасписанию() Экспорт
	
	// Действия аналогичные команде формы "ЗаполнитьТаблицу"
	АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);
	ЗаполнитьТаблицу_ТзПоместитьВХранилище(ЗаполнитьТаблицу_ПолучитьПараметрыМетода(Истина), АдресРезультата);
	ЗагрузитьИзХранилищаВТчОбъекта(ТаблицаДанных, АдресРезультата); // ТаблицаДанных - табличная часть объекта.
	
	// Действия аналогичные команде формы "СоздатьПриказы"
	АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);
	СоздатьПриказы(СоздатьПриказы_ПолучитьПараметрыМетода(Истина), АдресРезультата);
	
КонецПроцедуры 

//... тут потроха
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 20.01.20 14:07 Сейчас в теме
так как там нельзя создать такой объект
- ответ вы сами дали
но никто не запретит найти решение с тыла или как говорят опытные разработчики - методом ректального маневра.
5. Nastya_R 20.01.20 14:41 Сейчас в теме
(2) Например? Просто у меня не осталось никаких идей)
3. Гарин 1 20.01.20 14:13 Сейчас в теме
Еще можно в дополнительных обработках задать расписание авто запуска
4. Nastya_R 20.01.20 14:39 Сейчас в теме
(3) расписание авто запуска чего? если я не могу в принципе создать РЗ
6. Гарин 1 20.01.20 14:43 Сейчас в теме
(4)в механизме дополнительных обработок РЗ создается программным способом, для обработки можно указать расписание, по которому она будет запускаться
7. VmvLer 20.01.20 14:44 Сейчас в теме
(4) Создаете допобработку, добавляете ее в справочник доп. обработок и вот в элементе можно настроить расписание, а функционал БСП будет его соблюдать.
8. Nastya_R 20.01.20 14:52 Сейчас в теме
А не мог бы кто-нибудь скинуть какой-нибудь пример?)
9. VmvLer 20.01.20 14:53 Сейчас в теме
(8) модуль объекта внешней обработки

// Пример, поменяйте Представление, Идентификатор и 
//метод(с потрохами) ОбработкаУвольненийИзУпрОргПоРасписанию() на свой.  

Функция СведенияОВнешнейОбработке() Экспорт
	
	ЭтотОбъектИмя = ЭтотОбъект.Метаданные().Имя;
	ЭтотОбъектСин = ЭтотОбъект.Метаданные().Представление(); // Синоним
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.3.109"); // Версия БСП 
	
	ПараметрыРегистрации.Вставить("Версия", "2811190707"); // ДД-ММ-ГГ-НомерФайла-НомерВерсииФайла
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Наименование = ЭтотОбъектСин;
	ПараметрыРегистрации.Информация = ЭтотОбъектСин;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Обработка увольнений из управленческой организации (по расписанию)";
	Команда.Идентификатор = "ОбработкаУвольненийИзУпрОргПоРасписанию";  // Срока, уникальная в пределах данной обработки
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	Команда.ПоказыватьОповещение = Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Обработка увольнений из управленческой организации (ручной режим)";
	Команда.Идентификатор = "ОбработкаУвольненийИзУпрОргРучнойРежим";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Истина;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

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

#КонецОбласти


#Область ОбработкаУвольненийИзУпрОргПоРасписанию

Процедура ОбработкаУвольненийИзУпрОргПоРасписанию() Экспорт
	
	// Действия аналогичные команде формы "ЗаполнитьТаблицу"
	АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);
	ЗаполнитьТаблицу_ТзПоместитьВХранилище(ЗаполнитьТаблицу_ПолучитьПараметрыМетода(Истина), АдресРезультата);
	ЗагрузитьИзХранилищаВТчОбъекта(ТаблицаДанных, АдресРезультата); // ТаблицаДанных - табличная часть объекта.
	
	// Действия аналогичные команде формы "СоздатьПриказы"
	АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);
	СоздатьПриказы(СоздатьПриказы_ПолучитьПараметрыМетода(Истина), АдресРезультата);
	
КонецПроцедуры 

//... тут потроха
Показать
10. Nastya_R 20.01.20 15:00 Сейчас в теме
(9) Спасибо! Добрый человек, подскажите, пожалуйста ещё как реализовать этот механизм без внешней обработки, то есть я хочу внедрить её в расширение. Внешнюю обработку я знаю как поставить на выполнение по расписанию, а внутреннюю?
11. VmvLer 20.01.20 15:13 Сейчас в теме
(10) https://its.1c.ru/db/v8316doc#bookmark:dev:TI000001923

36.1.3. Особенности и ограничения

В расширении конфигурации не поддерживается создание следующих собственных объектов:

● Общие реквизиты.

● Подписки на события.

● Регламентные задания.

● Определяемые типы.

● Хранилища настроек.

● Языки.

● Журналы документов.

● Бизнес-процессы и задачи.

● Внешние источники данных.
Показать


т.е. четко сказано, что в последних платформах и в перспективе механизм регл. задний не планируют к реализации в расширениях.
посему или используйте костыль с внешними обработками или ...ничего.
Что мешает в пакет к вашему расширению цеплять еще и файл внешней обработки и при добавлении расширения заказчиком - писать эту внешнюю обработку в справочник доп. обработок?
Да, приятно когда все в одном флаконе, но не в этом случае.
12. Nastya_R 20.01.20 15:18 Сейчас в теме
(11) Потому что расширение не для одного клиента, а для нескольких сотен, и цеплять вдобавок обработку не айс. И тем не менее спасибо за ответы
13. alex-l19041 8 20.01.20 16:07 Сейчас в теме
(12) если добавите рег задание в основную конфигурацию, то это не будет мешать обновлениям... почему бы и нет...
14. Nastya_R 20.01.20 16:15 Сейчас в теме
(13) Конфигурации категорически нельзя снимать с замка
15. ganjaman 21.01.20 02:24 Сейчас в теме
(10) ну так прицепить внешнюю обработку бинарным макетом, а в расширении ее сохранить уже и прицеплять автоматом, предварительно проверив не прицеплена ли она уже
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот