ВыполнитьРегламентноеЗаданиеВручную (БСП)

Автор: 1С
ОбщийМодуль.РегламентныеЗаданияСлужебный
БСП

Выполнить регламентное задание вручную. Предназначена для "ручного" немедленного выполнения процедуры регламентного задания

// Предназначена для "ручного" немедленного выполнения процедуры регламентного задания
// либо в сеансе клиента (в файловой ИБ), либо в фоновом задании на сервере (в серверной ИБ).
// Применяется в любом режиме соединения.
// Ручной режим запуска не влияет на выполнение регламентного задания по аварийному
// и основному расписаниям, т.к. не указывается ссылка на регламентное задание у фонового задания.
// Тип ФоновоеЗадание не допускает установки такой ссылки, поэтому для файлового режима применяется
// тоже правило.
// 
// Параметры:
//  Задание             - РегламентноеЗадание, Строка - уникального идентификатора РегламентногоЗадания.
//
// Возвращаемое значение:
//  Структура - со свойствами
//    * МоментЗапуска -   Неопределено, Дата - для файловой ИБ устанавливает переданный момент, как момент запуска
//                        метода регламентного задания.
//                        Для серверной ИБ - возвращает момент запуска фонового задания по факту.
//    * ИдентификаторФоновогоЗадания - Строка - для серверной ИБ возвращает идентификатор запущенного фонового задания.
//
Функция ВыполнитьРегламентноеЗаданиеВручную(Знач Задание) Экспорт
	
	ВызватьИсключениеЕслиНетПраваАдминистрирования();
	УстановитьПривилегированныйРежим(Истина);
	
	ПараметрыВыполнения = ПараметрыВыполненияРегламентногоЗадания();
	ПараметрыВыполнения.ПроцедураУжеВыполняется = Ложь;
	Задание = РегламентныеЗаданияСервер.ПолучитьРегламентноеЗадание(Задание);
	
	ПараметрыВыполнения.ЗапускВыполнен = Ложь;
	СвойстваПоследнегоФоновогоЗадания = СвойстваПоследнегоФоновогоЗаданияВыполненияРегламентногоЗадания(Задание);
	
	Если СвойстваПоследнегоФоновогоЗадания <> Неопределено
	   И СвойстваПоследнегоФоновогоЗадания.Состояние = СостояниеФоновогоЗадания.Активно Тогда
		
		ПараметрыВыполнения.МоментЗапуска  = СвойстваПоследнегоФоновогоЗадания.Начало;
		Если ЗначениеЗаполнено(СвойстваПоследнегоФоновогоЗадания.Наименование) Тогда
			ПараметрыВыполнения.ПредставлениеФоновогоЗадания = СвойстваПоследнегоФоновогоЗадания.Наименование;
		Иначе
			ПараметрыВыполнения.ПредставлениеФоновогоЗадания = ПредставлениеРегламентногоЗадания(Задание);
		КонецЕсли;
	Иначе
		НаименованиеФоновогоЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запуск вручную: %1'"), ПредставлениеРегламентногоЗадания(Задание));
		// Не используются длительные операции, т.к. делается вызов метода регламентного задания.
		ФоновоеЗадание = ФоновыеЗадания.Выполнить(Задание.Метаданные.ИмяМетода, Задание.Параметры, Строка(Задание.УникальныйИдентификатор), НаименованиеФоновогоЗадания);
		ПараметрыВыполнения.ИдентификаторФоновогоЗадания = Строка(ФоновоеЗадание.УникальныйИдентификатор);
		ПараметрыВыполнения.МоментЗапуска = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗадание.УникальныйИдентификатор).Начало;
		ПараметрыВыполнения.ЗапускВыполнен = Истина;
	КонецЕсли;
	
	ПараметрыВыполнения.ПроцедураУжеВыполняется = НЕ ПараметрыВыполнения.ЗапускВыполнен;
	Возврат ПараметрыВыполнения;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ВыполнитьОбработкуПоРегламентномуЗаданию (БСП)

ВыполнитьОбменДаннымиПоРегламентномуЗаданию (БСП)

ЗаданиеВыгрузка (БСП)

ЗаданиеЗагрузка (БСП)

РегламентноеЗаданиеИспользуется (БСП)

РасписаниеРегламентногоЗадания (БСП)

УстановитьИспользованиеРегламентногоЗадания (БСП)

УстановитьРасписаниеРегламентногоЗадания (БСП)

ПредставлениеРегламентногоЗадания (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз