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