Расчет квартальной премии для ЗУП 3.1
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Перво-наперво надо убедиться, что ЗУП поддерживает расчет квартальных премий. Проверяем: Функции для технического специалиста - обработка "Начальная настройка программы" - смотрим на картинку.
Появится Начисление: Премия за квартал (процентом) ПРКП. Заходим в него и ставим Расчетная база=Текущий квартал
Также появится Показатель - Процент квартальной премии
Создать самим 2 показателя (настройки на скриншотах) :
Показатель - Норма дней в квартале
Показатель - Отработано дней в квартале
Подключаем расширение стандартным способом и в разделе Дополнительно находим документ "Квартальная премия"
Критика приветствуется, все-таки я делаю первые шаги в ЗУП )
Написано на платформе 1С:Предприятие 8.3 (8.3.18.1520) под конфигурацию Зарплата и управление персоналом, редакция 3.1 (3.1.22.86), но уверен, будет работать и на более высоких.
Код модуля Объекта
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// Проведение документа
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
ЗаписатьЗначенияПоказателейРасчетаЗарплаты(Движения, Отказ);
КонецПроцедуры
Процедура ЗаписатьЗначенияПоказателейРасчетаЗарплаты(Движения, Отказ)
ЗначенияПоказателей = Новый ТаблицаЗначений;
ЗначенияПоказателей.Колонки.Добавить("ПериодДействия", Новый ОписаниеТипов("Дата"));
ЗначенияПоказателей.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
ЗначенияПоказателей.Колонки.Добавить("Показатель", Новый ОписаниеТипов("СправочникСсылка.ПоказателиРасчетаЗарплаты"));
ЗначенияПоказателей.Колонки.Добавить("Значение", Новый ОписаниеТипов("Число"));
ПериодДействия = НачалоМесяца(КонецКвартала(Дата));
Для каждого СтрокаТЧ Из СписокСотрудников Цикл
НоваяСтрока = ЗначенияПоказателей.Добавить();
НоваяСтрока.ПериодДействия = ПериодДействия;
НоваяСтрока.Сотрудник = СтрокаТЧ.Сотрудник;
НоваяСтрока.Показатель = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Процент квартальной премии");
НоваяСтрока.Значение = СтрокаТЧ.ПроцентКвартальнойПремии;
НоваяСтрока = ЗначенияПоказателей.Добавить();
НоваяСтрока.ПериодДействия = ПериодДействия;
НоваяСтрока.Сотрудник = СтрокаТЧ.Сотрудник;
НоваяСтрока.Показатель = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Норма дней в квартале");
НоваяСтрока.Значение = СтрокаТЧ.НормаДнейВКвартале;
НоваяСтрока = ЗначенияПоказателей.Добавить();
НоваяСтрока.ПериодДействия = ПериодДействия;
НоваяСтрока.Сотрудник = СтрокаТЧ.Сотрудник;
НоваяСтрока.Показатель = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Отработано дней в квартале");
НоваяСтрока.Значение = СтрокаТЧ.ОтработаноДнейВКвартале;
КонецЦикла;
РасчетЗарплатыРасширенный.ЗарегистрироватьЗначенияРазовыхПоказателейСотрудников(Движения, Организация, ЗначенияПоказателей);
КонецПроцедуры
Вступайте в нашу телеграмм-группу Инфостарт