Добрый день!
Есть регламентное задание. Если поставить галочку "Предопределенное" то все норм работает.
Не могу найти как запустить программно его же, если голочка "Предопределенное" не установлена.
Нашел вот:http://programmist1s.ru/1s-nastroyka-reglamentnyih-i-fonovyih-zadaniy/
тут написано: "Предопределенное – указывает, является ли регламентное задание предопределенным. Если хотите что бы регламентное задание заработало сразу после помещения в БД, укажите этот признак. В противном случае вам необходимо будет использовать обработку “Консоль заданий” или вызывать запуск задания программно."
Как произвести программный запуск такого регламентного задания. клиент-сервер
Есть регламентное задание. Если поставить галочку "Предопределенное" то все норм работает.
Не могу найти как запустить программно его же, если голочка "Предопределенное" не установлена.
Нашел вот:
тут написано: "Предопределенное – указывает, является ли регламентное задание предопределенным. Если хотите что бы регламентное задание заработало сразу после помещения в БД, укажите этот признак. В противном случае вам необходимо будет использовать обработку “Консоль заданий” или вызывать запуск задания программно."
Как произвести программный запуск такого регламентного задания. клиент-сервер
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
можно так:
Отб = Новый Структура;
ИмяРЗ = "Дополнительная обработка: ПроверкаВыполненияОбмена / Команда: ПроверкаВыполненияОбмена";
Отб.Вставить("Наименование", ИмяРЗ);
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отб);
Если Задания.Количество()>0 тогда
Задание = Задания[0];
Иначе
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание("ЗапускДополнительныхОбработок");
КонецЕсли;
Задание.Использование = Истина;
Задание.Наименование = ИмяРЗ;
Расписание = Новый РасписаниеРегламентногоЗадания;
Расписание.ПериодНедель = 1;
МД = Новый Массив();
МД.Добавить(1);
МД.Добавить(2);
МД.Добавить(3);
МД.Добавить(4);
МД.Добавить(5);
МД.Добавить(6);
МД.Добавить(7);
Расписание.ДниНедели = МД;
Расписание.ДатаНачала = ТекущаяДата();
Расписание.ПериодПовтораВТечениеДня = 1800;
Расписание.ПериодПовтораДней = 1;
Задание.Расписание = Расписание;
ПарЗад = Новый Массив;
ПарЗад.Добавить(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("ПроверкаВыполненияОбмена"));
ПарЗад.Добавить("ПроверкаВыполненияОбмена");
Задание.Параметры = ПарЗад;
Задание.Записать();
Показать
(6)
Это создать!
а как запустить уже созданное ?
ФоновыеЗадания.Выполнить(<ИмяМетода>, <Параметры>, <Ключ>, <Наименование>);
этот метод не запускает задание которое живет тут "ЗапускДополнительныхОбработок"
Задание.Использование = Истина; Задание.Наименование = ИмяРЗ; Расписание = Новый РасписаниеРегламентногоЗадания; Расписание.ПериодНедель = 1; МД = Новый Массив(); МД.Добавить(1); МД.Добавить(2); МД.Добавить(3); МД.Добавить(4); МД.Добавить(5); МД.Добавить(6); МД.Добавить(7); Расписание.ДниНедели = МД; Расписание.ДатаНачала = ТекущаяДата(); Расписание.ПериодПовтораВТечениеДня = 1800; Расписание.ПериодПовтораДней = 1; Задание.Расписание = Расписание; ПарЗад = Новый Массив; ПарЗад.Добавить(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("ПроверкаВыполненияОбмена")); ПарЗад.Добавить("ПроверкаВыполненияОбмена"); Задание.Параметры = ПарЗад; Задание.Записать();
Это создать!
а как запустить уже созданное ?
ФоновыеЗадания.Выполнить(<ИмяМетода>, <Параметры>, <Ключ>, <Наименование>);
этот метод не запускает задание которое живет тут "ЗапускДополнительныхОбработок"
А программным кодом совсем ни как?
Стоит задача сделать в админке кнопку "Запустить\Остановить".
Собственно останавливать я научился а вот запускать ни как не найду. Это вообще возможно?
Конфигурация полностью самописная.
Стоит задача сделать в админке кнопку "Запустить\Остановить".
Собственно останавливать я научился а вот запускать ни как не найду. Это вообще возможно?
Конфигурация полностью самописная.
сори за некропостинг (это если нужно именно "дернуть" регламент , чтобы он запустился от имени того пользователя/параметрами что указан в регламенте. а не те что вы укажете в параметрах фонового задания):
Регламентное = Метаданные.РегламентныеЗадания.ИмяРегламента;
Задание = РегламентныеЗадания.НайтиПредопределенное(Регламентное);
Если Задание.Использование = Истина Тогда
Задание.Использование = Ложь;
Задание.Записать();
Задание.Использование = Истина;
Задание.Записать();
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот