Как исправить некорректную начальную и конечную задолженность в ЗУП 3.1 после переноса из Бухгалтерии 3.0

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет
← На главную

При переходе на 1С:Зарплата и управление персоналом 3.1 с программы 1С:Бухгалтерия предприятия 3.0 (особенно если она ранее была обновлена с версии 2.0) пользователи часто сталкиваются с проблемой «раздутого» сальдо. В расчетных листках и отчетах по взаиморасчетам внезапно появляются огромные суммы, которые могут включать в себя весь доход сотрудника за несколько лет, хотя фактической задолженности перед персоналом нет. Разберем детально, почему это происходит и как привести учет в порядок.

Выясняем причину возникновения некорректного сальдо

Прежде чем приступать к правкам, проанализируем механизм переноса. В отличие от упрощенного учета в БП 3.0, система ЗУП 3.1 крайне требовательна к аналитическому учету. Взаиморасчеты здесь ведутся в разрезе четырех обязательных измерений:

  1. Сотрудник
  2. Организация
  3. 组织
  4. Период взаиморасчетов (месяц, за который начислена зарплата)
  5. Статья расходов (аналитика, определяющая вид затрат)

Рассмотрим типовую ситуацию: в базе-источнике (БП 3.0) документ начисления имел заполненную статью расходов, а в документе выплаты (ведомости) эта аналитика была пустой. В самой Бухгалтерии это могло не бросаться в глаза, но при загрузке в ЗУП 3.1 программа видит две разные записи. Одна запись формирует долг организации перед сотрудником по конкретной статье расходов, а вторая — переплату сотруднику по «пустой» статье. В итоге итоговое сальдо в отчете может выглядеть как ноль, но в разрезе аналитики регистры будут «разорваны», что и приводит к некорректному отображению в расчетных листках.

Проанализируем также исторический аспект. Если база БП 3.0 когда-то была получена путем перехода из БП 2.0, в ней неизбежно накопились «хвосты» — копеечные остатки или незакрытые обороты прошлых лет. ЗУП при переносе документов Перенос данных подтягивает все движения, и старые ошибки всплывают на поверхность.

Проверка регистров через Универсальный отчет

Для того чтобы увидеть проблему «глазами программы», воспользуемся инструментом Универсальный отчет (раздел Администрирование — Печатные формы, отчеты и обработки). Проанализируем состояние регистров накопления, которые отвечают за формирование сальдо:

В настройках отчета обязательно укажем группировку по всем измерениям, включая Статью расходов и Период взаиморасчетов. Если мы увидим строки с одинаковыми суммами, но одна из которых имеет заполненную статью, а другая — нет, значит, мы нашли источник проблемы. Проанализируем ситуацию: для исправления нам нужно «схлопнуть» эти записи.

Способ 1: Исправление первичных документов переноса

Если перенос выполнялся «с историей» за несколько лет, программа создает документы Перенос данных. Найдем их в разделе Администрирование. Нас интересуют документы с кодами:

Рассмотрим пошагово процесс исправления:

  1. Откроем документ Перенос данных, сформированный датой начала эксплуатации.
  2. Перейдем на вкладку нужного регистра (например, Взаиморасчеты с сотрудниками).
  3. Найдем строки, где аналитика заполнена не полностью или некорректно.
  4. Внесем исправления вручную, заполнив пустые поля Статья расходов соответствующими значениями (обычно это «ОТ» — оплата труда).

Важно: Этот способ трудозатратен, если сотрудников много. Рассмотрим более автоматизированный подход.

Способ 2: Техническое «схлопывание» остатков

Вместо правки старых документов, мы можем создать корректирующий документ Перенос данных на дату, предшествующую началу ведения учета в ЗУП (например, на 31 декабря предыдущего года). Проанализируем, как правильно заполнить этот документ для очистки регистров.

Нам необходимо добавить две строки по каждому сотруднику, у которого «зависло» сальдо:

  1. Первая строка: Вид движения — Расход. Указываем все те же измерения (пустые или некорректные), которые мы видели в Универсальном отчете. Сумма должна соответствовать «зависшему» остатку.
  2. Вторая строка: Вид движения — Приход. Указываем правильные измерения (верную статью расходов, актуальный период).

