Ситуация, когда в программе 1С:Зарплата и управление персоналом 3.1 (ЗУП) по уволенному сотруднику внезапно появляется «Долг за сотрудником», хотя в расчетных листках сальдо нулевое — одна из самых частых и запутанных проблем. Бухгалтер видит чистую картину в расчетном листке, но отчет «Задолженность по зарплате» (или «Ведомость по зарплате») упрямо показывает отрицательные суммы. Рассмотрим подробно, почему это происходит и как исправить ситуацию, используя инструменты технического анализа.
Для начала разберем внутреннюю механику программы. В ЗУП 3.1 задолженность перед сотрудниками фиксируется в регистре накопления ЗарплатаКВыплате. В отличие от простых бухгалтерских проводок, этот регистр имеет сложную структуру измерений. Основными измерениями являются:
Проблема «фантомных» долгов почти всегда связана с пересортицей по измерениям. Если зарплата была начислена с указанием одного Документа-основания (например, конкретного документа НачислениеЗарплатыИВзносов), а выплачена без привязки к нему или по другому документу, то общая сумма (ресурс) по сотруднику будет равна нулю, но внутри регистра останутся «висеть» две записи: +1500 по документу А и -1500 по пустому значению. Расчетный листок часто игнорирует аналитику до документа-основания, а новые отчеты по задолженности — нет.
Чтобы подтвердить наши догадки, воспользуемся Универсальным отчетом (раздел Администрирование — Обслуживание — Отчеты администратора или через меню «Все функции» / «Функции для технического специалиста»).
Рассмотрим порядок настройки отчета:
Сотрудник, Статья финансирования, Статья расходов и обязательно Документ-основание.Проанализируем ситуацию: если мы видим строки, где сумма в колонке «Конечный остаток» отлична от нуля в разрезе документов-оснований, но в итоге по сотруднику дает ноль — мы нашли корень проблемы. Часто одна из строк имеет пустой Документ-основание.
Иногда при попытке написать запрос к виртуальной таблице ОстаткиИОбороты мы можем столкнуться с тем, что поле Регистратор принимает значение НЕОПРЕДЕЛЕНО. Рассмотрим пример запроса, который помогает выявить такие записи:
ВЫБРАТЬ
ВЫБОР
КОГДА ЗарплатаКВыплатеОстаткиИОбороты.Регистратор ЕСТЬ NULL
ТОГДА "Начальный остаток"
ИНАЧЕ ЗарплатаКВыплатеОстаткиИОбороты.Регистратор
КОНЕЦ КАК Регистратор,
ЗарплатаКВыплатеОстаткиИОбороты.СуммаКВыплатеНачальныйОстаток КАК НачальныйОстаток,
ЗарплатаКВыплатеОстаткиИОбороты.СуммаКВыплатеКонечныйОстаток КАК КонечныйОстаток,
ЗарплатаКВыплатеОстаткиИОбороты.ДокументОснование КАК ДокументОснование
ИЗ
РегистрНакопления.ЗарплатаКВыплате.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК ЗарплатаКВыплатеОстаткиИОбороты
ГДЕ
ЗарплатаКВыплатеОстаткиИОбороты.Сотрудник = &Сотрудник
Выясним причину появления НЕОПРЕДЕЛЕНО. В виртуальной таблице Остатки и обороты при детализации до регистратора система создает отдельную строку для начального остатка, который пришел из периодов, не входящих в выбранный интервал. У этой строки нет регистратора внутри текущего периода, поэтому платформа подставляет пустое значение. Если сумма по этой строке отрицательная, значит, проблема тянется из прошлых месяцев или даже лет.
Многие пользователи замечают, что после обновления конфигурации отчеты начинают «врать». Это связано с тем, что разработчики 1С постоянно совершенствуют алгоритмы. В новых релизах отчет «Задолженность по зарплате» стал более чувствителен к аналитическим разрезам. Если раньше он мог «схлопывать» суммы по сотруднику в целом, то теперь он детально проверяет соответствие начислений и выплат. Любая ошибка, допущенная бухгалтером год назад (например, ручная правка суммы в ведомости без корректировки расшифровки), теперь «вылезает» в отчетности.
Проанализируем типичные ситуации, которые приводят к разрывам в регистре:
Разберем, как можно «вылечить» базу и убрать эти остатки. Существует несколько методов в зависимости от периода возникновения ошибки.
Если ошибка произошла в текущем или недавно закрытом периоде (и это не повлечет за собой изменение налогов), можно попробовать перезаполнить ведомость, которой выплачивался расчет. При нажатии кнопки «Заполнить» программа пересчитает остатки по регистру и попытается правильно подобрать документы-основания.
Для исправления старых «хвостов» уволенных сотрудников, когда лезть в прошлые периоды нельзя, используем технический документ Перенос данных (раздел Администрирование — Переносы данных).
Выполним следующие шаги:
Перенос данных.В некоторых случаях помогает стандартная процедура Тестирование и исправление (ТиИ) через конфигуратор (с галками «Пересчет итогов» и «Очистка ссылок»), но, как показывает практика, при пересортице документов-оснований она редко дает результат, так как записи в регистре физически существуют и не являются «битыми» — они просто некорректны с точки зрения логики учета.
Важный совет: Перед любыми операциями по правке регистров обязательно делайте резервную копию базы данных. После внесения правок документом Перенос данных обязательно сформируйте отчет «Задолженность по зарплате» повторно, чтобы убедиться, что отрицательные показатели исчезли.
Таким образом, мы выяснили, что отрицательные остатки в ЗУП 3.1 — это не мистика, а следствие строгой проверки аналитики в современных релизах. Используя Универсальный отчет и документ корректировки записей регистров, вы сможете привести учет в порядок и избавиться от некорректных данных по уволенным сотрудникам.