Почему сотрудник отсутствует в виртуальной таблице «ФактическийПериодДействия» регистра расчета в 1С?

Программист 1С v8.3 (Обычные формы)
← На главную

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

Суть работы виртуальной таблицы периода действия

Виртуальная таблица ФактическийПериодДействия регистра расчета не хранится в базе данных на постоянной основе. Платформа 1С формирует её динамически в момент запроса, рассчитывая фактические интервалы работы сотрудника с учетом правил вытеснения, настроенных в Плане видов расчета (ПВР).

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

Возможные причины отсутствия записи сотрудника

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

  1. Полное вытеснение периода действия: Самая частая причина. На период основного начисления (например, «Оплата по часам» или «Оплата по окладу») зарегистрирован вытесняющий документ — отпуск без сохранения ЗП, больничный лист или командировка.
  2. Настройки Плана видов расчета (ПВР): В свойствах вида расчета может быть снят флаг ИспользоватьПериодДействия, либо вытесняющий вид расчета не внесен в списки вытеснения.
  3. Снятый флаг «Активность»: Если у записи регистра расчета флаг Активность установлен в значение Ложь, платформа игнорирует её при расчете интервалов.
  4. Различные измерения регистра: Вытеснение происходит только при полном совпадении ключевых измерений (например, Сотрудник и Организация). Если документы оформлены с разной детализацией или на разные назначения, вытеснение не сработает корректно.
  5. Нарушение хронологии ввода документов: При вводе вытесняющих документов задним числом без последующего перерасчета или перепроведения расчетов движения регистров могут оставаться в неактуальном состоянии.

Алгоритм диагностики и решения проблемы

Разберем по шагам, как проверить и устранить причину отсутствия записи:

  1. Проверяем наличие документов-отклонений: Проанализируем регистры сведений состояний сотрудников и движения по регистру расчета за интересующий период. Убедимся, что на имя сотрудника не оформлены документы «Отпуск без сохранения заработной платы», «Больничный лист» или «Невыходы».
  2. Анализируем настройки вытеснения: Откроем План видов расчета ОсновныеНачисленияРаботниковОрганизаций и проверим вкладку «Вытеснение» для основного вида расчета. В списке вытесняющих видов расчета должен присутствовать введенный документ-отклонение.
  3. Проверяем измерения регистра: Сравним значения измерений Сотрудник, Организация и других ключевых полей в основном и вытесняющем документах. Они должны совпадать полностью.
  4. Выполняем перепроведение: Если документы вводились не по порядку, перепроведем документы отклонений и начислений в строгой хронологической последовательности.
← На главную