ЗаполнитьДанныеРегистраВерсииКлассификаторовОбластейДанных

Автор: 1С
ОбщийМодуль.РаботаСКлассификаторами
БСП

Выполняет перенос данных из регистра сведений УдалитьВерсииКлассификаторовОбластейДанных

// Выполняет перенос данных из регистра сведений УдалитьВерсииКлассификаторовОбластейДанных
// в регистр сведений УдалитьВерсииКлассификаторовОбластейДанных.
//
Процедура ЗаполнитьДанныеРегистраВерсииКлассификаторовОбластейДанных(Параметры) Экспорт
	
	// Дозаписываем информацию о классификаторах в регистр
	// отложенном обновлении из областей данных.
	Если Не ОбщегоНазначения.РазделениеВключено()
		Или Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
		Возврат;
	КонецЕсли;
	
	УстановитьПривилегированныйРежим(Истина);
	
	ЗаписатьИнформациюВЖурналРегистрации(
		НСтр("ru = 'Перенос настроек в регистр сведений ВерсииКлассификаторовОбластейДанных. Начало обновления.'"),
		Ложь);
	
	НачатьТранзакцию();
	
	Попытка
		
		БлокировкаДанных = Новый БлокировкаДанных;
		ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("РегистрСведений.УдалитьВерсииКлассификаторовОбластейДанных");
		ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Исключительный;
		БлокировкаДанных.Заблокировать();
		
		// Регистр не содержит большое количество записей.
		Запрос = Новый Запрос;
		Запрос.Текст = 
			"ВЫБРАТЬ
			|	УдалитьВерсииКлассификаторовОбластейДанных.Идентификатор КАК Идентификатор,
			|	УдалитьВерсииКлассификаторовОбластейДанных.Версия КАК Версия
			|ИЗ
			|	РегистрСведений.УдалитьВерсииКлассификаторовОбластейДанных КАК УдалитьВерсииКлассификаторовОбластейДанных";
		
		РезультатЗапроса = Запрос.Выполнить();
		
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		
		ВерсииКлассификаторов = РегистрыСведений.ВерсииКлассификаторовОбластейДанных.СоздатьНаборЗаписей();
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			ЗаполнитьЗначенияСвойств(ВерсииКлассификаторов.Добавить(), ВыборкаДетальныеЗаписи);
		КонецЦикла;
		
		УдалитьВерсииКлассификаторов = РегистрыСведений.УдалитьВерсииКлассификаторовОбластейДанных.СоздатьНаборЗаписей();
		
		ВерсииКлассификаторов.Записать();
		УдалитьВерсииКлассификаторов.Записать();
		
		ЗафиксироватьТранзакцию();
	Исключение
		
		ОтменитьТранзакцию();
		ИнформацияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
		ЗаписатьИнформациюВЖурналРегистрации(ИнформацияОбОшибке, Истина);
		ВызватьИсключение ИнформацияОбОшибке;
		
	КонецПопытки;
	
	ЗаписатьИнформациюВЖурналРегистрации(
		НСтр("ru = 'Перенос настроек в регистр сведений ВерсииКлассификаторовОбластейДанных. Успешно завершено.'"),
		Ложь);
	
КонецПроцедуры

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

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

ОбновитьНастройкиРаботыСКлассификаторамиОбластейДанных (БСП)

ЗаблокироватьВерсииОбластиДанных (БСП)

РазблокироватьВерсииОбластиДанных (БСП)

ВыполнитьОбновлениеКлассификаторовВОбластяхДанных (БСП)

ЗапланироватьОбновлениеДанныхОбластей (БСП)