ОбновитьНастройкиВерсионированияОбъектов (БСП)

Автор: 1С
ОбщийМодуль.ВерсионированиеОбъектов
БСП

Обновить настройки версионирования объектов. Выполняется при обновлении конфигурации.

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

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

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

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

ЗаписатьНастройкуВерсионированияПоОбъекту (БСП)

ПоказатьНастройку (БСП)

ВключеноВерсионированиеОбъекта (БСП)

ВключеноВерсионированиеОбъектов (БСП)

ОбновитьНастройкиXDTOКорреспондента (БСП)

ВключитьВерсионированиеОбъекта (БСП)

ВключитьВерсионированиеОбъектов (БСП)

ЗначениеФлажкаХранитьИсторию (БСП)

ОбновитьНастройкуДобавочногоНомераТелефона (БСП)

TurboConf 6 - расширение Конфигуратора 1С