Очистка регистров накопления и сведений в 1С 8.3 без потери данных

· 9 мин

Содержание

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

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

Перед любой очисткой сделайте резервную копию базы. Для файловой базы — выгрузка в .dt через Конфигуратор → Администрирование → Выгрузить информационную базу, для клиент-серверной — бэкап средствами СУБД.

Как устроено хранение данных в регистрах 1С

Регистры — это таблицы, куда документы пишут свои результаты. Чтобы чистить их правильно, надо знать четыре вида.

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

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

💡 Узнать, в какие регистры пишет конкретный документ, просто: откройте документ и нажмите Ещё → Движения документа (в БП 3.0 — кнопка ДтКт для проводок). Там видно все регистры и строки.

Штатные способы удалить движения документа

Если мусор оставил конкретный документ, работать нужно с ним. Это самый безопасный путь: программа сама уберёт все его записи во всех регистрах сразу.

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

  1. Откройте журнал документов нужного вида.
  2. Выделите документы (можно несколько через Shift или Ctrl).
  3. Выберите Ещё → Отменить проведение.

Документ остаётся в базе, а его движения исчезают из всех регистров. Сумма в остатках сразу меняется.

Пометка на удаление и удаление помеченных

  1. Пометьте документ на удаление клавишей Del или через Ещё → Пометить на удаление. Проведённый документ при пометке автоматически распроводится.
  2. Окончательно удалите: в БП 3.0 и ЗУП 3.1 — Администрирование → Обслуживание → Удаление помеченных объектов.
  3. Выберите режим «Выборочное удаление», отметьте объекты и запустите.

Программа проверит ссылки. Если на документ ссылается другой объект, удаление остановится и покажет, кто мешает.

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

В БП 3.0 на форме проводок документа есть флажок «Ручная корректировка (разрешает редактирование движений документа)». С ним можно удалить отдельную строку движений, не трогая остальные.

Документ с ручной корректировкой не перезаписывает движения при перепроведении. Через полгода никто не вспомнит, почему остаток не сходится. Используйте только точечно и пишите комментарий в документе.

Перепроведение документов как способ почистить регистры

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

Когда перепроведение помогает

  • 📦 Остатки по складу не совпадают с документами после обмена или обновления.
  • 🔁 Документы загружены из другой базы без проведения или с чужими движениями.
  • 🧮 Изменили учётную политику или настройки, и движения надо пересчитать.
  • 🧾 Поменяли реквизиты номенклатуры, от которых зависят проводки.

Как перепровести группой

В БП 3.0 есть стандартная обработка «Групповое перепроведение документов ». Найти её проще всего через Главное меню → Функции для технического специалиста → Обработки (если пункта нет, включите его в Сервис → Параметры). Там же можно найти обработку поиском по слову «перепроведение».

  1. Задайте период: от первой проблемной даты до конца текущего месяца.
  2. Укажите организацию, если в базе их несколько.
  3. Запустите и дождитесь журнала результатов.
  4. Разберите документы, которые не провелись: обычно это нехватка остатков или незаполненные реквизиты.

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

💡 Если в базе стоит дата запрета изменения, сначала проверьте её в разделе Администрирование. Документы закрытого периода не перепроведутся, и журнал заполнится отказами. Временно сдвигать запрет можно, но только с согласия главбуха и с возвратом сразу после перепроведения.

Пример с цифрами

Склад показывает остаток −12 шт. по позиции. В журнале движений — оприходование 50, реализация 40 и реализация 22 от 14-го числа, которая пришла обменом дважды. Помечаете дубль на удаление, перепроводите месяц: остаток становится 50 − 40 = 10 шт.

Очистка регистров сведений, в том числе периодических

Независимые регистры сведений чистят напрямую. Документ тут не нужен.

Удаление вручную

  1. Откройте Главное меню → Функции для технического специалиста.
  2. Раскройте ветку Регистры сведений и найдите нужный: например, «Курсы валют» или «Цены номенклатуры».
  3. Сузьте список отбором по периоду или измерению: в командной панели списка есть настройка отборов, а по одному значению быстро фильтрует строка поиска.
  4. Выделите строки Ctrl+A и удалите Del.

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

Что можно и нельзя удалять в периодических регистрах

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

  • ✅ Можно: дубли с одинаковым периодом и значением, тестовые записи, явный мусор после неудачного обмена.
  • ⚠️ Осторожно: старые цены и курсы. Если документы прошлых лет перепроведут, они возьмут другое значение.
  • ❌ Нельзя: последнюю запись по измерению — потеряете текущее значение.

Курсы валют за закрытые периоды не удаляйте — от них зависят суммы проводок и переоценка.

Техническая очистка и сжатие таблиц базы данных

Эти операции не удаляют данные учёта. Они чинят таблицы итогов, убирают «дыры» в файлах базы и уменьшают её размер.

Пересчёт итогов

Главное меню → Функции для технического специалиста → Стандартные → Управление итогами. Там доступны:

  • пересчёт итогов по выбранным регистрам;
  • установка периода рассчитанных итогов — до какой даты платформа держит готовые остатки.

Пересчёт помогает, когда отчёты по остаткам расходятся с оборотами по движениям.

Тестирование и исправление

Запустите Конфигуратор: Администрирование → Тестирование и исправление. Отметьте нужные пункты:

