Каждый бухгалтер по расчету заработной платы может столкнуться с крайне неприятной ситуацией: при формировании отчета «Расчетный листок» за текущий или прошлые периоды начисления сотрудников отображаются в полном объеме, а вот раздел с выплатами внезапно оказывается абсолютно пустым. При этом сами документы выплаты (ведомости) созданы, проведены и никаких видимых ошибок в базе нет. Более того, по соседней организации в той же информационной базе все отчеты могут формироваться корректно.
В этой статье мы подробно разберем, почему возникает подобный технический сбой в программе 1С:Зарплата и управление персоналом 3.1, исследуем внутренние механизмы работы отчетов и регистров накопления, а также рассмотрим пошаговые алгоритмы диагностики и исправления этой ошибки.
Для того чтобы понять, почему исчезают выплаты, заглянем «под капот» программы. Отчет «Расчетный листок» (а также его аналоги, такие как «Анализ зарплаты по сотрудникам») — это сложный инструмент, который собирает информацию из нескольких источников данных. Данные о выплатах аккумулируются в специализированных регистрах накопления:
Взаиморасчеты с сотрудникамиБухгалтерские взаиморасчеты с сотрудникамиВ момент формирования отчета система делает сложный запрос, соединяя записи этих регистров со справочником Подразделения для того, чтобы соотнести каждую конкретную выплату с нужной организацией. Если пользователь открывает карточку подразделения и меняет в ней реквизит Организация (например, с Организации А на Организацию Б), в базе происходит логический разрыв:
Таким образом, простое изменение одного реквизита в справочнике подразделений способно полностью «сломать» историческую отчетность за несколько месяцев или даже лет.
Рассмотрим, как локализовать и подтвердить эту проблему, если вы столкнулись с подобным поведением системы.
Шаг 1. Проверка отборов в отчете
Прежде всего, нам необходимо убедиться, что проблема не связана со случайным сбросом настроек самого отчета. Для этого выполним простую проверку: сформируем отчет без жесткой фильтрации по организации. Если при формировании общего отчета по всем компаниям выплаты возвращаются на свои места, значит, мы имеем дело именно с нарушением аналитики.
Шаг 2. Анализ настроек структуры отчета
Проверим настройки вывода выплат в расчетном листке:
Шаг 3. Использование «Универсального отчета» для выявления расхождений
Чтобы точно определить, в каких именно записях базы данных поехала аналитика организации и подразделения, мы можем воспользоваться универсальным инструментом платформы:
Организация, Сотрудник, Подразделение, Документ-регистратор.Помимо изменения реквизитов в справочнике подразделений, к аналогичным последствиям могут привести еще несколько распространенных ошибок:
Начисление зарплаты и взносов, может ориентироваться на дату самого документа начисления и «не видеть» выплаты, проведенные более поздними датами, в отличие от отчета, запущенного из общего интерфейса программы.Для исправления ситуации в первую очередь необходимо вернуть правильную организацию в карточку измененного подразделения. Как только соответствие справочников будет восстановлено, выплаты мгновенно вернутся во все исторические расчетные листки.
Чтобы избежать подобных инцидентов в будущем, рекомендуем внедрить следующие административные и технические меры:
В программе 1С:ЗУП 3.1 категорически запрещено менять организацию в существующей карточке подразделения, если по нему уже велись расчеты! Правильный алгоритм действий выглядит так:
Кадровый перевод или Перевод к другому работодателю).Для предотвращения случайного редактирования прошлых периодов обязательно используйте механизм даты запрета редактирования. Настроить его можно в разделе «Администрирование» — «Поддержка и обслуживание» — «Дата запрета изменения данных». Установите запрет не только для документов, но и для справочников информационной базы.
Большинство подобных критических изменений в справочниках и проведенных документах пользователи совершают с помощью обработки «Групповое изменение реквизитов». Рекомендуется ограничить доступ к этой обработке для рядовых расчетчиков и кадровиков, оставив эти функции исключительно под контролем системного администратора или ответственного за ведение базы.