
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
 
#Область ПрограммныйИнтерфейс

Процедура ПередЗаписью(Отказ)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;

	Имя = СтрЗаменить(Имя, " ", "");
	
	Если Не ЗначениеЗаполнено(Синоним) Тогда
		Синоним = УДК_СтроковыеФункцииКлиентСервер.ТекстИзCamelCaseСтроки(Имя);
	КонецЕсли;

	ПроверитьНаличиеДубликатовПередЗаписью(Отказ);	
	
КонецПроцедуры

Процедура ПриЗаписи(Отказ)
	// Вставить содержимое обработчика.
КонецПроцедуры

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
	УДК_РаботаСОбъектамиМетаданных.ПроверитьИмяОбъектаНаКорректность(ЭтотОбъект, Отказ);
КонецПроцедуры

#КонецОбласти
 
#Область ОбработчикиСобытий
 
#КонецОбласти
 
#Область СлужебныйПрограммныйИнтерфейс
 
#КонецОбласти
 
#Область СлужебныеПроцедурыИФункции

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

#КонецОбласти
 
#Область Инициализация
 
#КонецОбласти
 
#КонецЕсли
