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