Операция обрезки базы данных в 1С:Зарплата и управление персоналом часто становится необходимостью для администраторов и бухгалтеров, столкнувшихся с критическим замедлением работы системы. Со временем информационная база накапливает гигабайты исторических данных, которые теряют актуальность для текущей деятельности, но продолжают нагружать сервер и замедлять выполнение регламентных операций. Правильное выполнение этой процедуры позволяет существенно сократить физический размер файла базы и повысить скорость отклика интерфейса.

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

Подготовка к процедуре удаления данных

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

Создание резервной копии является обязательным этапом, пренебрежение которым может привести к потере критически важных данных. Используйте стандартные средства платформы или инструменты СУБД для формирования файла .dt или снимка базы данных. Храните копию на отдельном физическом носителе, отличном от того, где расположена основная база.

⚠️ Внимание: Удаление данных из активной базы 1С ЗУП является необратимым процессом. Убедитесь, что у вас есть актуальная копия базы на внешнем носителе перед запуском любых обработок.
💡

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

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

Настройка глубины ведения учета

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

Для доступа к настройкам перейдите в раздел НСИ и Администрирование и выберите пункт Параметры учета. В открывшейся форме найдите ссылку Глубина ведения учета. Здесь вы увидите список всех регистров, используемых в конфигурации ЗУП.

  • 📅 Установите дату начала периода, до которого данные будут удалены (например, 31 декабря прошлого года).
  • 🗂️ Снимите флаги ведения учета для тех регистров, которые вы хотите очистить полностью.
  • 💾 Нажмите кнопку Записать и закрыть для сохранения изменений в метаданных.

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

📊 Какой период вы планируете оставить в базе?
Только текущий год
Текущий и прошлый год
Последние 3 года
Всю историю без изменений

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

Использование обработки удаления данных

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

Запустите обработку через меню Администрирование -> Обслуживание -> Удаление данных. В открывшемся окне выберите период, подлежащий очистке. Система автоматически проанализирует зависимости между документами и предложит удалить связанные записи в регистрах накопления и срезах.

Тип данных Действие системы Влияние на отчеты
Движения документов Полное удаление Отчеты за период не формируются
Справочники Не удаляются (если есть ссылки) Элементы остаются в списках
Регистры накопления Очистка до указанной даты Остатки на начало периода обнуляются
Журнал регистрации Очистка по настройкам История действий пользователей теряется

Процесс удаления может занять значительное время в зависимости от объема данных и производительности сервера. В ходе выполнения обработки не прерывайте соединение с базой данных. Прогресс-бар покажет текущий статус очистки таблиц.

⚠️ Внимание: Интерфейс и названия пунктов меню могут отличаться в зависимости от версии релиза 1С ЗУП (3.0, 3.1 и новее). Всегда сверяйтесь с официальным руководством пользователя для вашей конкретной версии конфигурации.
Что делать, если обработка зависла?

Если процесс удаления данных завис на одном месте более чем на 30 минут, проверьте логи сервера 1С и СУБД. Возможно, таблица заблокирована другим процессом или закончилось место в журнале транзакций SQL. Не пытайтесь завершить процесс принудительно через диспетчер задач, это может привести к повреждению базы. Лучше дождаться завершения или откатиться к резервной копии и попробовать удалить данные меньшими порциями по периодам.

Физическое сжатие базы данных (Shrink)

После того как данные были логически удалены из таблиц, файл базы данных на диске не уменьшится автоматически. СУБД (например, MS SQL Server или PostgreSQL) оставляет свободное место внутри файлов для будущих записей. Чтобы вернуть это место операционной системе, необходимо выполнить операцию сжатия (shrink).

Для файловых баз (.1CD) достаточно выполнить стандартную процедуру выгрузки и загрузки базы. При загрузке создается новый файл, в который записываются только актуальные данные, что автоматически устраняет фрагментацию и пустое пространство.

1cv8 /F "C:\Base\OldBase" /DumpIB "C:\Backup\Dump.dt"

1cv8 /F "C:\Base\NewBase" /LoadIB "C:\Backup\Dump.dt"

В случае использования клиент-серверного варианта с MS SQL Server, администратор базы данных должен выполнить команду сжатия файла данных. Это можно сделать через графический интерфейс Management Studio или с помощью T-SQL запроса.

  • 🖥️ Откройте SQL Server Management Studio и подключитесь к экземпляру.
  • 📉 Выберите базу данных 1С, нажмите правой кнопкой мыши и выберите Tasks -> Shrink -> Files.
  • 🚀 Выберите тип файла ROWS и установите параметр сжатия в минимально возможное значение.

Выполнение операции DBCC SHRINKFILE может вызвать фрагментацию индексов, поэтому после сжатия настоятельно рекомендуется провести их перестроение (rebuild). Это обеспечит максимальную скорость выборки данных в будущем.

💡

Физическое сжатие базы данных возможно только после логического удаления записей и полной выгрузки-загрузки (для файловых баз) или выполнения команды Shrink (для SQL).

Работа с журналом регистрации и таблицей изменений

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

Очистку журнала можно выполнить через интерфейс программы в разделе Администрирование -> Журнал регистрации. Выберите пункт меню Еще -> Очистить журнал регистрации. Укажите период, за который необходимо удалить записи о действиях пользователей.

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

⚠️ Внимание: Очистка журнала регистрации лишает возможности отследить, кто и когда вносил изменения в данные за удаленный период. Это может создать проблемы при аудите или расследовании инцидентов.

Проверка целостности после обрезки

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

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

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

☑️ Контрольный список после обрезки

Выполнено: 0 / 5

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

Можно ли восстановить данные после обрезки базы 1С?

Восстановление данных возможно только при наличии резервной копии базы, созданной до начала процедуры удаления. Если копия отсутствует, а данные были физически удалены (выполнена выгрузка-загрузка или сжатие SQL), восстановление информации стандартными средствами 1С невозможно. Существуют платные услуги по восстановлению данных на уровне секторов диска, но они не гарантируют результат.

Влияет ли обрезка на сдачу налоговой отчетности за прошлые периоды?

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

Сколько времени занимает процедура удаления данных?

Время выполнения зависит от объема удаляемой информации, производительности сервера и типа СУБД. Для небольших баз (до 5 Гб) процесс может занять от 15 минут до часа. Для крупных баз (сотни Гб) операция может длиться несколько часов. Рекомендуется планировать работы на выходные или ночное время.

Нужно ли отключать пользователей во время удаления данных?

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