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