Что делать, если 1С:ЗУП 3.1 КОРП отказывается начислять зарплату конкретному сотруднику и выдает ошибку проведения?

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

При расчете заработной платы в программе «1С:Зарплата и управление персоналом 3.1 КОРП» расчетчики периодически сталкиваются с ситуацией, когда по всей организации расчет проходит гладко, но на одном конкретном сотруднике программа «спотыкается». Документ Начисление зарплаты и взносов отказывается проводиться, выдавая неинформативное сообщение об ошибке выполнения фонового задания общего модуля ДлительныеОперации.

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

---

Шаг 1. Как расшифровать неявную ошибку фонового задания

Современные конфигурации 1С на управляемых формах выполняют ресурсоемкие расчеты (включая заполнение и проведение документов начисления зарплаты) в фоновом режиме. Из-за этого стандартное диалоговое окно выдает лишь общую техническую «обертку» ошибки, ссылаясь на модуль ДлительныеОперации.ВыполнитьСКонтекстомКлиента. Чтобы докопаться до сути проблемы, нам необходимо увидеть реальную системную ошибку.

Проанализируем два основных способа локализации технической ошибки:

  1. Анализ Журнала регистрации по уникальному идентификатору (UUID):

    Когда фоновое задание аварийно завершается, платформа фиксирует детальное описание сбоя в Журнале регистрации. В тексте сообщения об ошибке на клиенте всегда присутствует уникальный идентификатор задания (например, 52ee1a06-2d76-4275-bcf1-7b8a0c7efda2).

    Перейдем в раздел Администрирование — Обслуживание — Журнал регистрации. Установим отбор по критичности «Ошибка» и вставим данный идентификатор в поле поиска. В детальном описании события мы увидим конкретную причину сбоя (например, сообщение вида: «Обнаружено пересечение периодов...», «Деление на ноль» или «Запись с такими ключевыми полями уже существует»).

  2. Включение отладки фоновых заданий в Конфигураторе:

    Если анализ Журнала регистрации не дал результатов, мы можем перехватить ошибку непосредственно в процессе выполнения кода. Для этого запустим конфигурацию в режиме «Конфигуратор», перейдем в меню Отладка — Подключения..., в открывшемся окне нажмем кнопку Настройка и установим флажок Автоматически подключать фоновые задания.

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

---

Шаг 2. Разрешение конфликта приоритетов (Вытеснение начислений)

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

Если в настройках программы не заданы правила взаимного исключения этих начислений, система пытается рассчитать оба вида расчета за один и тот же день, что логически и математически невозможно. Возникает конфликт проведения.

Выясним, как настроить вытеснение и приоритеты начислений:

  1. Перейдем в раздел меню Настройка — Начисления.
  2. Найдем в списке основное плановое начисление сотрудника, которое вызывает ошибку (например, Оплата по часовому тарифу или Оплата по окладу) и откроем его карточку.
  3. Перейдем на вкладку Приоритет. Эта вкладка определяет, какие начисления должны вытеснять текущее, а какие вытесняются им самим.
  4. В левой табличной части («Начисления, приоритет которых выше») проверим наличие документа-отклонения. Нам необходимо добавить туда строку Отпуск без сохранения платы (или иной вид отпуска за свой счет, проведенный по сотруднику).
  5. Запишем и закроем настройки начисления.

После этой несложной настройки программа поймет, что в период проведения неоплачиваемого отпуска основное начисление по тарифу рассчитываться и начисляться не должно.

---

Шаг 3. Анализ и исправление влияния документа «Табель»

Часто расчетчики сначала заносят ручной документ Табель, а затем пытаются вносить и рассчитывать отклонения (отпуска, больничные листы), либо наоборот. Это порождает критические противоречия в учете времени.

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

Выполним следующие шаги для диагностики:

  1. Временное распроведение Табеля:

    Найдем документ Табель за расчетный месяц, в который входит данный сотрудник, и временно распроведем его.

  2. Пересчет в Начислении зарплаты:

    Вернемся в документ Начисление зарплаты и взносов, выберем нашего сотрудника и нажмем кнопку Пересчитать сотрудника. Если без проведенного табеля расчет прошел успешно и документ провелся без ошибок — корень проблемы однозначно крылся в табеле учета рабочего времени.

  3. Корректировка и перезаполнение Табеля:

    Чтобы восстановить корректный учет, откроем документ Табель, перезаполним его по данному сотруднику (или вручную исправим конфликтные дни: на период отпуска должен стоять строго код «ОЗ» и 0 рабочих часов). Проведем табель заново и убедимся, что последующий расчет зарплаты проходит штатно.

---

Шаг 4. Устранение технических ошибок данных сотрудника

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

Рассмотрим методику «оздоровления» данных сотрудника:

  1. Перезапуск плановых начислений:

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

  2. Проверка графика работы на предмет «Деления на ноль»:

    В практике работы с 1С:ЗУП 3.1 встречается техническая ошибка, когда при расчете нормы времени программа пытается обратиться к графику работы сотрудника, но не находит заполненных дней на текущий период. Деление на нулевое количество дней/часов нормы вызывает аварийный останов фонового процесса проведения.

    Перейдем в карточку сотрудника, проверим назначенный ему график работы и индивидуальный график (если он создавался). Убедимся, что график заполнен на весь текущий календарный год, а норма времени рассчитана корректно.

Применяя данные шаги последовательно — от анализа Журнала регистрации до настройки вытеснения начислений и проверки корректности табельного учета — мы сможем оперативно диагностировать и устранить любые препятствия при расчете заработной платы сотрудников в 1С:ЗУП 3.1 КОРП.

← На главную