Рассмотрим распространенную проблему в конфигурациях «1С:Зарплата и Управление Персоналом 2.5», «1С:Управление производственным предприятием 1.3» и «1С:Комплексная автоматизация 1.1». При заполнении документа Табель у сотрудницы во второй половине месяца или за весь месяц автоматически проставляется код времени ОЖ (Отпуск по уходу за ребенком без оплаты) вместо явки (Я), хотя декретный отпуск завершился несколько лет назад и работница давно выполняет свои обязанности.
При этом, если распровести документ Увольнение из организаций, табель заполняется корректно. Но стоит снова провести увольнение — в табеле опять появляется ОЖ. Проанализируем причину такого поведения программы и разберем по шагам варианты устранения этой ошибки.
Данное поведение связано с зарегистрированной ошибкой платформы и конфигураций под номером 20009905. При проведении документа Увольнение из организаций система формирует движения по плановым начислениям и состояниям. Если ранее на сотрудницу регистрировался документ Отпуск по уходу за ребенком, то при заполнении табеля алгоритм запроса некорректно анализирует историю плановых видов расчета. Запрос воспринимает ранее прекращенный вид расчета «Отпуск по уходу за ребенком без оплаты» как действующий на момент увольнения, из-за чего на весь период до даты увольнения проставляется код ОЖ.
Если конфигурация находится на поддержке с возможностью изменения, наиболее капитальным решением является исправление текста запроса в модуле документа УвольнениеИзОрганизаций. Разберем, какое место в коде необходимо подкорректировать.
В модуле документа в процедуре СформироватьЗапросПоРаботникиОрганизации найдем блок формирования временной таблицы ВТПлановыеНачисления. Нам необходимо изменить условие проверки дат прекращения начисления:
И (ВЫБОР
КОГДА НачисленияРаботниковОрганизации.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
ТОГДА Док.ДатаУвольнения <= НачисленияРаботниковОрганизации.ПериодЗавершения
ИНАЧЕ ИСТИНА
КОНЕЦ)
После изменения кода процедура начнет корректно сравнивать дату увольнения с датой завершения декретного отпуска. Для применения изменений перепроведем документ Увольнение из организаций по данной сотруднице и заново перезаполним документ Табель.
Если конфигурация находится на типовой поддержке и вносить изменения в модуль запрещено, применим пользовательский метод решения задачи:
Ввод сведений о плановых начислениях сотрудников организаций.Увольнение из организаций.Табель.Благодаря явному документу прекращения начисления алгоритм проведения увольнения зафиксирует окончание вида расчета и перестанет проставлять ОЖ в табеле.
Еще один рабочий способ без правки кода — использование документа Корректировка записей регистров:
Корректировка записей регистров.Плановые начисления работников организаций.В некоторых случаях вызывать проблему могут сопутствующие факторы учетного процесса. Проверим следующие моменты:
Возврат на работу организаций. Если документ отсутствовал, статус сотрудника в регистре Состояние сотрудников организаций мог остаться активным.Начисление зарплаты работникам организаций или Регистрация разовых начислений), перед перезаполнением табеля временно распроведем эти расчетные документы.Индивидуальный график на месяц увольнения с явным указанием рабочих часов (вид времени Я). Индивидуальный график имеет более высокий приоритет при автозаполнении табеля.