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

18.02.15

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

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

Скачать файл

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

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

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

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

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

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

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

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

За основу берется предопределенный элемент Планов видов расчета "Оплата по среднему заработку командировок" (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 = СотрудникЗП;
					СтрокаТаблицы.Результат = Доплата;
				КонецЕсли;

 

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

УСТАНОВКА.

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

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

 

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

См. также

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    26595    26    1    

28

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

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

5940 руб.

27.05.2021    40669    304    106    

232

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

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    5359    38    20    

46

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 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    96417    116    1    

123

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

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

12000 руб.

28.07.2016    62027    163    141    

135

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

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

33600 руб.

14.09.2022    17570    74    26    

75

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

24.04.2017    52757    104    165    

91
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 175 28.04.18 14:43 Сейчас в теме
Добрый день. Подскажите пожалуйста, а как быть с переходящими командировками ....например переходит командировка на следующий месяц,а в нем другое количество рабочих дней, и дельта разницы между средним заработком и окладом будет другой в этом случае.
Оставьте свое сообщение