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