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