Доплата за период нахождения в командировке

18.02.15

Учетные задачи - Зарплата

Описание варианта создания расчета доплаты "за период нахождения в командировке" для документа "Начисление зарплаты работникам организаций".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Обработка для заполнения доплат
.epf 11,17Kb
26 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

По просьбам решил выложить свой способ расчета доплаты сотрудникам, в период нахождения их в командировке, если они заработали меньше чем работали бы без нее.

По скольку у каждой организации разновсяческие доплаты, премии, и пр. сделать универсальную обработку достаточно не легко, что бы она подошла всем. Но что бы было что нибудь - попробую описать что и где надо допиливать и переделывать что бы у вас тоже заработало мое предложение.

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

Собственно... После того как расчитаны командировачные (Оплата по среднему заработку) и расчитана зарплата со всеми премиями и надбавками, переходится в вкладку "Дополнительные начисления" и жмется "Заполнить->Расчет доп начислений за командировку"

Обработка собирает данные по сотрудникам, смотрит сколько он отработал бы без командировки, сравнивает суммы с командировкой и без и выводит результат.

А теперь про обработку...

За основу берется предопределенный элемент Планов видов расчета "Оплата по среднему заработку командировок" (00031), по которому расчитана у сотрудника командировка. Если у вас она не так называется - меняем называние в 18 стр.

