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