Обращение сотрудника / Действие выполнить / Модуль формы

файл

#Область ОбработчикиСобытийФормы

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	БизнесПроцессыИЗадачиКлиент.ОбновитьДоступностьКомандПринятияКИсполнению(ЭтотОбъект);
	
	// СтандартныеПодсистемы.РаботаСФайлами
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.РаботаСФайлами
		
КонецПроцедуры

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
	Если Не ЗавершениеРаботы Тогда
		ПередЗакрытиемНаСервере();
	КонецЕсли;
КонецПроцедуры

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

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	БизнесПроцессыИЗадачиКлиент.ФормаЗадачиОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
	Если ИмяСобытия = "Запись_Задание" Тогда
		Если (Источник = Объект.БизнесПроцесс ИЛИ (ТипЗнч(Источник) = Тип("Массив") 
			И Источник.Найти(Объект.БизнесПроцесс) <> Неопределено)) Тогда
			Прочитать();
		КонецЕсли;
	ИначеЕсли ИмяСобытия = "ШаблонОтветаЗаписанСправочник" Тогда
		Если (Источник = ЭтотОбъект) Тогда
			ШаблонОтвета = Параметр;
			Элементы.ШаблонОтвета.Видимость = Истина;
			ШаблонОтветаПриИзмененииНаСервере();
		КонецЕсли;
	ИначеЕсли ИмяСобытия = "ЗаписьПечатныхФормСЭЦП" Тогда
		ОтветПоЗаявке = Задание.ОтветПоЗаявке;
		Комментарий = Задание.Комментарий;
		Прочитать();
		ПоместитьДанныеИзБуфера(ОтветПоЗаявке, Комментарий);
	КонецЕсли;
	
	// СтандартныеПодсистемы.РаботаСФайлами
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.РаботаСФайлами
	
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	
	ИнициализироватьФормуЗадачи();
	Элементы.Содержание.Заголовок = ЗаданиеСодержание;
	
	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеДоступом

	БизнесПроцессыЗаявокСотрудниковФормы.УстановитьОтображениеПоляОбращенияСотрудника(
		ЭтотОбъект, ТекущийОбъект.БизнесПроцесс);
	
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	// Конец СтандартныеПодсистемы.УправлениеДоступом	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ШаблонОтветаПриИзменении(Элемент)
	ШаблонОтветаПриИзмененииНаСервере();	
КонецПроцедуры

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	КонецЕсли;	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
			ПараметрыПеретаскивания, СтандартнаяОбработка);
	КонецЕсли;	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
			ПараметрыПеретаскивания, СтандартнаяОбработка);
	КонецЕсли;	
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

&НаКлиенте
Процедура СтраницыФормыПриСменеСтраницы(Элемент, ТекущаяСтраница)
	
	Если ТекущаяСтраница = Элементы.ОбращенияСотрудникаСтраница Тогда
		БизнесПроцессыЗаявокСотрудниковКлиент.УстановитьДокументОбращенияСотрудника(ЭтотОбъект);
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура ВыполненоВыполнить(Команда)
	Если ПодписыватьЗаявкиСотрудника Тогда
		БизнесПроцессыЗаявокСотрудниковКлиент.ПодписатьЗаявкуЭП(ЭтотОбъект, "ВыполненоВыполнитьЗавершение");
	Иначе
		ВыполненоВыполнитьЗавершение(Неопределено, Неопределено);
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Отказать(Команда)
	
	Отказ = Ложь;
	ОтказатьНаСервере(Отказ);
	Если Отказ Тогда
		Возврат;
	КонецЕсли;

	Если ПодписыватьЗаявкиСотрудника Тогда
		БизнесПроцессыЗаявокСотрудниковКлиент.ПодписатьЗаявкуЭП(ЭтотОбъект, "ОтказатьЗавершение");
	Иначе
		ОтказатьЗавершение(Неопределено, Неопределено);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура Дополнительно(Команда)
	БизнесПроцессыИЗадачиКлиент.ОткрытьДопИнформациюОЗадаче(Объект.Ссылка);	
КонецПроцедуры

&НаКлиенте
Процедура ПринятьКИсполнению(Команда)
	БизнесПроцессыЗаявокСотрудниковКлиент.ПринятьЗадачуКИсполнению(ЭтотОбъект, ТекущийПользователь);
	УстановитьДоступностьКнопокДействий();
КонецПроцедуры

