В практике крупных компаний, использующих ЗУП КОРП, часто возникает потребность разделять официальный (регламентированный) учет рабочего времени и фактический (управленческий). Рассмотрим типовую ситуацию: сотрудник работает в выходной день 12 часов. По внутренним правилам компании в официальный табель должны попасть только 10 часов, а оставшиеся 2 часа должны быть оплачены отдельно, например, в двойном размере из управленческого фонда. Проанализируем, как реализовать такую схему учета и какие технические средства для этого потребуются.
Для начала разберем, как устроена подсистема управленческой зарплаты в версии КОРП. В отличие от базовой или ПРОФ версий, здесь заложена возможность вести параллельный расчет. Основной принцип работы типового механизма — расчет от обратного. Система рассчитывает общую сумму, которую сотрудник должен получить по управленческим правилам, а затем вычитает из нее сумму, начисленную в рамках регламентированного учета. Разница и составляет управленческую доплату.
Однако типовой функционал не предусматривает автоматического «разрезания» часов в документе Работа в выходные и праздники. Для реализации задачи с лимитом в 10 часов нам потребуется комбинированный подход: использование типовых механизмов и небольшая доработка системы.
Поскольку типовой документ Табель предназначен строго для регламентированного учета и влияет на налоги и отчетность в СФР и налоговую, мы не можем записывать в него «лишние» часы. Проанализируем ситуацию: нам нужен объект, который будет хранить реальные данные. Оптимальное решение — создание нового документа (через расширение конфигурации), который назовем ТабельУправленческий или ДополнительныйТабель.
Этот документ должен фиксировать:
Данные из этого документа не должны попадать в основные регистры расчета зарплаты (такие как Начисления), чтобы не исказить регламентированную отчетность. Они должны записываться в отдельный регистр накопления, созданный специально для управленческих нужд.
Рассмотрим, как автоматизировать процесс разделения. Мы можем доработать типовой документ Работа в выходные и праздники или создать обработку заполнения. Логика программы должна быть следующей:
Если пользователь вводит в строку документа количество часов ЧасыРаботы > 10, то:
ЧасыРаботы - 10) записывается в наш новый управленческий регистр или документ.Пример программной реализации логики разделения:
// Пример логики разделения часов в обработчике
ЛимитЧасов = 10;
ОтработаноВсего = СтрокаДанных.Часы;
Если ОтработаноВсего > ЛимитЧасов Тогда
РегламентированныеЧасы = ЛимитЧасов;
УправленческиеЧасы = ОтработаноВсего - ЛимитЧасов;
Иначе
РегламентированныеЧасы = ОтработаноВсего;
УправленческиеЧасы = 0;
КонецЕсли;
Для расчета «дополнительных» часов нам нужно создать новый вид начисления с категорией Управленческое начисление. Выясним, как правильно настроить формулу. Если мы хотим оплачивать часы свыше 10 в двойном размере, формула в настройках начисления может выглядеть так:
(УправленческиеЧасы * СтоимостьЧасаУпр * 2)
Где УправленческиеЧасы — это показатель, значения которого мы будем подтягивать из нашего управленческого табеля. Для этого в программе создается Показатель расчета зарплаты, который может заполняться документом Данные для расчета зарплаты.
Разберем важный нюанс, упомянутый специалистами: учет исполнительных листов (ИЛ) и уже выплаченных сумм. Если компания ведет полноценный управленческий учет, она должна понимать, сколько сотрудник получает «на руки» итого. Рассмотрим пример расчета:
УЗ_На_Руки = (Договоренность - Общий_ИЛ) - Выплачено_РЗ.Таким образом, формула «конверта» будет выглядеть так:
Сумма к выдаче = (Управленческое_Начисление - Обязательные_Удержания) - Официальная_Выплата_На_Карту
Проанализировав ситуацию, мы предлагаем следующий план действий для программиста:
ЧасыВыходныеРегл и ЧасыВыходныеУпр. Первый будет использоваться в типовых расчетах, второй — в управленческих.Работа в выходные и праздники визуальное разделение, чтобы расчетчик сразу видел, сколько часов уйдет в «белую», а сколько в «доп. табель».Посмотрим на финальный алгоритм: мастер сдает реальный табель (12 часов) -> Данные попадают в систему -> Программа автоматически пишет 10 часов в приказ для регламентированного расчета и 2 часа в регистр управленческого учета -> В конце месяца бухгалтер формирует официальную зарплату -> Затем формирует документ управленческого начисления, который видит переработку в 2 часа, умножает её на двойную ставку и выдает итоговую сумму к доплате.
Такой подход позволяет полностью изолировать фиктивные «восьмерки» или лимитированные часы от реальных трудозатрат, сохраняя при этом прозрачность учета для руководства компании.