ИзменениеЗапрещено (БСП)

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

Изменение запрещено. См. ДатыЗапретаИзменения.ИзменениеЗапрещено.

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

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

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

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

ЗапрещеноОтображениеНебезопасногоСодержимогоВПисьмах (БСП)

ЗагрузкаЗапрещена (БСП)

ОповещениеОбИзменении (БСП)

ПриИзмененииРасписания (БСП)

Отслеживание изменений отбора

ЭтоАдресатЗапретаИзменения (БСП)

ОповещенияОбИзмененияхНеИспользуются (БСП)

ПриИзмененииДанныхАутентификации (БСП)

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