В статье, которую прислал Спасителев Олег (ppson), рассматривается настройка модуля «Расчеты с персоналом» и, в частности, настройка учета рабочего времени.
Спасителев Олег (ppson), rumpelsh@mail.ru
Настройки модуля «Расчеты с персоналом». Табель
Payroll_setup.rar (350Kb, Статья в формате doc, Для загрузки требуется регистрация на форуме у Mazzy)
Введение
В данной статье рассматривается настройка модуля «Расчеты с персоналом» и в частности настройка учета рабочего времени. Для наглядности будет решаться следующая задача:
- сотрудник Иванов Петр Сергеевич принят на работу 05.01.2005 с окладом 10000 рублей, надбавкой за вредные условия труда - 10% от оклада.
- рабочий график сотрудника - одни сутки через трое. Надбавка за работу в ночное время для всех сотрудников компании – 10 рублей за час.
- 24 января 2005 года сотруднику повышена надбавка за вредные условия труда до 20%.
- необходимо рассчитать все выплаты Иванову И.И. по табелю.
При рассмотрении данного примера не будут рассчитываться налог на доходы с физических лиц и внебюджетные фонды.
Первоначальные настройки
Создайте новую компанию и сделайте следующие настройки:
- Валюты
- Сведения о компании.
- Номерные серии.
- Настройки модуля ГК
- План счетов – добавьте два счета 20 «Основное производство» и 70 «Расчеты с персоналом по оплате труда»
- Базовые параметры модуля «Расчеты с персоналом» Настройки/Параметры
Виды оплат
Введем все необходимые виды выплат по табелю в справочник видов зарплаты Расчеты с персоналом/ Настройки/ Расчет/ Виды зарплаты.
Группы процедур расчета, процедуры расчета, последовательности.
Создадим три группы процедур расчета в форме Расчеты с персоналом/ Настройки/ Расчет/ Группы процедур расчета:
- Начисления.
- Налог.
- Удержания.
Группы процедур расчета необходимы для определения последовательности расчета процедур.
Процедуры расчета определяют совокупность алгоритмов и видов оплат и удержаний, рассчитываемых на основании документов-оснований. Так, например, процедура расчета RPayTbl (Табель учета рабочего времени) определяет алгоритмы всех видов оплат, основанием для которых является введенный в систему табель учета рабочего времени.
Процедуры расчета бывают двух видов – пользовательские и системные. Системные процедуры создаются системой.
Пользовательские процедуры добавляются пользователями самостоятельно. Документов-оснований для пользовательских процедур нет, и расчет видов оплат данных процедур осуществляется при помощи фондов, ставок и счетчиков, но об этом попозже.
Присвоим код группы процедурам расчета в форме Расчеты с персоналом/ Настройки/ Расчет/ Процедуры расчета.
Процедуры расчета из одной группы могут рассчитываться независимо друг от друга. Процедуры из группы 2 смогут быть рассчитаны только тогда когда будут рассчитаны все процедуры из группы 1. Аналогично процедуры из группы 3 можно будет рассчитать после расчета всех процедур из группы 2.
В документах-основаниях модуля «Расчеты с персоналом» есть параметр, определяющий, как и какие виды оплаты будут начисляться в зависимости от его значения. Связка между значениями параметра и алгоритмами расчета и видами оплат устанавливается при помощи последовательности.
Пример:
Процедура расчета RPayVacation «Расчет отпускных» рассчитывает отпуска на основании документов «Отпуск».В зависимости от значения параметра «Тип отпуска», указанного в документах-основаниях, при расчете отпусков будут инициализирована соответствующая последовательность, которая и рассчитает необходимые виды оплат.
Для каждой процедуры расчета можно создать одну или несколько последовательностей.
Исключение:
Для процедуры RPayTax создается только две последовательности, для процедуры RPayByWorker достаточно одной, а для RPayEmplPeriod создавать последовательности вообще нет необходимости.
Ниже приведена таблица соответствия системных процедур расчета, документов-оснований и их параметров:
Код и наименование процедуры. | Документ-основание. Путь к электронной форме документа в модуле. |
Параметр. Путь к электронной форме параметра в модуле. |
Примечание |
1 | 2 | 3 | 4 |
RPayBorrowingGa «Материальная выгода» |
Ссуда. |
Код удержания. |
Расчет материальной выгоды. |
RPayEmplPeriod |
Периодические выплаты. |
Параметра нет. |
Расчет выплат условно-постоянного характера (один и более расчетных периодов) |
RPaySickList |
Больничный лист. |
Вид нетрудоспособности. |
Расчет различных видов пособий по нетрудоспособности |
RPayTbl |
Табель. |
Вид времени. |
Расчет различный видов оплат на основании табеля. |
RPayVacation |
Отпуск. |
Тип отпуска. |
Расчет различных видов отпусков и доплат к ним |
RPayDeduction «Стандартные удержания» |
Стандартные удержания. Процедуры расчета/ Стандартные удержания/ Ссуды Процедуры расчета/ Стандартные удержания/ Прочие |
Код удержания. |
Расчет различных удержаний из заработной платы (ссуд, алиментов, штрафов и так далее) |
RPayTax |
Документа-основания нет. |
|
Особая системная процедура, которая рассчитывает налог на доходы с физических лиц |
RPayByWorker |
Документа-основания нет. |
|
Особая системная процедура, которая корректирует начисления и удержания сотрудника, если он работает как внутренний совместитель. |
Базовые настройки табеля.
Настроим расчет табеля в части последовательностей и кодов времен.
Заполним форму Учет рабочего времени/ Настройки / Настройки следующим образом:
Для процедуры RPayTbl добавим две последовательности с кодами 100 – основное время, и 200 – ночной время.
Заполним справочник времен в форму Учет рабочего времени/ Настройки/ Справочник времен.
Обратите внимание на следующее - в текущей реализации табеля в модуле «Расчеты с персоналом» присутствуют определенные ограничения, и чтобы не было проблем, необходимо придерживаться определенных:
- В системе предусмотрено семь предопределенных типов времен (префикс Time). На добавление дополнительных кодов времен необходимы права на разработку. В противном случае дополнительные типы времени добавлять нельзя
. Ввод нового кода времени в справочник влечет за собой изменения в структуре таблиц и перекомпиляции определенных форм.
- Особенности строения модуля не позволяют обычным образом производить импорт-экспорт всех «зарплатных» настроек, иначе говоря, модуль может «слега развалиться» и появляется такая известная для консультантов болезнь как геморрой проектный
. Профилактика и лечение – настраивать модуль вручную на каждой инсталляции, или, по крайней мере, после импорта проверять настройки и вносить недостающие. Если при импорте система не найдет какого-либо поля в таблице, она не будет создавать его, а выдаст соответствующее предупреждение, что позволит отследить наличие проблемных мест.
- Переход на новую версию системы данного «самомодифицирующего» приложения в любом случае должен производиться анализом изменений, произошедших в системе, и дополнительной настройкой необходимых параметров вручную.
- Русские символы можно вводить только в описании, а в коде типа времени должны быть только английские символы или цифры.
Исходя из данных ограничений, определим название для кода времени Time1 «Основное время», а для Time2 «Ночное время».
На закладке «Разное» формы введем для основного времени Time1 код последовательности 100 в поле «Последовательность»
Далее введем форму оплаты труда «Повременная» в справочник «Формы оплаты» Учет рабочего времени/ Настройки/ Табель учета рабочего времени/ Формы оплаты
Для сотрудников компании с данной формы оплаты труда определим коды времен, которые будут участвовать в расчете заработной платы – форма Учет рабочего времени/ Настройки/ Табель учета рабочего времени/ Коды времен.
Обратите внимание, что код последовательность для кода времени копируются из справочника времен и при необходимости её можно переопределить на закладке «Разное».
Настройка календаря
Необходимо настроить календарь «Сутки через трое».
Для настройки календарей в системе предусмотрены так называемые шаблоны. Для настройки недельных рабочих графиков (5дневную неделю, 6дневную неделю и так далее) используются стандартные шаблоны, а для настройки циклических графиков, подобно нашему, периодические шаблоны - Учет рабочего времени/ Календарь/Периодические шаблоны.
Введем код шаблона и его наименование. В поле «Периодичность» устанавливается цикличность графика – в нашем случае 4 дня (1 рабочий день плюс 3 выходных).
На закладке настраиваем собственно сам шаблон.
Настраиваем календарь. Введем его код и название. Тип календаря – «прочий». По кнопке «Расписание» вызывается расписание календаря. Формирование расписания осуществляется при помощи кнопки «Создание». В форме «Формирование расписания» укажите период с 05.01.2005 по 31.12.2005.
Ставки и счетчики
Ставки – параметры, значения которых может меняться во времени.
Ставки в системе бывают следующих видов:
- Сотрудник. Значение ставки индивидуально для каждого сотрудника. Примером такой ставки может быть ставки «Оклад».
- Системная. Значение ставки одинаково для всех сотрудников компании. Примером может быть размер оплаты отработанного ночного времени как в нашем примере.
- Подразделение. Значение ставки одинаково для всех сотрудников одного подразделения.
- Группа. Значение ставки одинаково для всех сотрудников, которые входят в так называемую группу зарплаты.
Значения ставок тоже может быть разным – числовым, да/нет, ставка, налоговый вычет, счетчик, критерий.
Определим для нашего примера следующее числовые ставки Расчеты с персоналом/ Настройки/ Расчет/ Ставки:
- Занятость – определяет занятость сотрудника. Необходима для приема сотрудника на работу. Тип «Сотрудник».
- Оклад – определяет размер оклада сотрудника. Тип «Сотрудник».
- Вредность – определяет размер надбавки за вредность. Тип «Сотрудник».
- Ночные – определяет размер доплаты за работу в ночное время. Тип «Системная». Размер ставки с 01.01.05 в размере 10 рублей установим в форме Настройки/ Значения ставок.
Как было сказано выше, последовательность устанавливает связь между параметром и алгоритмами расчета. В системе алгоритмы расчета видов оплат называются счетчиками. Настройка алгоритмов достаточно подробно разобрана в руководстве пользователей. Остановимся на основных моментах и на тех моментах, которые не упоминаются в руководстве:
- результатом выполнения счетчика является число.
- на входе каждая строка счетчика получает числовое значение (далее «Входное значение»), вычисленное на предыдущем шаге.
- числовая величина по строке (далее «Значение по строке») определяется в строке при помощи полей «Тип строки», «С», «До», «Период», «Индекс», «Суммировать».
- в каждой строке счетчика в поле «оператор» определяется арифметическое действие. Например, если оператор будет «-», тогда на выходе строка выдаст значение: «Входное значение» - «Значение по строке».
- счетчик вычисляется последовательно построчно. Порядок может нарушаться или операторами ветвления (поля «Критерий до» и «Критерий после») или изменением последовательной нумерации поля «Следующий номер».
- поле «Тип строки» со значением «Ставка» возвращает значение ставки только на последний день расчетного периода. Таким образом, если внутри месяца значения ставки менялись несколько раз, эти значения будут проигнорированы. Для преодоления данных ограничений используются так называемые табель-ставки, которые настраиваются в настройке табеля. Количество табель-ставок можно увеличить по такому же принципу, как и аналитику главной книги.
Создадим для последовательности 100 «Основное время» счетчики, который начисляет оклад и надбавку за вредность.
Аналогично настроим для последовательности 200 «Ночное время» счетчик, который рассчитывает доплату за работу в ночное время
Настройка сотрудника
Создайте подразделение – Кадровый учет/ Структура/ Организация.
Создайте должность - Кадровый учет/ Структура/ Должности.
Создайте по одному журналу приказов на прием и перевод – Кадровый учет/ Настройки/ Названия журналов.
Создайте сотрудника Иванов Иван Ивановича на форме «Карточка сотрудника». На закладке «Зарплата» укажите форму оплаты и календарь.
Примите сотрудника 05 января 2005 года на работу через журналы приказов. На закладке «Разное» обязательно укажите занятость сотрудника, его оклад и надбавку за вредность.
Сделайте приказ на перевод 24 января 2005. В приказе повторите те же параметры что и в приказе на прием, только размер надбавки за вредность установите в размере 20%.
Расчет табеля
Создадим табель по подразделению в форме Учет рабочего времени/ Журнал табелей.
На форме автоматическое формирование табелей осуществляется при помощи кнопки «Создание табелей».
Рассчитаем процедуру «Табель учета рабочего времени» – Расчет зарплаты/ Расчет процедур.
Начисленные виды оплат можно посмотреть в Карточке сотрудника по кнопке Зарплата/Оплаты и удержание
Заключение
В статье я изложил собственных взгляд на настройку последовательностей и счетчиков. Конечно вариантов их настройки очень много. Это и является одним из главных плюсов модуля.
Модуль является сильно изолированным в системе. Оно не имеет возможности получать данные из ряда других модулей, например:
- о табеле из модуля «Проекты» и «Управление персоналом».
- о выполнении производственных заказов из модулей «Производство» и начисленной заработной платы из модуля «Управление цехом».
- о начисленных комиссионных менеджеров по продажам.
- о персонале и кадровом движении из модуля «Управление персоналом».
При этом модуль «Расчеты с персоналом» тесно интегрирован с модулем «Кадровый учет».
Спасителев Олег (ppson), rumpelsh@mail.ru