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