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