Запрос.УстановитьПараметр("ВидРасчета",ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оплата по среднему заработку командировок"));

Далее с 118 стр. идет перебор всех видов расчета которые есть у сотрудников. Если они соответсвуют нашим отборам то они записываются в значения для дальнейшего расчета. Тут уже ваш выход и нужно будет немного поменять названия начислений и переменные куда они будут записываться. Сначало идут Основные начисления, затем по аналогии дополнительные

                                пСотрудникМесОклад 			= 0;
				пСотрудникРК 				= 0;
				пСотрудникСН 				= 0;
				пСотрудникДзС1_151 			= 0;
				пСотрудникДзС3_151Ф 		= 0;
				пСотрудникСекретность 		= 0;
				пСотрудникПзМесяц 			= 0;
				пСотрудникПерсНадб_56 		= 0; 
				пСотрудникПремияПерсНадб_74 = 0;
				
				Пока РезультатЗапроса3.Следующий() Цикл
					Область = Макет.ПолучитьОбласть("Строка");
					Область.Параметры.Сотрудник = РезультатЗапроса.Сотрудник;
					
					//Информативность ==================================
					//Сообщить(РезультатЗапроса.Сотрудник);
					Если РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням Тогда 
						пСотрудникМесОклад = РезультатЗапроса3.Результат;
						Область.Параметры.Вид = "Оклад";
						Область.Параметры.Число = пСотрудникМесОклад;
						
						//Информативность ==================================
						//Сообщить("пСотрудникМесОклад="+""+пСотрудникМесОклад);
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ТарифЧасовой Тогда
						КоличествоЧасов = ПолучениеЧасовВМесяце(РезультатЗапроса.ГрафикРаботы,Объект.ПериодРегистрации);
						пСотрудникМесОклад = КоличествоЧасов*РезультатЗапроса3.Результат;
						Область.Параметры.Вид = "Оклад";
						Область.Параметры.Число = пСотрудникМесОклад;
						
						//Информативность ==================================
						//Сообщить("пСотрудникМесОклад="+""+пСотрудникМесОклад);
					//КонецЕсли;
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.РайонныйКоэффициент Тогда
						пСотрудникРК = РезультатЗапроса3.Результат/100;
						Область.Параметры.Вид = "Районный коэф";
						Область.Параметры.Число = пСотрудникРК;
						
						//Информативность ==================================
						//Сообщить("пСотрудникРК="+""+пСотрудникРК);
					//КонецЕсли;
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.СевернаяНадбавка Тогда
						пСотрудникСН = 80/100;
						Область.Параметры.Вид = "Северная надбавка";
						Область.Параметры.Число = пСотрудникСН;
						
						//Информативность ==================================
						//Сообщить("пСотрудникСН= "+""+пСотрудникСН);
					//КонецЕсли;
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Доплата за совмещение 1 ст.151 ТК") Тогда
						пСотрудникДзС1_151 = РезультатЗапроса3.Результат/100;
						//Область = Макет.ПолучитьОбласть("Строка");
						Область.Параметры.Вид = "Доплата за совмещение 1 ст.151 ТК";
						Область.Параметры.Число = пСотрудникДзС1_151;
						
						//Информативность ==================================
						//Сообщить("пСотрудникДзС1_151="+""+пСотрудникДзС1_151);
					//КонецЕсли;
					
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Доплата за совмещение 3 ст.151 ТК фикс.суммой") Тогда
						пСотрудникДзС3_151Ф = РезультатЗапроса3.Результат;
						Область.Параметры.Вид = "Доплата за совмещение 3 ст.151 ТК фикс.суммой";
						Область.Параметры.Число = пСотрудникДзС3_151Ф;
						//
						//Информативность ==================================
						//Сообщить("пСотрудникДзС3_151Ф="+""+пСотрудникДзС3_151Ф);
					//КонецЕсли;
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Надбавка за секретность") Тогда	
						пСотрудникСекретность = 10/100;
						Область.Параметры.Вид = "Надбавка за секретность";
						Область.Параметры.Число = пСотрудникСекретность;
						
						//Информативность ==================================
						//Сообщить("пСотрудникСекретность= "+""+пСотрудникСекретность);
					ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Персональная надбавка (п.5.6)") Тогда	
						пСотрудникПерсНадб_56 = РезультатЗапроса3.Результат;
						Область.Параметры.Вид = "Персональная надбавка (п.5.6)";
						Область.Параметры.Число = пСотрудникПерсНадб_56;
					//ИначеЕсли РезультатЗапроса3.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Премия на персональную надбавку (оклад) п.7.4") Тогда	
					//	пСотрудникПерсНадб_56 = РезультатЗапроса3.Результат;
					//	Область.Параметры.Вид = "Премия на персональную надбавку (оклад) п.7.4";
					//	Область.Параметры.Число = пСотрудникПерсНадб_56;
						
					Иначе
					//Информативность ==================================
						//Сообщить(""+РезультатЗапроса.Сотрудник+": не учтен основной вид расчета "+""+РезультатЗапроса3.ВидРасчета,СтатусСообщения.Важное);
					КонецЕсли;

Можно использовать сообщение "не учтен основной/дополнительный вид расчета" как план к дальнейшим действиям (мало ли забыли чего). Сообщение это надо будет раскоментировать, подвериться и что бы в будущем не мешал - снова закоментировать.

После 239стр. (Формулы) идет расчет показателей зарплат, тут вам надо будет состряпать то что вы выше запихали в переменные в зарплату (это если бы сотрудник не был в командировке) и собственно сам расчет доплаты...

                                СотрудникДзС1_151 = пСотрудникМесОклад*пСотрудникДзС1_151;
				СотрудникДзС3_151Ф = пСотрудникДзС3_151Ф;
				СотрудникСекретность = пСотрудникМесОклад*пСотрудникСекретность;
				СотрудникПзМесяц = (пСотрудникМесОклад+СотрудникДзС1_151+СотрудникДзС3_151Ф)*пСотрудникПзМесяц;
                СотрудникРК = (пСотрудникМесОклад+СотрудникДзС1_151+СотрудникДзС3_151Ф+СотрудникСекретность+СотрудникПзМесяц)*пСотрудникРК;
				СотрудникСН = (пСотрудникМесОклад+СотрудникДзС1_151+СотрудникДзС3_151Ф+СотрудникСекретность+СотрудникПзМесяц)*пСотрудникСН;
				пСотрудникПремияПерсНадб_74 = пСотрудникПерсНадб_56 * пСотрудникПремияПерсНадб_74;	
			    СотрудникЗП =  пСотрудникМесОклад+СотрудникДзС1_151+СотрудникДзС3_151Ф+СотрудникСекретность
								+СотрудникПзМесяц+СотрудникРК+СотрудникСН+пСотрудникПерсНадб_56+пСотрудникПремияПерсНадб_74;
				
				Попытка
					СрДнВКом = РезультатЗапроса.Результат/РезультатЗапроса.ОплаченоДнейЧасов;
					СрДнМес = СотрудникЗП/РезультатЗапроса2.КоличествоРабДней;
					Разность = СрДнМес - СрДнВКом; 
					Доплата = Разность*РезультатЗапроса.ОплаченоДнейЧасов;
				Исключение
					Сообщить("Информация об ошибке:"+Символы.ПС + "Сотрудник: " + Строка.Сотрудник +Символы.ПС
					            + "Средний по командировке = " +РезультатЗапроса.Результат + " , " + "Оплачено дней/часов = "+ РезультатЗапроса.ОплаченоДнейЧасов + Символы.ПС
					            + "Зарплата = "+ СотрудникЗП+ " , "+ "Кол-во рабочих дней = "+ РезультатЗапроса2.КоличествоРабДней + Символы.ПС
					            + "Ошибка при расчете: (ЗП/КолРабДней - Средний/ОплаченоДнейЧасов)*ОплаченоДнейЧасов");
					Доплата = -1;
				КонецПопытки;

У нас доплата называется "Доплата за период нахождения в командировке", созданная в дополнительных начислений по формуле "Фиксированная сумма". Ваше название нужно подстанавливать в стр. 267

                                Если Доплата>=0 Тогда
					СтрокаТаблицы = Объект.ДополнительныеНачисления.Добавить();
					СтрокаТаблицы.Сотрудник = Строка.Сотрудник;
					СтрокаТаблицы.ВидРасчета = ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.НайтиПоНаименованию("Доплата за период нахождения в командировке");
					СтрокаТаблицы.ПодразделениеОрганизации = РезультатЗапроса.ПодразделениеОрганизации;
					СтрокаТаблицы.Показатель1 = СотрудникЗП;
					СтрокаТаблицы.Результат = Доплата;
				КонецЕсли;

 

Результат наших расчетов добавляется в табличную часть "Дополнительные начисления" документа. И попутно вылетает что то типа отчета с параметрами из расчета (для того что бы бух мало ли что проверил)

УСТАНОВКА.

Качаем, сохраняем. Идем в "Сервис-Внешние обработки и отчеты-Дополнительные обработки табличных частей", добавляем новый элемент. Жмем кнопку "Заменить файл внешней обработки", выбираем скаченную обработку. В табличной части "Принадлежность обработки по заполнению табличных частей" добавляем новую строчку, "Представление объекта - выбираем документ"Начисление зарплаты работникам организаций", табличная часть-"Дополнительные начисления", представление кнопки-"Начисление доплаты за нахождение в командировке", и жмем ОК. После этого в документе "Начисление зарплаты работникам организаций" в табличной части "Дополнительные начилсения" в подменю "Заполнить" появится вышеуказанная кнопочка.

Соответсвенно после исправлении обработки перепривязываем ее по кнопке "Заменить файл внешней обработки"

 

Вступайте в нашу телеграмм-группу Инфостарт

доплата командировка

См. также

Зарплата Роли и права Системный администратор Бухгалтер 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    47267    365    111    

288

Зарплата Программист Бизнес-аналитик Бухгалтер 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

<ul class="text-start d-flex flex-column align-items-start" style="padding: 0"> <li class="d-flex align-items-start mb-1" style="padding: 0"><img alt="check" class="me-2 flex" loading="lazy" src="//infostart.ru/upload/iblock/5d7/5d792bdef32cac30efb748133da1d817.png" /> <span class="fs-16">автоматически устраняйте задолженности прошлых периодов из ведомостей</span></li> <li class="d-flex align-items-start mb-1" style="padding: 0"><img alt="check" class="me-2 flex" loading="lazy" src="//infostart.ru/upload/iblock/5d7/5d792bdef32cac30efb748133da1d817.png" /> <span class="fs-16">для ЗУП 3.1, КА 2.5 и ЗиКГУ 3.1</span></li> <li class="d-flex align-items-start" style="padding: 0"><img alt="check" class="me-2 flex" loading="lazy" src="//infostart.ru/upload/iblock/5d7/5d792bdef32cac30efb748133da1d817.png" /> <span class="fs-16">экономьте время — все готово в пару кликов</span></li> </ul>

33600 руб.

14.09.2022    19892    75    28    

79

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

16800 руб.

01.11.2012    101150    120    1    

131

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    64941    174    145    

143

Зарплата Кадровый учет Бухгалтер 1С v8.3 Оперативный учет Управляемые формы 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Предлагаем расширить возможности конфигурации 1С:УНФ 3.0 в части ведения кадрового учета. С помощью данного расширения в конфигурацию будут добавлены новые документы: "Отпуск" и "Командировка". Документы облегчат работу кадровика и расчетчика, а также повысят эффективность работы за счет оптимизации и упрощения процесса ведения учета.

43200 руб.

31.10.2024    1674    1    0    

1

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    68035    111    52    

115
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alisya 20.06.15 15:45 Сейчас в теме
Не нашла куда установить в 1с 8.3 ЗУП
2. woozee 48 24.06.15 16:30 Сейчас в теме
(1) Alisya, обработка для ЗУП 2.5, как работает или нет на ЗУП 3.0 - не знаю
3. albertik88 11 22.10.15 16:32 Сейчас в теме
(2) на 3.0 уж явно не работает, не тупите!
корум; +1 1 Ответить
4. b-dm 180 28.04.18 14:43 Сейчас в теме
Добрый день. Подскажите пожалуйста, а как быть с переходящими командировками ....например переходит командировка на следующий месяц,а в нем другое количество рабочих дней, и дельта разницы между средним заработком и окладом будет другой в этом случае.
Для отправки сообщения требуется регистрация/авторизация