НачатьВыгрузку (БСП)

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

Начать выгрузку. Инициализирует выгрузку.

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

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

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

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

НачатьПодписание_ПослеВыгрузкиСертификатаКриптографии (БСП)

ЗарегистрироватьДанныеПоДатеНачалаВыгрузкиИОрганизациям (БСП)

НачатьСклонение (БСП)

ПредметНачалоВыбора (БСП)

НачатьЗагрузку (БСП)

ПредставлениеНачалоВыбораЗавершение (БСП)

ПродолжитьОткрытиеНачало (БСП)

НачатьРегистрациюРезультатаВыполненияОперации (БСП)

ЗаписатьСобытиеНачалоОбработки (БСП)

1С Менеджер конфигураций