Почему в начислении «Доплата за совмещение» отображается неверное количество отработанных дней?

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

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

Шаг 1. Анализируем регистр накопления «РабочееВремяРаботниковОрганизаций»

Первым делом необходимо выяснить, откуда система берет данные. Основным источником информации о фактически отработанном времени является регистр накопления РабочееВремяРаботниковОрганизаций. Именно здесь хранятся движения, которые потом подтягиваются в документ Начисление зарплаты.

Для диагностики выполним следующие действия:

  1. Откроем Универсальный отчет (или консоль запросов).
  2. Выберем регистр накопления РабочееВремяРаботниковОрганизаций.
  3. Установим отбор по конкретному сотруднику и периоду (месяцу, в котором возникла ошибка).
  4. Проанализируем записи. Если вы видите, что сумма дней по всем записям превышает норму, значит, в систему внесены дублирующие документы или записи, которые ошибочно увеличивают стаж или время работы.

Шаг 2. Проверяем настройки «Вида времени» в начислении

Одной из наиболее частых причин некорректного расчета является отсутствие или неверная настройка вида времени в самом начислении. Если поле Вид времени не заполнено, 1С может по умолчанию интерпретировать «Отработано времени» как совокупность всех явок, включая пересекающиеся записи.

Рассмотрим порядок действий:

  1. Откроем план видов расчета, используемый для доплаты за совмещение.
  2. Перейдем на вкладку Учет времени.
  3. Убедимся, что для данного начисления выбран конкретный вид времени, например, Явка.
  4. Если поле пустое, система может суммировать все состояния сотрудника, что приводит к завышенным показателям (например, 46 дней вместо 20).

Шаг 3. Влияние табеля учета рабочего времени

Хотя документ Табель учета рабочего времени кажется очевидным решением, важно понимать, что его заполнение лишь уточняет данные. Если после проведения табеля показатель «Отработано времени» не меняется, значит, формула начисления игнорирует данные табеля и обращается напрямую к графикам или регистрам.

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

Шаг 4. Анализ программного кода

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

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


Функция ПолучитьТекстПоказателя(НеобходимыеДанные, ВидПВР, Предопределенный = Ложь, КомментироватьРасчет)
    // Здесь происходит запрос к данным для формирования базы расчета
    // Важно проверить, накладываются ли условия по периоду и виду времени
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ ... ИЗ РегистрНакопления.РабочееВремяРаботниковОрганизаций ...";
    // ... логика обработки
КонецФункции

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

Итог: что делать, если проблема сохраняется?

Если вышеперечисленные шаги не привели к успеху, попробуйте следующее:

Работая над этой задачей, вы обязательно обнаружите «дублирующую» запись, которая портит отчетность, и сможете оперативно ее нейтрализовать!

← На главную