В практике работы с программой «1С:Зарплата и управление персоналом 8» (редакция 3.1) специалисты часто сталкиваются с ситуацией, когда кадровый документ (например, «Отпуск без сохранения оплаты») заведен и проведен, но при расчете заработной платы система его «игнорирует», начисляя сотруднику полный оклад. Эта проблема особенно актуальна для баз, которые прошли процедуру перехода (переноса данных) из версии ЗУП 2.5. Разберем детально, почему это происходит и как настроить систему для корректного учета отсутствий.
Рассмотрим стандартную ситуацию. Кадровый работник создает документ Отпуск без сохранения оплаты (или его списочную форму), заполняет периоды и проводит документ. При формировании кадровых отчетов и табеля отсутствие сотрудника отображается корректно (код «ДО» или «ОЗ»). Однако, когда расчетчик создает документ Начисление зарплаты и взносов, программа рассчитывает оклад в полном объеме, как будто сотрудник отработал весь месяц без пропусков.
Проанализируем ситуацию с технической стороны. В 1С:ЗУП 3.1 реализован механизм разделения ответственности между кадрами и расчетным отделом. Если документ проведен только кадровиком, он считается «неутвержденным» с точки зрения финансового учета. Выясним причину, по которой записи попадают в одни регистры, но игнорируются другими.
Для понимания механизма работы программы нам необходимо проанализировать движения документа по регистрам. Когда кадровик проводит документ, записи появляются в регистре сведений Состояния сотрудников. Именно из этого регистра данные попадают в Табель учета рабочего времени. Именно поэтому в табеле все выглядит правильно.
Однако для самого процесса начисления зарплаты движок расчета опирается на другой важный регистр — Данные о времени для расчета зарплаты. Записи в этот регистр вносятся только в тот момент, когда документ переходит в статус «Рассчитан» или «Утвержден». Если этот этап пропущен, система расчета считает, что отклонений от планового графика не было.
Разберем подробнее, какой реквизит за это отвечает. В общем модуле ЗарплатаКадрыРасширенный за логику проведения отвечает фрагмент кода, устанавливающий состояние перерасчета:
// Фрагмент кода, влияющий на видимость движений по регистрам расчета
Объект[ОписаниеДокумента.РеквизитСостояние] = ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений;
Этот код выставляет атрибут ПерерасчетВыполнен в значение Истина, что провоцирует документ совершить все необходимые движения по расчетным регистрам. Если у пользователя недостаточно прав или документ не прошел стадию утверждения, этот флаг остается ложным.
Главная причина «невидимости» отпуска часто кроется в настройке «Многофункциональные документы». В ЗУП 3.1 один объект (документ) содержит в себе и кадровую, и расчетную часть. В зависимости от настроек, эти части могут заполняться разными людьми.
Расчет утвердил).Только после нажатия этой кнопки документ делает записи в регистры расчета. Проблема в том, что после переноса данных из ЗУП 2.5 эта настройка может оказаться в «подвешенном» состоянии: система требует утверждения документа, но само поле для галочки «Расчет утвердил» скрыто из интерфейса.
Если вы обнаружили, что расчетчик не видит возможности утвердить документ, необходимо проверить настройки системы. Выполним следующие шаги:
ИспользоватьМногофункциональныеДокументы.После включения этой константы в форме документа Отпуск без сохранения оплаты появится флаг «Расчет утвердил». После его установки расчетчик должен перепровести документ, и оклад в Начислении зарплаты будет «разрезан» корректно.
Если документов много, и заходить в каждый физически невозможно, проанализируем ситуацию с помощью массового изменения данных. Нам понадобится обработка «Групповое изменение реквизитов».
Отпуск без сохранения оплаты или Отпуск без сохранения оплаты списком.Расчет утвердил (в базе он может называться ПерерасчетВыполнен или ДокументРассчитан в зависимости от версии).Важно: Перед выполнением групповых операций обязательно сделайте резервную копию базы данных, так как это напрямую влияет на регистры расчета зарплаты.
Выясним причину массового характера этой проблемы при миграции. В старой версии ЗУП 2.5 кадровый приказ на отпуск и документ начисления были разными объектами. При переносе данных (особенно в режиме «начальной эксплуатации») настройки учетной политики могут мигрировать некорректно. Система «запоминает», что учет вели разные люди, и включает механизм двухэтапного подтверждения, но не всегда корректно отображает элементы управления этим процессом в новом интерфейсе 3.1.
Также стоит проверить роли пользователей. Если у сотрудника, занимающегося расчетом, в профиле прав доступа указана только роль Кадровик, он физически не сможет перевести документ в статус «Рассчитан», даже если увидит нужный флаг. Для полноценной работы расчетчика у него должен быть профиль Расчетчик или Старший расчетчик.
Если ЗУП 3.1 «не видит» отпуска за свой счет при начислении зарплаты, выполните проверку по следующему алгоритму:
Данные о времени для расчета зарплаты — если там пусто, значит документ не «утвержден».ИспользоватьМногофункциональныеДокументы.Рассмотренные методы позволяют решить проблему без внесения изменений в типовой код конфигурации, сохраняя возможность обновления программы в будущем.