Почему в ЗУП нельзя исправить документ «Индивидуальный график» текущим периодом и как решить эту задачу?

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

При работе с конфигурацией 1С:Зарплата и управление персоналом (ЗУП) редакции 3.1 пользователи часто сталкиваются с ограничением: система не позволяет вводить документ «исправление» для «Индивидуального графика» в рамках одного и того же расчетного периода. В этой статье мы разберем, почему так происходит, какие методологические риски несет принудительное вмешательство в код и как реализовать задачу правильно.

Понимание методологии 1С

Архитектура ЗУП построена на строгом разделении расчетных периодов. Документы, влияющие на фонд рабочего времени (такие как Индивидуальный график), являются первичными для последующих начислений. Логика разработчиков заключается в следующем:

  1. Документы планирования времени должны быть зафиксированы до начала расчета зарплаты.
  2. Внесение исправлений «внутри» текущего месяца создает риск возникновения коллизий в оборотных регистрах, таких как ДанныеИндивидуальныхГрафиковСотрудников.
  3. При штатной работе механизм «Исправить» предназначен для сторнирования данных в текущем периоде и формирования корректных начислений уже в следующем периоде, что обеспечивает прозрачность аудиторского следа.

Методологически верные способы решения

Прежде чем приступать к доработке конфигурации, рассмотрим штатные способы фиксации изменений, которые позволят сохранить «аудиторский след» без нарушения целостности данных:

  1. История изменений (версионирование): Включите механизм истории изменений в настройках программы. Это позволит видеть, кто, когда и какие данные изменил в исходном документе, что полностью удовлетворяет требованиям аудиторов.
  2. Использование документов отклонений: Вместо правки графиков используйте специализированные документы, такие как Невыходы, Оплата по среднему или Регистрация переработок. Эти документы создают движения в регистрах накопления, которые перекрывают плановые показатели, заданные в графике, без необходимости его корректировки.
  3. Создание «нового» документа вместо исправления: Если требуется именно замена данных, можно помечать старый документ как недействительный (или использовать его как черновик) и создавать новый. Однако, такой подход требует контроля за тем, чтобы старый документ не формировал движений (например, путем отключения проведения).

Техническое решение: модификация кода (для опытных разработчиков)

Если бизнес-процессы вашей компании требуют жесткого соблюдения схемы «исправление через новый документ» и вы осознаете все риски, можно временно отключить проверку уникальности. Для этого в модуле документа Индивидуальный график необходимо найти процедуру проверки и закомментировать вызов следующего метода:


// Комментируем проверку уникальности для возможности создания исправления
// УчетРабочегоВремениРасширенный.ПроверитьУникальностьВводаИтоговыхДанных(МенеджерВТ, Ссылка, ПериодРегистрации, ОписанияОшибокВводаВремени, Истина);

После этого документ позволит провести запись данных. При проведении второго документа в том же периоде, система сформирует сторнировочные записи по оборотному регистру ДанныеИндивидуальныхГрафиковСотрудников, а затем запишет актуальные показатели.

Важные предупреждения и риски

Принудительное изменение типового поведения системы несет существенные риски, которые необходимо учитывать при обновлении конфигурации:

Таким образом, рекомендуем использовать штатный функционал Истории изменений, который является наиболее безопасным и прозрачным методом для аудиторского контроля, не требующим вмешательства в архитектуру 1С и обеспечивающим стабильность работы системы при расчете зарплаты.

← На главную