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