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