Очистка накопительных регистров в 1С ЗУП: убираем дубли и лишние записи

· 9 мин

Содержание

Накопительные регистры в 1С ЗУП чистят не удалением строк напрямую, а перепроведением документов и пересчётом итогов — записи регистров подчинены документам-регистраторам, и редактировать их в обход документа без крайней нужды нельзя. Если в отчётах задвоились суммы по НДФЛ, взносам или взаиморасчётам с сотрудниками, в 90 случаях из 100 помогает групповое перепроведение, а не ручная зачистка.

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

Перед любой правкой движений сделайте резервную копию информационной базы. Откатить неудачную корректировку регистров штатными средствами нельзя — только восстановлением из копии.

Почему в регистрах ЗУП появляется задвоение

Накопительный регистр — это таблица движений: приход и расход сумм или количеств по сотрудникам, периодам и видам расчёта. Документы пишут в него записи при проведении. Лишние или задвоенные записи обычно появляются по нескольким причинам:

  • 🔁 один и тот же документ провели дважды (копия документа, которую забыли удалить);
  • ⚙️ сбой при групповом перепроведении или обновлении конфигурации — часть движений записалась, часть нет;
  • 📥 некорректный перенос данных из другой базы или из старой редакции ЗУП;
  • 🛠 ручная корректировка движений, сделанная без понимания логики регистра;
  • 💥 аварийное завершение сеанса во время проведения (отключили питание, зависла служба).

Чаще всего задваиваются регистры, в которые пишет сразу много документов за период: исчисленный и удержанный НДФЛ, расчёт страховых взносов, взаиморасчёты с сотрудниками. Именно по ним расхождения заметнее всего — они сразу попадают в отчётность в СФР и в налоговую.

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

Диагностика: как найти лишние записи универсальным отчётом

Главный инструмент диагностики — «Универсальный отчёт». Он читает любой регистр напрямую и показывает все движения без фильтров прикладной логики.

Чтобы его открыть, включите режим «Все функции»: Главное меню → Сервис → Параметры → Отображать команду «Все функции». После этого отчёт доступен через Главное меню → Все функции → Отчёты → Универсальный отчёт.

Настройте отчёт по шагам:

  1. В поле типа источника выберите Регистр накопления.
  2. Укажите нужный регистр — например, взаиморасчёты с сотрудниками, исчисленный НДФЛ или расчёт страховых взносов.
  3. В таблице данных выберите Движения, чтобы видеть отдельные записи, а не свёрнутые итоги.
  4. В настройках сгруппируйте данные по регистратору (документу) и по сотруднику, выведите в показатели сумму и период.

Дубль виден так: по одному сотруднику и периоду стоят два одинаковых прихода от разных документов либо от одного документа, но с разными моментами времени. Запишите номера документов-регистраторов — именно их придётся перепроводить или распроводить.

Простой пример. По сотруднику за март в регистре исчисленного НДФЛ лежат две записи по 13 000 ₽ от двух разных документов начисления зарплаты. В расчётном листке — одна сумма налога 13 000 ₽, в регистре — 26 000 ₽. Значит, второй документ начисления лишний: его провели повторно. Лечение — распровести лишний документ и перепровести период, а не править регистр руками.

Сравните цифры регистра с расчётными ведомостями и со сводом начислений. Если отчёты показывают верную сумму, а регистр — удвоенную, проблема точно в движениях, а не в самих начислениях.

Для контроля итогов по НДФЛ и взносам удобны «Анализ НДФЛ по месяцам» и «Проверка расчёта взносов» — расхождение между начисленным и тем, что лежит в регистре, подтверждает задвоение.

Какой способ очистки выбрать

Что именно случилось с регистром?

Коротко, какой способ чем отличается:

СпособКогда применятьРиск
Перепроведение документовЗадвоение после сбоя, обновления, повторного проведенияНизкий: движения пишутся по штатной логике
Пересчёт итоговДвижения верные, а отчёты показывают старые остаткиНет: итоги перестраиваются, движения не трогаются
Ручная корректировкаРазовая правка одной-двух строкСредний: отключается автопересчёт движений
Тестирование и исправлениеПовреждение базы, «висячие» записи после аварииСредний: нужен монопольный доступ
Внешняя обработкаМассовое удаление по условию, зачистка после переносаВысокий: прямая запись в базу, только на копии

Перепроведение документов — основной и безопасный способ

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

Групповое перепроведение запускается через Главное меню → Все функции → Обработки → Групповое перепроведение документов. В форме:

  1. Задайте период — тот месяц или квартал, где нашли дубли.
  2. Отметьте нужные виды документов (начисления зарплаты, ведомости, больничные, отпуска).
  3. Запустите перепроведение и дождитесь завершения.

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

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

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

Если после перепроведения дубль исчез в регистре, но остался в отчёте — дело в итогах, переходите к их пересчёту.

Ручная корректировка движений документа

