Переход на новые версии конфигураций 1С:Зарплата и управление персоналом (ЗУП) и 1С:Зарплата и кадры государственного учреждения (ЗКГУ) — это всегда ответственный шаг, который может преподнести неприятные сюрпризы расчетчикам. Одним из наиболее частых и сложных сбоев при переходе на ветку релизов 3.1.9 (в частности, на релиз 3.1.9.159) стало внезапное появление «фантомных» долгов организации перед сотрудниками или наоборот. В расчетных листках за текущий месяц неожиданно начинают отображаться миллионные долги, тянущиеся из давно закрытых периодов прошлых лет (например, начала 2018 или даже 2017 года), хотя фактически все выплаты тогда были произведены вовремя и в полном объеме.
В рамках этой статьи мы подробно проанализируем природу этого программного сбоя, разберем скрытые механизмы платформы 1С, приводящие к искажению взаиморасчетов, и предоставим пошаговые инструкции по устранению данной проблемы без нарушения целостности сданной отчетности.
---
При переходе на новые редакции программы расчетчики часто сталкиваются с ситуацией, когда «плывут» остатки по взаиморасчетам. Давайте разберем три основные причины, почему это происходит именно при обновлении на версию 3.1.9:
НачислениеЗарплатыИВзносов на вкладке «Доначисления, перерасчеты» появляются строки за прошлые годы, которые и формируют фантомные долги.
ВзаиморасчетыССотрудникамиБухгалтерскиеВзаиморасчетыССотрудникамиЗарплатаКВыплате---
Перед тем как приступать к исправлениям, нам необходимо точно выяснить, что именно произошло: действительно ли кто-то физически изменил («пересчитал и провел») старый документ начисления, или же это результат работы фоновых алгоритмов обновления. Проведем диагностику по шагам.
Шаг 1. Сравнение с бумажным архивом. Возьмите распечатанный в исследуемом периоде (например, в январе 2018 года) свод или расчетный листок конкретного сотрудника и сформируйте аналогичный отчет в текущей базе данных. Если суммы начислений в текущей базе отличаются от бумажного оригинала, значит, документ за этот период был изменен или пересчитан.
Шаг 2. Проверка Журнала регистрации. Перейдите в раздел Администрирование — Обслуживание — Журнал регистрации. Настройте отбор по метаданным, выбрав документ НачислениеЗарплатыИВзносов за подозрительный месяц и посмотрите, кто и когда производил его изменение или перепроведение. Это позволит исключить фактор «шаловливых ручек» пользователей.
Шаг 3. Поиск аналитической пересортицы. Для выявления расхождений по аналитике воспользуемся техническим средством платформы — напишем запрос или настроим Универсальный отчет по регистру накопления ВзаиморасчетыССотрудниками. Нам нужно вывести остатки в разрезе сотрудников, статей финансирования и статей расходов.
Для программистов и опытных пользователей полезно запустить в консоли запросов следующий код, чтобы быстро локализовать записи с ненулевым итогом:
ВЫБРАТЬ
Взаиморасчеты.Сотрудник КАК Сотрудник,
Взаиморасчеты.СтатьяФинансирования КАК СтатьяФинансирования,
Взаиморасчеты.СтатьяРасходов КАК СтатьяРасходов,
Взаиморасчеты.ПериодВзаиморасчетов КАК МесяцПериода,
СУММА(Взаиморасчеты.СуммаВзаиморасчетовОстаток) КАК ОстатокДолга
ИЗ
РегистрНакопления.ВзаиморасчетыССотрудниками.Остатки(&Период, ) КАК Взаиморасчеты
СГРУППИРОВАТЬ ПО
Взаиморасчеты.Сотрудник,
Взаиморасчеты.СтатьяФинансирования,
Взаиморасчеты.СтатьяРасходов,
Взаиморасчеты.ПериодВзаиморасчетов
ИМЕЮЩИЕ
СУММА(Взаиморасчеты.СуммаВзаиморасчетовОстаток) <> 0
Если этот запрос возвращает строки, у которых общая сумма по сотруднику в итоге сворачивается в ноль, но «висит» плюс по одной статье финансирования и минус по другой — мы имеем дело с классической пересортицей аналитики, которую новые алгоритмы 3.1.9 ошибочно интерпретируют как реальный долг.
---
Ни в коем случае не пытайтесь перепроводить или пересчитывать документы прошлых лет непосредственно в рабочей базе данных! Это неизбежно приведет к искажению сданной регламентированной отчетности по НДФЛ (6-НДФЛ) и страховым взносам (РСВ). Рассмотрим безопасные и корректные варианты исправления ситуации.
Если проблема вызвана тем, что программа пытается принудительно запустить перерасчет за прошлые периоды в текущем месяце, нам необходимо очистить служебную очередь зарегистрированных перерасчетов.
Del). Данное действие сообщает программе, что перерасчет производить не требуется, и текущие начисления не будут искажены старыми корректировками.Если записей слишком много, для администраторов базы данных будет полезно выполнить обработку по программному удалению ненужных записей из очереди перерасчетов:
// Пример программной очистки зарегистрированных перерасчетов
НаборЗаписей = РегистрыСведений.ОчередьПерерасчетов.СоздатьНаборЗаписей();
// В реальном сценарии можно установить отбор по конкретному сотруднику или периоду
НаборЗаписей.Прочитать();
Если НаборЗаписей.Количество() > 0 Тогда
ТаблицаЗаписей = НаборЗаписей.Выгрузить();
// Удаляем только старые записи (например, старше начала текущего года)
ГраницаДаты = НачалоГода(ТекущаяДата());
Индекс = ТаблицаЗаписей.Количество() - 1;
Пока Индекс >= 0 Цикл
Строка = ТаблицаЗаписей[Индекс];
Если Строка.Период < ГраницаДаты Тогда
ТаблицаЗаписей.Удалить(Строка);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
НаборЗаписей.Загрузить(ТаблицаЗаписей);
НаборЗаписей.Записать();
Сообщить("Успешно очищены старые записи очереди перерасчетов.");
КонецЕсли;
---
Если долги отображаются из-за расхождений в аналитических регистрах накопления (разные статьи финансирования или КОСГУ при нулевом общем балансе), самым чистым решением будет использование технического документа Перенос данных. Этот способ позволяет скорректировать регистры напрямую, не затрагивая документы прошлых лет.
Взаиморасчеты с сотрудникамиБухгалтерские взаиморасчеты с сотрудникамиЗарплата к выплате---
Существует более простой, но весьма эффективный пользовательский метод закрытия аналитических перекосов непосредственно через платежные документы без программирования и корректировки регистров вручную.
---
Для минимизации рисков возникновения подобных сбоев при последующих обновлениях баз 1С:ЗУП и 1С:ЗКГУ рекомендуем придерживаться следующих правил:
Используя приведенные в данной статье методы диагностики и исправления, вы сможете оперативно устранить последствия некорректного перехода на новые алгоритмы расчетов и вернуть показатели учета взаиморасчетов в идеальное состояние.