Способы выплаты зарплаты / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Возвращает способ выплаты зарплаты по умолчанию
//
// Возвращаемое значение:
//  СправочникСсылка.СпособыВыплатыЗарплаты - способ выплаты зарплаты по умолчанию.
//
Функция ПоУмолчанию() Экспорт
	Возврат ОбщегоНазначения.ПредопределенныйЭлемент("Справочник.СпособыВыплатыЗарплаты.Зарплата");
КонецФункции	

#КонецОбласти

#Область ОбработчикиСобытий

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
	СпособыВыплатыЗарплатыВнутренний.ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

#Область ПервоначальноеЗаполнениеИОбновлениеИнформационнойБазы

Процедура НачальноеЗаполнение() Экспорт
	СпособыВыплатыЗарплатыВнутренний.НачальноеЗаполнение();
КонецПроцедуры

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

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

#КонецОбласти
	
#КонецОбласти

#КонецЕсли

Связанные материалы