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