ФлажокЧто делаетКогда нужен
Реиндексация таблиц информационной базыПерестраивает индексыМедленные отчёты, ошибки индексов
Проверка логической целостностиИщет битые записиОшибки при открытии форм
Проверка ссылочной целостностиИщет ссылки на несуществующие объекты«Объект не найден» в регистрах
Пересчёт итоговПересчитывает все таблицы итоговРасхождения остатков
Сжатие таблиц информационной базыУбирает пустое место (файловая база)Файл 1Cv8.1CD сильно вырос
Реструктуризация таблицПересоздаёт таблицыПосле массового удаления

Тестирование и исправление требует монопольного доступа: всех пользователей придётся выгнать из базы, их сеансы оборвутся. Делайте это вечером или в выходной, после бэкапа.

Выгрузка и загрузка .dt

Для файловой базы есть простой приём: выгрузить её в .dt и загрузить в новую пустую базу. Файл 1Cv8.1CD пересоздаётся без мусора и часто уменьшается в 1,5–2 раза после массовых удалений.

Для клиент-серверной базы размер файлов уменьшают средствами СУБД. В MS SQL — сжатие базы и журнала транзакций, в PostgreSQL — VACUUM FULL. Это задача администратора сервера: операции блокируют таблицы и идут долго.

Автоматизация очистки внешней обработкой

Когда записей сотни тысяч, удалять их из списка мучительно. Тут выручает внешняя обработка — файл .epf, который открывают через Файл → Открыть.

Очистка движений одного документа

Запись пустого набора с отбором по регистратору стирает его движения в регистре:

&НаСервере
Процедура ОчиститьДвиженияНаСервере(Документ)
    Набор = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(Документ);
    Набор.Записать(); // пустой набор заменяет все записи регистратора
КонецПроцедуры

Имя регистра подставьте своё — его видно в Конфигураторе в ветке «Регистры накопления».

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

&НаСервере
Процедура ОчиститьРегистрНаСервере()
    Набор = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();
    Набор.Записать(); // без отбора — удаляются ВСЕ записи регистра
КонецПроцедуры

Второй пример стирает регистр целиком. Запускайте только на копии, проверьте результат и лишь потом повторяйте в рабочей базе.

Чтобы удалить часть записей, установите отбор по измерению: Набор.Отбор.Номенклатура.Установить(Ссылка). Для нетиповых задач надёжнее сначала выбрать записи запросом и вывести их список, а удалять уже по проверенному списку.

Свёртка информационной базы

В БП 3.0 и других конфигурациях на БСП есть обработка «Свёртка информационной базы»: она удаляет документы до выбранной даты и заменяет их остатками на начало периода. Найти её можно в Администрирование → Обслуживание. Это радикальный способ: история за свёрнутые годы пропадёт, поэтому старую базу сохраняют архивом.

Сравнение методов

МетодКогда применятьРиски
Отмена проведенияНесколько ошибочных документовМинимальные
ПерепроведениеОстатки не сходятся с документамиДолго, отказы в закрытом периоде
Удаление из списка регистра сведенийДубли и мусор в ценах, курсахИзменение исторических данных
Пересчёт итоговОтчёт не совпадает с движениямиНагрузка на сервер
Тестирование и исправлениеБитые записи, разрослась базаМонопольный режим
Внешняя обработкаМассовая очисткаУдаление лишнего при ошибке в коде
Свёртка базыБаза за много лет стала неподъёмнойПотеря детальной истории

Как не допустить засорения регистров

Чистить реже проще, чем чистить часто.

  • 🗓️ Регламентная задача удаления помеченных. В Администрирование → Обслуживание → Удаление помеченных объектов можно включить автоматическое удаление по расписанию, например раз в неделю ночью.
  • 🔒 Дата запрета изменения. Закрытые периоды не перепроводятся случайно и не портят остатки.
  • 🔄 Контроль обменов. Дубли в регистрах чаще всего приходят обменом. После настройки нового обмена сверяйте остатки по нескольким позициям.
  • ✋ Минимум ручных корректировок. Каждая такая правка — мина для будущего перепроведения.
  • 📉 Период рассчитанных итогов. Сдвигайте его вперёд, чтобы платформа не пересчитывала остатки от начала времён.
  • 💾 Ежедневный бэкап. Без копии любая уборка превращается в лотерею.
Перед очисткой регистров
Выполнено: 0 / 6

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

Можно ли удалить записи регистра накопления без документа?
Штатно — нет, записи привязаны к регистратору. Кодом можно записать пустой набор по регистратору, но правильнее отменить проведение самого документа.
Почему кнопка удаления в списке регистра неактивна?
Регистр подчинён регистратору. Его записи меняются только через документ: отмена проведения, перепроведение или удаление.
Уменьшится ли база после удаления документов?
Файловая база — только после сжатия таблиц в «Тестировании и исправлении» или перезагрузки через .dt. Клиент-серверная — после сжатия средствами СУБД.
Чем пересчёт итогов отличается от перепроведения?
Пересчёт итогов не меняет записи, а заново считает остатки по ним. Перепроведение переписывает сами записи по данным документов.
Что делать, если после перепроведения остатки снова не сходятся?
Ищите документы с ручной корректировкой движений и документы закрытого периода — они не перезаписываются. Затем проверьте дубли, пришедшие обменом.