Когда нужно поправить одну-две записи, а полное перепроведение по какой-то причине нежелательно, движения правят вручную — но только через документ, который их породил.

Откройте документ-регистратор. В его командной панели найдите команду показа движений по регистрам (кнопка с записями регистров или Ещё → Движения документа). В открывшейся форме движений установите флаг ручной корректировки — он разблокирует редактирование строк.

После этого можно:

  • удалить лишнюю строку движения;
  • исправить сумму, период или сотрудника в строке;
  • добавить недостающую запись.

Флаг ручной корректировки отключает автоматический пересчёт движений этого документа. Пока флаг стоит, повторное проведение не перезапишет строки — вы берёте ответственность за содержимое регистра на себя. Снимайте флаг и перепроводите документ только когда убедитесь, что автоматические движения снова корректны.

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

Пересчёт итогов и тестирование базы

Накопительный регистр хранит не только движения, но и предрассчитанные итоги — для быстрого получения остатков. Иногда движения уже верные, а итоги отстали: отчёты показывают старые цифры.

Пересчёт итогов запускается обработкой Главное меню → Все функции → Стандартные → Управление итогами. Выберите регистры, задайте период и выполните пересчёт. Операция безопасна: она не меняет движения, только перестраивает служебные таблицы итогов.

Если проблема глубже — повреждена структура базы, после сбоя остались «висячие» записи — помогает тестирование и исправление:

  1. Закройте все сеансы и зайдите в Конфигуратор.
  2. Откройте Администрирование → Тестирование и исправление.
  3. Отметьте проверки, включая реиндексацию и пересчёт итогов.
  4. Выберите режим «Тестирование и исправление» (не только тестирование) и запустите.

Тестирование и исправление требует монопольного доступа — все пользователи должны выйти, иначе операция не начнётся. В клиент-серверной базе это делают в согласованное окно.

Для файловой базы перед тестированием полезно прогнать проверку физической целостности файла утилитой chdbfl.exe из каталога установки платформы (bin). Она лечит повреждения на уровне файла базы 1Cv8.1CD, которые внутренние проверки не видят.

Внешние обработки: когда без них не обойтись

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

Что стоит знать:

  • 🧩 обработки «удаления движений» и «корректировки регистров» существуют в открытом доступе и у подрядчиков, но они пишут в базу напрямую — ошибка в условии отбора повредит данные необратимо;
  • 🔒 запускайте любую внешнюю обработку только на копии базы, проверьте результат и лишь потом повторяйте на рабочей;
  • 📝 не используйте обработки сомнительного происхождения на боевой базе с зарплатными данными — это и риск для учёта, и вопрос к защите персональных данных.

Для разового удаления старых периодов целиком есть штатная «Свёртка информационной базы», но в ЗУП она требует аккуратности: свёртка зарплатных регистров меняет исходные данные расчёта. Применяйте её только для закрытых и сданных периодов, с полной резервной копией и проверкой отчётности до и после.

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

Восстановление после сбоя и профилактика

Если регистры «поехали» после аварийного завершения работы, действуйте по порядку, а не хватайтесь за перепроведение сразу:

  1. Восстановите базу из последней корректной резервной копии, если она свежая, — это самый чистый вариант.
  2. Нет подходящей копии — прогоните chdbfl.exe (файловая база) или тестирование и исправление в Конфигураторе.
  3. Пересчитайте итоги регистров.
  4. Перепроведите документы за пострадавший период.
  5. Сверьте результат универсальным отчётом и зарплатными отчётами.

Чтобы задвоение не возвращалось:

Профилактика задвоения в регистрах
Выполнено: 0 / 6

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

Частые вопросы

Можно ли удалить записи регистра напрямую, без документа?
Штатно — нет. Записи принадлежат документу-регистратору. Их либо перезаписывает перепроведение, либо правят вручную через флаг корректировки у самого документа. Прямое удаление возможно только внешней обработкой или кодом, и это рискованно.
Чем перепроведение отличается от пересчёта итогов?
Перепроведение заново записывает сами движения документа. Пересчёт итогов не трогает движения — он перестраивает служебные таблицы остатков. Если расходятся отчёты при верных движениях, нужен пересчёт итогов; если неверны сами суммы — перепроведение.
Почему после перепроведения дубль остался?
Скорее всего, лишний документ всё ещё проведён. Перепроведение не удаляет лишний документ, оно обновляет движения существующих. Найдите дубль документа по универсальному отчёту, распроведите или пометьте на удаление, затем перепроведите период заново.
Нужен ли монопольный доступ для очистки регистров?
Для перепроведения и пересчёта итогов — нет, но другие сеансы будут мешать блокировками. Для тестирования и исправления в Конфигураторе монопольный доступ обязателен: все пользователи должны выйти из базы.
Испортит ли ручная корректировка последующие расчёты?
Пока на документе стоит флаг ручной корректировки, его движения не пересчитываются автоматически. Это может исказить следующие начисления. После исправления снимите флаг и перепроведите документ, если автоматические движения снова верны.