Как разделить базу 1С:Бухгалтерия предприятия на две отдельные базы по юридическим лицам?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

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

Метод 1: Использование механизма Распределенных информационных баз (РИБ)

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

  1. Создание узла РИБ: В исходной базе создаем новый узел распределенной информационной базы с фильтром по нужной организации. В настройках синхронизации данных указываем, что в данный узел должны попадать документы и движения только по выбранному юридическому лицу.
  2. Начальная выгрузка: Выполняем процедуру начальной выгрузки данных. Проанализируем ситуацию: платформа автоматически соберет все документы, связанные с этой организацией, а также справочники, необходимые для корректного отображения этих документов.
  3. Создание подчиненной базы: На основе выгруженного файла создаем новую информационную базу. Проверяем, что в ней присутствуют все документы с момента основания организации.
  4. Отвязка от главного узла: Чтобы база стала полностью автономной, ее необходимо «отвязать» от центрального узла. Для этого в режиме Конфигуратор или через специальную обработку необходимо выполнить код, разрывающий связь с РИБ:

ПланыОбмена.УстановитьГлавныйУзел(Неопределено);

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

Метод 2: Выгрузка данных для перехода в сервис (современный штатный метод)

Разберем по шагам наиболее современный способ, который появился в последних релизах Бухгалтерии предприятия 3.0. Изначально он предназначен для миграции в облако (1С:Fresh), но отлично подходит для локального разделения.

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

Метод 3: Копирование базы и последующее удаление лишних данных

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

Проанализируем проблему «общих» справочников: Такие справочники, как Номенклатура, Контрагенты или ФизическиеЛица, в 1С часто являются общими. Если вы просто удалите документы одной организации, записи в справочниках останутся. Чтобы очистить базу полностью, рекомендуем следующий алгоритм:

  1. Удаляем все документы, в которых реквизит Организация равен удаляемому юрлицу.
  2. Используем стандартную обработку «Поиск и удаление помеченных объектов».
  3. Применяем специализированные обработки с порталов разработчиков для очистки неиспользуемых элементов справочников (тех, на которые не осталось ссылок в документах).

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

Важно помнить, что после массового удаления данных физический размер файла базы данных (например, 1Cv8.1CD для файлового варианта) не уменьшится автоматически. Выясним причину: СУБД резервирует место под будущие записи. Чтобы реально уменьшить размер базы и ускорить ее работу, выполним следующие действия:

Рассмотрим процедуру Тестирование и исправление (ТиИ). В окне настроек обязательно выберем пункт «Сжатие таблиц информационной базы». Это перестроит индексы и освободит неиспользуемое пространство. Для клиент-серверных версий (SQL) необходимо выполнить процедуру Shrink (сжатие базы данных) средствами самой СУБД.

Настройка прав и сервисов в новой базе

После того как данные разделены, нам необходимо доработать базы вручную. Обратим внимание на следующие моменты:

Подведем итог: Наиболее «чистым» методом для непрограммиста будет выгрузка через «Переход в сервис». Для опытных администраторов оптимальным выбором остается РИБ с последующим откреплением узла, так как это гарантирует перенос всей истории движений РегистрыБухгалтерии и РегистрыНакопления с сохранением структуры данных.

← На главную