Этот метод позволяет технически закрыть некорректные разрезы учета, не удаляя историю начислений. Выясним, какие регистры нужно включить в настройку состава состава регистров документа Перенос данных:

Способ 3: Обнуление сальдо и ввод чистых остатков

Если данные в БП 3.0 были настолько запутаны, что искать конкретные ошибки нет смысла, применим радикальный, но эффективный метод — «обрезку» сальдо. Рассмотрим этот алгоритм подробнее:

Шаг 1. Полностью обнуляем регистры взаиморасчетов. Создаем документ Перенос данных, где по всем сотрудникам делаем движение Расход на всю сумму текущего сальдо по всем измерениям. После проведения документа сальдо во всех отчетах должно стать нулевым.

Шаг 2. Вводим корректные остатки. Используем специальный документ Начальная задолженность по зарплате. Найти его можно через форму «Функции для технического специалиста» или по ссылке e1cib/list/Документ.НачальнаяЗадолженностьПоЗарплате. В этом документе мы просто указываем реальную сумму долга (или переплаты) перед сотрудником на дату начала учета, заполняя правильную статью расходов.

Особенности работы с документом «Начальная задолженность по зарплате»

Посмотрим на нюансы работы с этим документом. Он делает движения сразу по нескольким регистрам, что избавляет нас от ручного заполнения технических таблиц. Однако стоит помнить, что:

Выясним причину, почему документ может отсутствовать в интерфейсе. Обычно это происходит, если в помощнике начальной настройки был выбран вариант переноса «с сохранением всей истории». В этом случае программа предполагает, что все движения регистров уже перенесены документами Перенос данных, и скрывает журнал Данные на начало эксплуатации.

Работа с программным кодом для исправления аналитики

Если количество сотрудников исчисляется сотнями, ручная правка невозможна. В таких случаях программисты используют внешние обработки для корректировки регистров. Разберем пример логики, которую можно реализовать для массового исправления пустых статей расходов в регистрах накопления:


// Пример логики для обработки:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | Взаиморасчеты.Регистратор,
               | Взаиморасчеты.НомерСтроки,
               | Взаиморасчеты.Сотрудник
               |ИЗ
               | РегистрНакопления.ВзаиморасчетыССотрудниками КАК Взаиморасчеты
               |ГДЕ
               | Взаиморасчеты.СтатьяРасходов = ЗНАЧЕНИЕ(Справочник.СтатьиРасходовЗарплата.ПустаяСсылка)";

Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
    // Здесь может быть код по замене пустой статьи на статью по умолчанию
    // Важно: движения документов "Перенос данных" лучше править через их объектную модель
КонецЦикла;

Проанализируем данный подход: прямое исправление записей регистра — процедура опасная. Рекомендуется программно создавать новые документы Перенос данных, которые будут выполнять корректирующие движения (реверс ошибочных строк и запись правильных).

Заключение и рекомендации

Подведем итоги нашего исследования. Некорректное сальдо в ЗУП 3.1 после переноса из БП 3.0 — это почти всегда следствие «грязных» данных в базе-источнике или разрыва аналитики по статьям расходов. Для исправления ситуации мы рекомендуем:

  1. Проверить конечное сальдо в БП 3.0. Если оно неверное там, исправлять его в ЗУП бессмысленно до очистки источника.
  2. Использовать Универсальный отчет для локализации «битых» измерений.
  3. При небольшом объеме данных — исправить документы Перенос данных с кодами ВЗ.
  4. При большом объеме — создать один корректирующий Перенос данных для «схлопывания» остатков по пустым аналитикам.
  5. В самых сложных случаях — обнулить регистры и ввести чистые остатки через документ Начальная задолженность по зарплате.

Помните, что любые манипуляции с регистрами взаиморасчетов следует проводить на копии базы, после чего тщательно сверять Расчетный листок и отчет Анализ зарплаты по сотрудникам (в целом за период). Правильное сальдо — залог корректного автоматического заполнения ведомостей на выплату зарплаты в будущем.

← На главную