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