gifts2017

Округление доплат за вечерние и ночные часы

Опубликовал q_i в раздел Обработки - Обработка документов

Бухгалтерии не понравилось как ЗУП округляет доплаты за вечерние и ночные часы. Пришлось нарисовать простенькую "округлялку" (обработку заполнения табличных частей). Вдруг кому пригодится.

Например, сотруднику установлена Тарифная часовая ставка = 233.49, он отработал 80 часов, в т.ч. 20 ночных и 8 вечерних.

ЗУП считатает:

  1. Оплата по часовому тарифу = 233.49 * 80 = 18679.20 (претензий нет).
  2. Доплата за ночные часы (20%) = 233.49 * 20% * 20 = 933.36 (при этом в документе начисления з/п по этому виду расчета показывает Тарифная ставка = 46.70; бухгалтерия хочет чтобы было 46.70 * 20 = 934).
  3. Доплата за вечерние часы (10%) = 233.49 * 10% * 8 = 186.79 (при этом в документе начисления з/п по этому виду расчета показывает Тарифная ставка = 23.35; бухгалтерия хочет чтобы было 23.35 * 8 = 186.80).

Создаём новую внешнюю обработку и в модуль обработки вставляем код:

Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт 
	
	ТабЧасть = Объект[ИмяТабличнойЧасти];
	
	ОбрабатываемыеВидыРасчетов = Новый Массив;
	ОбрабатываемыеВидыРасчетов.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ДоплатаЗаВечерниеЧасы);
	ОбрабатываемыеВидыРасчетов.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ДоплатаЗаНочныеЧасы);
	
	Для Каждого СтрокаТЧ Из ТабЧасть Цикл
		
		Если ОбрабатываемыеВидыРасчетов.Найти(СтрокаТЧ.ВидРасчета) = Неопределено Тогда
			Продолжить;
		КонецЕсли; 
		
		СтарыйПоказатель1		= СтрокаТЧ.Показатель1;
		СтарыйРезультат			= СтрокаТЧ.Результат;		
		НовыйПоказатель1		= Окр(СтарыйПоказатель1, 2);
		НовыйРезультат			= Окр(НовыйПоказатель1 * СтрокаТЧ.ОплаченоДнейЧасов, 2);
		
		ТекстСообщения	= "В строке " + СтрокаТЧ.НомерСтроки 
						+ " (Сотрудник = " + СтрокаТЧ.Сотрудник 
						+ ", Вид расчета = " + СтрокаТЧ.ВидРасчета + "): ";
		Сообщить(ТекстСообщения, СтатусСообщения.Информация);
		
		БылиИзменения = Ложь;				
		
		Если СтарыйПоказатель1 <> НовыйПоказатель1 Тогда
			СтрокаТЧ.Показатель1 = НовыйПоказатель1;	
			ТекстСообщения = " - Показатель1 (" + СтарыйПоказатель1 + ") округлен до " + НовыйПоказатель1;
			Сообщить(ТекстСообщения, СтатусСообщения.БезСтатуса);
			БылиИзменения = Истина;
		КонецЕсли; 
		
		Если СтарыйРезультат <> НовыйРезультат Тогда
			СтрокаТЧ.Результат = НовыйРезультат;	
			ТекстСообщения = " - Результат (" + СтарыйРезультат + ") пересчитан как " + НовыйРезультат;
			Сообщить(ТекстСообщения, СтатусСообщения.БезСтатуса);
			БылиИзменения = Истина;
		КонецЕсли; 
		
		Если НЕ БылиИзменения Тогда
			Сообщить(" - Всё ОК", СтатусСообщения.БезСтатуса);
		КонецЕсли; 
		
	КонецЦикла;
	
КонецПроцедуры

Обработка готова.

 

Для ленивых прилагается готовый файл.

Подключение

Заходим в Сервис / Дополнительные отчеты и обработки / Дополнительные внешние обработки табличных частей, добавляем новый элемент, жмём кнопку с изображением папки, выбираем прилагаемый файл ЗТЧ_ОкруглДоплатыЗаВечернНочнЧасы.epf (предварительно его нужно куда-нибудь сохранить к себе на диск), соглашаемся с использованием параметров авторегистрации, записываем созданный элемент:

 

 

Использование

Как обычно заполняем и рассчитываем документ "Начисление заработной платы сотрудникам организаций". Затем запускаем обработку через Заполнить / Округл. доплаты за вечерн./ночн. часы:

В окне сообщений будет выведен протокол работы.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ЗТЧ_ОкруглДоплатыЗаВечернНочнЧасы.epf.7z
.7z 2,76Kb
05.02.13
23
.7z 2,76Kb 23 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Ольга (PatriziaRossi) 11.02.13 13:03
Интересная штука, а как сделать, чтоб подобным образом обработать другое начисление, Оплату по часовому тарифу? вот допустим есть тариф 82,240 и часы 115, ЗУП считает 9457,60. все верно, но мне надо, чтоб ЗУП округлили эту выплату до 6458.


Все! дошла своим ходом, все получилось так, как мне и надо было, огромное спасибо
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа