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