&НаКлиенте
Процедура ОтменитьПринятиеКИсполнению(Команда)
	БизнесПроцессыИЗадачиКлиент.ОтменитьПринятиеЗадачиКИсполнению(ЭтотОбъект);
	Прочитать();
	БизнесПроцессыИЗадачиКлиент.ОбновитьДоступностьКомандПринятияКИсполнению(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура ИзменитьЗадание(Команда)
	Если Модифицированность Тогда
		Записать();
	КонецЕсли;	
	ПоказатьЗначение(,Объект.БизнесПроцесс);	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыбратьФайлОтвета(Команда)
	
	Обработчик = Новый ОписаниеОповещения("ЗавершениеВыбратьФайлОтвета", ЭтотОбъект);
	
	ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
	ПараметрыЗагрузки.Диалог.Фильтр = 
		НСтр("ru = 'Файлы MS Word (*.doc;*.docx)|*.doc;*.docx|Файлы PDF(*.pdf;*.PDF)|*.pdf;*.PDF|
			 |Архив (*.zip;*.rar;*.7z)|*.zip;*.rar;*.7z'");

	ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;

	ФайловаяСистемаКлиент.ЗагрузитьФайл(Обработчик, ПараметрыЗагрузки);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_УдалитьФайлНажатие(Элемент)
	ОписаниеОповещения = Новый ОписаниеОповещения("УдалитьПрисоединенныйФайлЗавершение", ЭтотОбъект);
	ПоказатьВопрос(ОписаниеОповещения, НСтр("ru = 'Справка будет удалена. Удалить?'"), РежимДиалогаВопрос.ДаНет);	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ФайлНажатие(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ОткрытьПрисоединенныйФайл(ЭтотОбъект[Элемент.Имя]);	
КонецПроцедуры

&НаКлиенте
Процедура СохранитьШаблонОтвета(Команда)
	БизнесПроцессыЗаявокСотрудниковКлиент.СохранитьШаблонОтвета(ЭтотОбъект);
КонецПроцедуры

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда
		МодульРаботаСФайламиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РаботаСФайламиКлиент");
		МодульРаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ЗаписатьИЗакрытьВыполнить()
	БизнесПроцессыИЗадачиКлиент.ЗаписатьИЗакрытьВыполнить(ЭтотОбъект);	
КонецПроцедуры

// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#Область СерверныеОбработчикиСобытийФормы

&НаСервере
Процедура ПередЗакрытиемНаСервере()
	РазблокироватьДанныеДляРедактирования(Объект.Ссылка, УникальныйИдентификатор);	
КонецПроцедуры

#КонецОбласти

#Область СерверныеОбработчикиСобытийЭлементовШапкиФормы

&НаСервере
Процедура ШаблонОтветаПриИзмененииНаСервере()
	БизнесПроцессыЗаявокСотрудниковФормы.ПослеВыбораШаблона(ЭтотОбъект, ШаблонОтвета, Неопределено);
КонецПроцедуры

#КонецОбласти

#Область СерверныеОбработчикиКомандФормы

&НаСервере
Процедура ОтказатьНаСервере(Отказ)
	Если ПустаяСтрока(Задание.ОтветПоЗаявке)
		 И КабинетСотрудника.ИспользоватьФормат302() Тогда
		ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не заполнена причина отказа.'"));
		Отказ = Истина;
		Возврат;
	КонецЕсли;
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиОповещения

&НаКлиенте
Процедура ВыполненоВыполнитьЗавершение(Результат, ДополнительныеПараметры) Экспорт
	БизнесПроцессыЗаявокСотрудниковКлиент.ВыполненоВыполнитьЗавершение(ЭтотОбъект, Результат, ДополнительныеПараметры);
КонецПроцедуры

&НаКлиенте
Процедура ОтказатьЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	Если Результат <> Неопределено
		 И Результат.Свойство("Отказ")
		 И Результат.Отказ Тогда
		Возврат;
	КонецЕсли;
	
	Отказ = Ложь;
	ОтказатьЗавершениеНаСервере(Отказ);
	Если Отказ Тогда
		Возврат;
	КонецЕсли;	
	
	БизнесПроцессыИЗадачиКлиент.ЗаписатьИЗакрытьВыполнить(ЭтотОбъект, Истина);

КонецПроцедуры	

&НаКлиенте
Процедура УдалитьПрисоединенныйФайлЗавершение(Результат, ДополнительныеПараметры) Экспорт
	Если Результат = КодВозвратаДиалога.Да Тогда
		УдалитьПрисоединенныйФайлЗавершениеНаСервере();
	КонецЕсли;
КонецПроцедуры

#КонецОбласти

#Область РаботаСФайлами

&НаКлиенте
Процедура ОткрытьПрисоединенныйФайл(ПрисоединенныйФайл)
	БизнесПроцессыЗаявокСотрудниковКлиент.ОткрытьПрисоединенныйФайл(ЭтотОбъект, ПрисоединенныйФайл);	
КонецПроцедуры

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

#КонецОбласти

&НаСервере
Процедура ИнициализироватьФормуЗадачи()
	
	БизнесПроцессыЗаявокСотрудниковФормы.ИнициализироватьФормуЗадачи(ЭтотОбъект);
	ИспользуетсяЭДОБЗК = ПолучитьФункциональнуюОпцию("ИспользуетсяЭДОБЗККабинетСотрудника");
	
	Элементы.Содержание.Заголовок = ЗаданиеСодержание;
	Элементы.Содержание.Видимость = НЕ (ЗаданиеСодержание = "");
	Элементы.ГруппаОбращениеСотрудника.Заголовок = НазваниеСправки(Задание.ШаблонДокумента);
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Объект.БизнесПроцесс);
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ОбращениеСотрудникаРеквизитыДокумента.Имя КАК Имя,
		|	ОбращениеСотрудникаРеквизитыДокумента.Представление КАК Представление,
		|	ОбращениеСотрудникаРеквизитыДокумента.Значение КАК Значение,
		|	ОбращениеСотрудникаРеквизитыДокумента.ЗначениеВторое КАК ЗначениеВторое
		|ИЗ
		|	БизнесПроцесс.ОбращениеСотрудника.РеквизитыДокумента КАК ОбращениеСотрудникаРеквизитыДокумента
		|ГДЕ
		|	ОбращениеСотрудникаРеквизитыДокумента.Ссылка = &Ссылка
		|
		|УПОРЯДОЧИТЬ ПО
		|	ОбращениеСотрудникаРеквизитыДокумента.НомерСтроки";
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		НоваяСтрока = РеквизитыДокумента.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
		Если ЗначениеЗаполнено(Выборка.ЗначениеВторое) Тогда
			НоваяСтрока.Значение = Новый СтандартныйПериод(НоваяСтрока.Значение, Выборка.ЗначениеВторое);
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

&НаСервере
Процедура ОтказатьЗавершениеНаСервере(Отказ)
	
	БизнесПроцессыЗаявокСотрудниковФормы.ОтказатьБизнесПроцессЗаявки(Задание.Ссылка, СостояниеЗапроса, Исполнитель);
	
	Если ЗначениеЗаполнено(Комментарий) Тогда
		Объект.РезультатВыполнения = Комментарий;
	Иначе
		Объект.РезультатВыполнения = НСтр("ru = 'Отказ'");
	КонецЕсли;
	
	ЗаданиеВыполнено = Истина;

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

&НаСервере
Процедура УстановитьДоступностьКнопокДействий()
	
	Действия = Новый Массив;
	Действия.Добавить("Выполнено");
	Действия.Добавить("Отказать");
	Действия.Добавить("СформироватьФайл");
	Действия.Добавить("ПодписатьЭП");
	Действия.Добавить("ВыбратьФайл");
	Действия.Добавить("Распечатать");
	
	ДоступностьДействий = РеквизитФормыВЗначение("Задание").ДоступностьДействий(Действия, ЭтотОбъект);
	
	Элементы.Выполнено.Доступность 			= ДоступностьДействий["Выполнено"];
	Элементы.Отказать.Доступность			= ДоступностьДействий["Отказать"];
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция НазваниеСправки(ШаблонДокумента) 
	
	Если Не ЗначениеЗаполнено(ШаблонДокумента) Тогда
		Возврат НСтр("ru = 'Обращение сотрудника'");
	КонецЕсли;
	
	ПредставлениеСправки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ШаблонДокумента, "Наименование");
	ПредставлениеСправки = НРег(Лев(ПредставлениеСправки, 1)) + Прав(ПредставлениеСправки, СтрДлина(ПредставлениеСправки)-1);
	
	Возврат СтрШаблон(НСтр("ru = 'Обращение (%1)'"), ПредставлениеСправки);
	
КонецФункции

&НаСервере
Процедура ПоместитьДанныеИзБуфера(ОтветПоЗаявке, Комментарий)
	ЗаданиеОбъект = РеквизитФормыВЗначение("Задание");
	ЗаданиеОбъект.ОтветПоЗаявке = ОтветПоЗаявке;
	ЗаданиеОбъект.Комментарий = Комментарий;
	ЗначениеВРеквизитФормы(ЗаданиеОбъект, "Задание");
КонецПроцедуры

#КонецОбласти

Связанные материалы