Как реализовать раздельный учет часов при работе в выходные свыше 10 часов в 1С:ЗУП КОРП

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Управленческий учет
← На главную

В практике крупных компаний, использующих ЗУП КОРП, часто возникает потребность разделять официальный (регламентированный) учет рабочего времени и фактический (управленческий). Рассмотрим типовую ситуацию: сотрудник работает в выходной день 12 часов. По внутренним правилам компании в официальный табель должны попасть только 10 часов, а оставшиеся 2 часа должны быть оплачены отдельно, например, в двойном размере из управленческого фонда. Проанализируем, как реализовать такую схему учета и какие технические средства для этого потребуются.

Методология управленческого учета в ЗУП КОРП

Для начала разберем, как устроена подсистема управленческой зарплаты в версии КОРП. В отличие от базовой или ПРОФ версий, здесь заложена возможность вести параллельный расчет. Основной принцип работы типового механизма — расчет от обратного. Система рассчитывает общую сумму, которую сотрудник должен получить по управленческим правилам, а затем вычитает из нее сумму, начисленную в рамках регламентированного учета. Разница и составляет управленческую доплату.

Однако типовой функционал не предусматривает автоматического «разрезания» часов в документе Работа в выходные и праздники. Для реализации задачи с лимитом в 10 часов нам потребуется комбинированный подход: использование типовых механизмов и небольшая доработка системы.

Шаг 1. Создание управленческого документа для учета времени

Поскольку типовой документ Табель предназначен строго для регламентированного учета и влияет на налоги и отчетность в СФР и налоговую, мы не можем записывать в него «лишние» часы. Проанализируем ситуацию: нам нужен объект, который будет хранить реальные данные. Оптимальное решение — создание нового документа (через расширение конфигурации), который назовем ТабельУправленческий или ДополнительныйТабель.

Этот документ должен фиксировать:

  1. Фактически отработанное время (например, все 12 часов).
  2. Вид времени (Работа в выходные).
  3. Сотрудника и дату.

Данные из этого документа не должны попадать в основные регистры расчета зарплаты (такие как Начисления), чтобы не исказить регламентированную отчетность. Они должны записываться в отдельный регистр накопления, созданный специально для управленческих нужд.

Шаг 2. Реализация алгоритма разделения часов

Рассмотрим, как автоматизировать процесс разделения. Мы можем доработать типовой документ Работа в выходные и праздники или создать обработку заполнения. Логика программы должна быть следующей:

Если пользователь вводит в строку документа количество часов ЧасыРаботы > 10, то:

Пример программной реализации логики разделения:


// Пример логики разделения часов в обработчике
ЛимитЧасов = 10;
ОтработаноВсего = СтрокаДанных.Часы;

Если ОтработаноВсего > ЛимитЧасов Тогда
    РегламентированныеЧасы = ЛимитЧасов;
    УправленческиеЧасы = ОтработаноВсего - ЛимитЧасов;
Иначе
    РегламентированныеЧасы = ОтработаноВсего;
    УправленческиеЧасы = 0;
КонецЕсли;

Шаг 3. Расчет управленческой доплаты

Для расчета «дополнительных» часов нам нужно создать новый вид начисления с категорией Управленческое начисление. Выясним, как правильно настроить формулу. Если мы хотим оплачивать часы свыше 10 в двойном размере, формула в настройках начисления может выглядеть так:

(УправленческиеЧасы * СтоимостьЧасаУпр * 2)

Где УправленческиеЧасы — это показатель, значения которого мы будем подтягивать из нашего управленческого табеля. Для этого в программе создается Показатель расчета зарплаты, который может заполняться документом Данные для расчета зарплаты.

Шаг 4. Учет удержаний и «чистой» выплаты (Конверт)

Разберем важный нюанс, упомянутый специалистами: учет исполнительных листов (ИЛ) и уже выплаченных сумм. Если компания ведет полноценный управленческий учет, она должна понимать, сколько сотрудник получает «на руки» итого. Рассмотрим пример расчета:

  1. Регламентированный расчет (РЗ):
    • Начислено: 1000 руб.
    • НДФЛ (13%): 130 руб.
    • Удержание по ИЛ (40%): 400 руб.
    • Выплачено на карту: 470 руб.
  2. Управленческий расчет (УЗ):
    • Договоренность «грязными»: 3000 руб.
    • Необходимо повторить удержание ИЛ: 3000 * 40% = 1200 руб. Но фактически 400 уже удержано в РЗ, значит в УЗ нужно доудержать еще 800.
    • Или проще: УЗ_На_Руки = (Договоренность - Общий_ИЛ) - Выплачено_РЗ.

Таким образом, формула «конверта» будет выглядеть так:

Сумма к выдаче = (Управленческое_Начисление - Обязательные_Удержания) - Официальная_Выплата_На_Карту

Рекомендации по реализации в 1С

Проанализировав ситуацию, мы предлагаем следующий план действий для программиста:

  1. Используйте расширение: Не меняйте типовую конфигурацию, чтобы сохранить возможность легкого обновления ЗУП КОРП.
  2. Создайте два показателя: ЧасыВыходныеРегл и ЧасыВыходныеУпр. Первый будет использоваться в типовых расчетах, второй — в управленческих.
  3. Доработайте интерфейс: Добавьте в форму документа Работа в выходные и праздники визуальное разделение, чтобы расчетчик сразу видел, сколько часов уйдет в «белую», а сколько в «доп. табель».
  4. Используйте документ «Начисление управленческой зарплаты»: Это типовой объект в КОРП-версии. Настройте его так, чтобы он автоматически подтягивал разницу между вашим управленческим табелем и регламентированным начислением.

Посмотрим на финальный алгоритм: мастер сдает реальный табель (12 часов) -> Данные попадают в систему -> Программа автоматически пишет 10 часов в приказ для регламентированного расчета и 2 часа в регистр управленческого учета -> В конце месяца бухгалтер формирует официальную зарплату -> Затем формирует документ управленческого начисления, который видит переработку в 2 часа, умножает её на двойную ставку и выдает итоговую сумму к доплате.

Такой подход позволяет полностью изолировать фиктивные «восьмерки» или лимитированные часы от реальных трудозатрат, сохраняя при этом прозрачность учета для руководства компании.

← На главную