К статье
Практический материал

Другое · 12 мин

Как очистить регистры по зарплате в 1С 8.3

Как очистить регистры накопления и расчета по зарплате в 1С 8.3: через документы, обработку или код. Риски, проверка результата, типичные ошибки.

Очистка регистров по зарплате в 1С 8.3 требуется при тестировании конфигурации, исправлении ошибочных движений, подготовке базы к свёртке или переносу данных в новую информационную базу. Речь идёт прежде всего о регистрах накопления («Начисления удержания по сотрудникам», «Взаиморасчёты с сотрудниками», «Зарплата к выплате»), регистрах расчёта («Начисления», «Удержания») и связанных регистрах сведений по НДФЛ и взносам.

Главный принцип: регистры в 1С нельзя редактировать напрямую из пользовательского режима — они заполняются движениями документов. Поэтому корректная очистка сводится либо к отмене проведения документов, либо к программной записи пустых наборов записей. Каждый способ имеет свою цену: первый безопасен, но трудоёмок, второй быстр, но требует понимания структуры данных.

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

Какие регистры относятся к зарплатным и как их найти

В типовых конфигурациях «1С:Зарплата и управление персоналом» и «1С:Бухгалтерия» зарплатные данные распределены по десяткам регистров. Основные регистры накопления: «Начисления удержания по сотрудникам», «Взаиморасчёты с сотрудниками», «Зарплата к выплате», «НДФЛ к перечислению», «Уплаченные страховые взносы». Регистры расчёта: «Начисления» и «Удержания» — именно там хранятся сами расчётные строки с периодами действия.

Полный перечень зависит от версии конфигурации. Чтобы увидеть, какие регистры заполняет конкретный документ, откройте документ, нажмите «Ещё → Движения документа» — в отчёте будут перечислены все затронутые регистры. Это самый надёжный способ составить список для очистки: пройдитесь по типовым документам («Начисление зарплаты и взносов», «Ведомость в банк», «Операция учёта НДФЛ») и выпишите регистры из их движений.

Отдельная группа — регистры сведений с учётными данными: «Учётная политика», «Плановые начисления», «Кадровая история сотрудников». Их очищать при «сбросе зарплаты» обычно не нужно, иначе придётся заново вводить настройки и кадровые данные. Чётко разделяйте: движения по расчётам — очищаем, настройки и кадровые сведения — сохраняем.

Подготовка: резервная копия и анализ текущего состояния

Создайте резервную копию через конфигуратор: «Администрирование → Выгрузить информационную базу» — получите файл .dt. Для файловой базы достаточно скопировать файл 1Cv8.1CD при отсутствии активных сеансов. Для клиент-серверной базы используйте выгрузку через конфигуратор или средства СУБД.

Зафиксируйте контрольные цифры до очистки: сформируйте отчёты «Расчётный листок», «Свод начислений и удержаний», «Анализ взносов в фонды» за весь период работы и сохраните их в файлы. После очистки эти отчёты должны показывать нули (или ожидаемые остатки, если чистите частично) — это ваш эталон проверки.

Убедитесь, что у вас есть полные права или права администратора, и что в базе нет других активных пользователей. Групповые операции с регистрами при параллельной работе пользователей могут привести к блокировкам и неполной записи.

Подготовка к очистке
  1. 1
    Выгрузите базу в файл .dt через конфигуратор
  2. 2
    Сохраните контрольные отчёты: расчётные листки, свод начислений, анализ НДФЛ и взносов
  3. 3
    Завершите сеансы всех пользователей
  4. 4
    Составьте список регистров через «Движения документа» типовых документов
  5. 5
    Определите период очистки: всё или конкретный интервал

Способ 1: отмена проведения документов

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

Для массовой отмены используйте обработку «Групповое изменение реквизитов» (в типовых конфигурациях: «Администрирование → Обслуживание → Корректировка данных») либо стандартную обработку «Проведение документов» из раздела «Все функции → Стандартные». В ней можно выбрать вид документа, период и выполнить отмену проведения пакетом.

Порядок отмены важен: сначала отменяйте выплаты и операции по НДФЛ/взносам, затем начисления, в последнюю очередь — кадровые документы (если их тоже нужно трогать). Обратный порядок вызовет ошибки перепроведения из-за ссылочных зависимостей.

Когда способ не подходит

Если документов тысячи, отмена проведения займёт часы. Если часть документов находится в закрытых периодах с установленной датой запрета изменения данных, отмена будет заблокирована — сначала снимите дату запрета в «Администрирование → Поддержка и обслуживание → Даты запрета изменения данных».

Способ 2: программная очистка через пустой набор записей

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

bsl
Набор = РегистрыНакопления.НачисленияУдержанияПоСотрудникам.СоздатьНаборЗаписей();
Набор.Записать(Истина); // запись пустого набора очищает регистр

