В процессе эксплуатации 1С:ERP часто возникает задача создания «чистой» информационной базы, которая содержала бы в себе все доработки, расширения и структуру метаданных существующей системы, но была бы полностью очищена от документов, проводок и справочной информации. Рассмотрим подробнее, как реализовать эту задачу, разберем типичные ошибки новичков и проанализируем продвинутые методы очистки данных.
Самый надежный и корректный с точки зрения платформы 1С способ создания пустой базы — это выгрузка структуры метаданных в файл и загрузка ее в новую информационную базу. Разберем по шагам, как это сделать правильно, чтобы избежать ситуации, когда в «новой» базе внезапно оказываются старые документы.
.cf на диск..cf файл.Проанализируем ситуацию, описанную в сообщениях форума: почему пользователь может видеть «половину документов и справочников» после такой процедуры? Важно понимать, что в файле .cf никогда не хранятся данные (документы, элементы справочников, записи регистров). Если вы видите данные в новой базе, значит, либо вы загрузили не .cf, а .dt (выгрузку всей базы с данными), либо вы загрузили .cf поверх уже существующей базы с данными.
Выясним причину, по которой справочники в ERP могут казаться непустыми даже в абсолютно новой базе. В 1С:ERP существует огромное количество предопределенных элементов. Это объекты, которые созданы разработчиками непосредственно в конфигураторе. К ним относятся:
Поскольку эти элементы являются частью метаданных, они автоматически появляются в любой базе, созданной на основе этой конфигурации. Удалить их в пользовательском режиме нельзя, так как на них завязана жесткая программная логика системы. Именно их пользователи часто принимают за «неудаленные данные».
Если база данных работает на клиент-серверном варианте (MS SQL Server, PostgreSQL), существует способ быстрой очистки таблиц. Рассмотрим этот метод как альтернативу для тех случаев, когда нужно очистить существующую огромную базу, не создавая новую. Внимание: этот метод требует осторожности и предварительного создания бэкапа!
Для очистки данных необходимо использовать команду TRUNCATE TABLE. Однако в 1С:ERP таблицы имеют специфические имена (например, _Document123 или _Reference45). Чтобы узнать, какая таблица за что отвечает, можно воспользоваться функцией ПолучитьСтруктуруХраненияБазыДанных().
Посмотрим на пример логики скрипта для SQL Server, который помогает «обнулить» таблицы движений:
-- ВНИМАНИЕ! Использовать только на копии!
-- Скрипт для примера, имена таблиц индивидуальны для каждой базы
TRUNCATE TABLE _AccumRg1234; -- Очистка регистра накопления
TRUNCATE TABLE _Document567; -- Очистка таблицы документов
TRUNCATE TABLE _Document567_VT890; -- Очистка табличной части документа
Важно помнить, что в ERP таблицы сильно взаимосвязаны. Если вы очистите только таблицы документов, но оставите записи в регистрах (таблицы с префиксами _AccumRg, _InfoRg), вы получите битую базу с «фантомными» остатками. Поэтому использование SQL-метода для полной очистки ERP крайне трудоемко и не рекомендуется, если вы не обладаете глубокими знаниями структуры таблиц 1С.
Разберем современный способ, встроенный в саму систему 1С:ERP. Поскольку конфигурация построена на базе БСП (Библиотеки стандартных подсистем), в ней есть готовый инструмент для удаления информации.
Рассмотрим порядок действий:
Этот инструмент позволяет выбрать конкретные организации или периоды и запустить процедуру удаления документов. Главное преимущество этого метода — сохранение ссылочной целостности. Система сама позаботится о том, чтобы вместе с документами удалились их движения по всем многочисленным регистрам ERP.
Если вы применили радикальные методы очистки (например, удаление через SQL или сторонние обработки), в базе могут остаться записи в таблицах итогов. Чтобы привести базу в «девственно чистое» состояние, необходимо выполнить техническое обслуживание в Конфигураторе:
Проанализируем ситуацию: этот процесс может занять длительное время в ERP из-за огромного количества регистров, но он необходим для корректной работы пустой базы в будущем.
Часто задача звучит иначе: «Мне нужна пустая база без документов, но со всеми справочниками (контрагенты, номенклатура, склады) и настройками (учетная политика)». В этом случае метод с .cf файлом нам не подходит, так как он создаст абсолютно пустую структуру без единой записи в справочниках.
Для решения такой задачи мы рекомендуем использовать следующие инструменты:
Таким образом, мы рассмотрели различные подходы к очистке базы 1С:ERP. Наиболее правильным и безопасным методом создания именно пустой базы является использование файла конфигурации .cf. Если же требуется частичная очистка с сохранением настроек, стоит обратиться к встроенным механизмам БСП или обработкам свертки данных.