При работе в программах 1С:Зарплата и кадры государственного учреждения (ЗКГУ) или 1С:Зарплата и управление персоналом (ЗУП) редакции 3.1 бухгалтеры часто сталкиваются со следующей неприятной ситуацией: расчет заработной платы за месяц производится абсолютно корректно, однако в шапке печатной формы Расчетный листок выводится неверный оклад (тарифная ставка). Сумма в отчете может соответствовать старому окладу сотрудника или значению по умолчанию из штатного расписания, хотя фактически в кадровых документах установлена совершенно иная величина.
В рамках данной статьи мы подробно разберем, почему возникает эта ошибка, какие внутренние механизмы конфигурации за это отвечают, и как решить проблему самостоятельно, даже если ваша база находится в облачном сервисе и у вас нет возможности привлекать программистов или перепроводить документы за прошлые закрытые периоды.
Для того чтобы понять природу этой ошибки, нам необходимо заглянуть во внутреннюю архитектуру решений на платформе 1С:Предприятие 8. В отличие от старых версий (например, ЗУП 2.5), где тарифная ставка для печатных форм считывалась напрямую из актуального кадрового приказа в режиме реального времени, в редакции 3.1 применяется более сложная и оптимизированная система хранения данных. Оклад в расчетном листке и в личной карточке сотрудника подтягивается из специальных периодических регистров сведений:
ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников — этот регистр хранит историю изменения всех тарифных ставок, окладов и индивидуальных коэффициентов сотрудников на каждый день.ПлановыйФОТИтоги — в данном регистре рассчитывается совокупная тарифная ставка сотрудника и плановый фонд оплаты труда (ФОТ), используемый для формирования аналитической отчетности.В релизах ветки 3.1.4 и вплоть до версии 3.1.5.129 существовала критическая программная ошибка. Если оклад сотрудника изменялся не стандартным документом КадровыйПеревод, а специализированными документами, такими как ИзменениеОплатыТруда, ИзменениеПлановыхНачислений или ИндексацияЗаработка, программа производила расчет зарплаты верно (так как формулы использовали актуальные данные документов начисления), но при этом новые значения тарифов не записывались в периодические регистры ФОТ или записывались туда некорректно. В результате в регистрах оставались «зависшие» старые сведения, которые и выводились в шапку расчетного листка.
Давайте подробно разберем несколько практических способов решения этой проблемы по шагам.
Поскольку данное поведение программы официально признано зарегистрированной ошибкой разработчиков 1С, наиболее надежным и правильным решением является обновление вашей базы данных. Разработчики полностью исправили некорректное поведение регистров при изменении оплаты труда начиная с релиза 3.1.5.170 (и во всех последующих актуальных версиях веток 3.1.8, 3.1.10 и старше).
Если ваша информационная база находится в облаке (например, под управлением сервисов автоматического обновления), вам необходимо обратиться к вашему провайдеру или обслуживающему системному администратору с требованием обновить конфигурацию до актуального релиза. После успешного обновления новые кадровые изменения будут автоматически и корректно регистрироваться в системе.
Что делать, если база находится в облаке, оперативно обновить ее нет возможности, а сдавать отчетность и выдавать расчетные листки нужно прямо сейчас? Перепроводить документы задним числом крайне нежелательно, так как это может привести к непроизвольному запуску механизмов автоматического пересчета прошлых периодов. Для таких ситуаций разработчики предусмотрели специальный безопасный инструмент.
Выполним следующие действия по шагам:
Этот процесс принудительно перезапишет данные в регистре сведений ПлановыйФОТИтоги на основании действующих документов, не затрагивая при этом сами документы начислений и не требуя их перепроведения. После завершения обработки сформируем расчетный листок заново — оклад в шапке примет актуальное значение.
Иногда старый оклад может продолжать фигурировать в отчетах из-за некорректных настроек самих видов расчета (начислений), особенно если сотрудник переводился с одного вида тарифа на другой (например, с оплаты по окладу на оплату по часовому тарифу).
Проанализируем настройки программы:
Если у вас есть полные права доступа к базе данных (например, роль Администратора в облаке), вы можете напрямую проверить наличие задвоенных записей в регистрах сведений без перепроведения документов. Для этого выполним следующие действия:
Плановый ФОТ итоги.Значения периодических показателей расчета зарплаты (для сотрудников).Для выявления подобных расхождений технический специалист может использовать простой запрос к базе данных. Рассмотрим пример запроса, который позволяет быстро выявить сотрудников с задвоением показателей в регистре планового ФОТ:
ВЫБРАТЬ
ПлановыйФОТИтоги.Сотрудник КАК Сотрудник,
ПлановыйФОТИтоги.Период КАК Период,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПлановыйФОТИтоги.ПутьКДаннымФОТ) КАК КоличествоЗаписей
ИЗ
РегистрСведений.ПлановыйФОТИтоги КАК ПлановыйФОТИтоги
СГРУППИРОВАТЬ ПО
ПлановыйФОТИтоги.Сотрудник,
ПлановыйФОТИтоги.Период
ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПлановыйФОТИтоги.ПутьКДаннымФОТ) > 1
Если данный запрос возвращает строки с сотрудниками, это подтверждает наличие системной ошибки записи в регистры, и к таким сотрудникам необходимо применить Решение 2 (Пересчет планового ФОТ) либо обновить конфигурацию до исправленного релиза.
Используя предложенные методики, мы сможем быстро и безболезненно навести порядок в личных карточках сотрудников и расчетных листках организации, избежав при этом опасного перепроведения исторических кадровых документов.