Для регистров расчёта код аналогичен, но используется менеджер РегистрыРасчета. Для регистров сведений без подчинения регистратору (например, «Учётная политика») очистка пустым набором с отбором по организации удалит записи только этой организации — это удобно для частичной чистки.

Если нужно очистить не весь регистр, а только записи конкретного регистратора, установите отбор: Набор.Отбор.Регистратор.Установить(СсылкаНаДокумент) перед записью. Так можно точечно убрать движения ошибочного документа, не трогая остальные.

Способ 3: свёртка базы и перенос остатков

Если цель — начать учёт «с чистого листа», сохранив справочники и настройки, правильнее использовать штатную обработку свёртки информационной базы (в ЗУП: «Администрирование → Обслуживание» или через настройку «Начальная настройка программы»). Она удаляет документы и движения за указанный период, а остатки переносит документами ввода начальных остатков.

Альтернатива — «Перенос данных из информационных баз» для перехода в новую пустую базу: переносятся справочники, настройки и остатки, а вся история движений остаётся в старой базе. Это самый чистый вариант, но требует времени на настройку и проверку переноса.

Сравнение способов очистки

Отмена проведения документов

Безопасно, сохраняет целостность. Подходит для небольшого числа документов. Медленно при больших объёмах.

Программная запись пустых наборов

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

Свёртка базы

Штатный механизм, сохраняет остатки и справочники. Занимает время, требует проверки результатов.

Перенос в новую базу

Максимально чистый результат без «хвостов». Трудоёмко, нужна проверка полноты переноса.

Очистка регистров по НДФЛ и страховым взносам

Регистры налогового учёта («Доходы НДФЛ», «Исчисленный НДФЛ», «Страховые взносы по физическим лицам» и др.) очищаются теми же способами, но с дополнительной осторожностью. Эти данные — основа регламентированной отчётности (6-НДФЛ, РСВ), и их удаление в рабочей базе сделает сданную отчётность невоспроизводимой.

Если очищаете тестовую копию для экспериментов — достаточно программной очистки. Если исправляете ошибки в рабочей базе, используйте корректирующие документы («Операция учёта НДФЛ», «Операция учёта взносов», «Возврат НДФЛ»), а не удаление записей: так сохраняется аудиторский след.

Типичные ошибки
01
Очистка регистров без резервной копии — восстановить данные невозможно
02
Очистка только регистров накопления без регистров расчёта — отчёты начнут противоречить друг другу
03
Удаление движений при проведённых документах — перепроведение вернёт данные обратно
04
Очистка регистров сведений с настройками вместе с движениями — слетят учётная политика и плановые начисления
05
Игнорирование даты запрета изменения данных — групповая обработка завершится с ошибками и частичным результатом

Проверка результата после очистки

После любого способа очистки выполните контроль. Сформируйте «Свод начислений и удержаний» и «Расчётный листок» за весь период — при полной очистке они должны быть пустыми. Проверьте отчёт «Анализ НДФЛ» и «Анализ взносов» — там тоже не должно быть данных.

Дополнительно полезно выполнить тестирование и исправление информационной базы (через конфигуратор) с проверкой ссылочной целостности, особенно после программной очистки. В клиент-серверном варианте проверьте итоги регистров: «Администрирование → Обслуживание → Настройка журнала регистрации и управление итогами» — при необходимости выполните пересчёт итогов.

Контрольные точки

Как проверить результат

Отчёт «Свод начислений и удержаний» за весь период
Норма

Отчёт пустой

Тревожный признак

Остались суммы — очищены не все регистры или документы перепроведены

Отчёт «Анализ НДФЛ»
Норма

Нет данных

Тревожный признак

Есть записи — не очищены регистры налогового учёта

Проведение нового тестового документа начисления
Норма

Проводится без ошибок, отчёты показывают только его

Тревожный признак

Ошибки проведения или появление старых сумм — нарушена целостность

Тестирование и исправление ИБ
Норма

Ошибок ссылочной целостности нет

Тревожный признак

Найдены битые ссылки — требуется восстановление из копии

FAQ: частые вопросы по очистке зарплатных регистров

Можно ли очистить регистры только по одной организации в многофирменной базе?

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

Почему после очистки регистров отчёты снова показывают данные?

Наиболее вероятная причина — документы остались проведёнными, и их перепровели (вручную или регламентным заданием). Вторая причина: очищены не все связанные регистры, например очищен «Начисления удержания по сотрудникам», но остались записи в регистре расчёта «Начисления». Составьте полный список регистров через «Движения документа» и проверьте каждый.

Нужно ли очищать регистры сведений вместе с регистрами накопления?

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

Что делать, если групповая обработка выдаёт ошибку даты запрета?

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

Можно ли очистить регистры в типовой базе без конфигуратора и программирования?

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

Как очистить регистры только за конкретный месяц?

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

Итог

Что важно запомнить

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