При ведении учета в многофирменных базах данных 1С часто возникает ситуация, когда одну из организаций необходимо «отпочковать» и выделить в полностью независимую, отдельную базу данных. При этом перед техническим специалистом ставится жесткое условие: все исторические данные за прошлые периоды, настройки учетной политики, параметры учета и справочники должны быть полностью сохранены без выполнения свертки базы.
В этой статье мы подробно разберем четыре основных метода решения этой задачи, проанализируем их плюсы и минусы, выясним технические нюансы каждого подхода, а также предоставим чек-лист обязательных процедур, которые уберегут вашу базу от битых ссылок и некорректных остатков.
---
Способ 1. Создание распределенной информационной базы (РИБ) по организации
Этот способ считается одним из самых популярных, так как использует штатный механизм платформы «1С:Предприятие 8.3». Мы создаем подчиненный узел РИБ с фильтрацией по нашей организации, дожидаемся окончания выгрузки, а затем отключаем базу от главного узла, делая ее полностью автономной.
Разберем этот процесс по шагам:
Настройка синхронизации: В исходной информационной базе переходим в раздел Администрирование — Синхронизация данных. Включаем опцию синхронизации и переходим в список настроек.
Создание обмена по организации: Создаем новую синхронизацию данных через РИБ с фильтром по организации. На этапе настройки обязательно указываем только ту организацию, данные которой необходимо перенести.
Формирование начального образа: Нажимаем кнопку создания начального образа подчиненного узла. Это самый ресурсоемкий процесс. Платформа начнет анализировать базу и выгружать в новый файл данные, связанные исключительно с выбранным юридическим лицом.
Отключение базы от главного узла (снятие признака РИБ): Полученную базу данных подчиненного узла открываем в режиме «1С:Предприятие». На этом этапе она все еще считает себя частью распределенной сети и заблокирована для многих изменений. Чтобы превратить ее в полноценную автономную базу, нам необходимо сбросить связь с главным узлом. Для этого открываем внешнюю обработку (или создаем новую в режиме конфигуратора) и выполняем следующий код:
Процедура ОтвязатьБазуОтРИБ()
Попытка
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Сообщить("База успешно переведена в автономный режим!");
Исключение
Сообщить("Ошибка при снятии признака РИБ: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
После выполнения этого кода база становится обычной рабочей базой 1С:БП 3.0.
Подводные камни метода РИБ, о которых важно знать заранее:
Проблема избыточного объема («мусор» в базе): Обратите внимание, что РИБ копирует всю структуру метаданных, а также общие классификаторы, справочники и настройки. Если исходная база имела объем 100 Гб, то созданный образ для организации с парой сотен документов может весить 50–70 Гб. Это происходит потому, что таблицы СУБД физически не уменьшаются сами по себе, а также в базе остается огромное количество записей в регистрах и общих справочниках.
Обилие битых ссылок: Все объекты (например, документы или договоры), которые не вошли в отбор по организации, превратятся в так называемые «битые ссылки» (объекты вида <Объект не найден...>). Чтобы очистить базу от них, в режиме Конфигуратора запустите процедуру Тестирование и исправление (ТиИ). При этом обязательно выберите следующие настройки:
При наличии ссылок на несуществующие объекты:Очищать ссылки.
При частичной потере данных объектов:Удалять объекты.
Задвоение предопределенных элементов: На платформе 8.3 после отключения главного узла часто происходит сбой привязки предопределенных элементов (валюты, ставки НДС, статьи ДДС). Система может создать их дубли. Рекомендуется запустить встроенную обработку Поиск и замена дублей и объединить их.
---
Способ 2. Копирование всей базы и последующее удаление лишних данных
Этот метод заключается в том, что мы делаем полную копию всей многофирменной базы, а затем в этой копии аккуратно вырезаем все данные по тем организациям, которые нам в ней больше не нужны. В результате остается только одна требуемая фирма.
Реализация метода:
Создание физической копии: Создаем копию базы данных (для файловой — копируем файл 1Cv8.1CD, для клиент-серверной — делаем бэкап и восстанавливаем его под новым именем на SQL-сервере).
Пометка на удаление документов «чужих» организаций: Используем типовую обработку Групповое изменение реквизитов. В ней настраиваем отбор по всем документам, где реквизит Организация НЕ равен нашей выделяемой организации. Устанавливаем признак ПометкаУдаления = Истина.
Если база имеет солидный объем, стандартное удаление помеченных объектов через транзакции платформы может зависнуть на несколько дней или аварийно завершиться по нехватке памяти. Для решения этой проблемы рекомендуется использовать специализированные внешние обработки для **многопоточного удаления данных** или удаления в обход объектной техники (прямыми SQL-запросами или быстрыми выборками). Такие обработки можно найти на профессиональных ресурсах (например, Инфостарт).
Очистку следует проводить строго последовательно:
Сначала удаляем все подчиненные документы и движения по регистрам чужих организаций.
Выполняем Тестирование и исправление для очистки регистров сведений.
Удаляем неиспользуемые элементы справочников (контрагенты, договоры, номенклатура), которые остались без ссылок со стороны документов.
В самом конце удаляем карточки ненужных организаций из справочника Организации.
---
Способ 3. Перенос данных с помощью универсального формата EnterpriseData
Если вы хотите получить «чистую» целевую базу без системного мусора, удаленных таблиц и скрытых ошибок базы-источника, то использование механизма EnterpriseData — это наилучшее современное решение.
В отличие от классического прямого переноса XML-таблиц (который часто сбоит из-за несовпадения структуры или битых внутренних ссылок), формат EnterpriseData работает на уровне прикладных объектов и бизнес-логики.
Как выполнить перенос:
Разверните чистую, пустую базу данных «1С:Бухгалтерия предприятия 3.0» той же версии конфигурации, что и исходная.
В исходной базе включите режим технического специалиста (через настройки главного меню). Найдите и откройте обработку Выгрузка загрузка EnterpriseData.
В настройках выгрузки укажите формат обмена (рекомендуется использовать последнюю доступную версию формата) и настройте **отбор по организации**.
Запустите процесс выгрузки данных в файл. Выгружены будут только документы, справочники и настройки, непосредственно относящиеся к выбранному юрлицу.
В новой чистой базе откройте ту же обработку Выгрузка загрузка EnterpriseData на вкладке «Загрузка», выберите файл и выполните загрузку данных.
Этот метод гарантирует, что в новую базу не попадут поврежденные индексы, записи несуществующих регистров и прочий технический мусор. Объекты сопоставляются по уникальным идентификаторам (UUID), что исключает дублирование справочников при повторных выгрузках.
---
Критически важный чек-лист подготовки и настройки баз
Независимо от того, какой метод разделения вы выберете, обязательно выполните следующие шаги для обеспечения корректности учета:
Закрытие периодов и сверка остатков: Перед началом работ обязательно проведите процедуру Закрытие месяца в исходной базе за все периоды. Проверьте оборотно-сальдовую ведомость (ОСВ) по счетам ТМЦ (счета 10, 41, 43) и расчетов с контрагентами (60, 62). Наличие «красного» отрицательного сальдо гарантированно приведет к искажению себестоимости и расчетов в новой базе.
Анализ межфирменных расчетов (Intercompany): Если организации в общей базе вели торговлю между собой (одна продавала товары другой), то документы этих операций жестко связаны друг с другом ссылками. При удалении одной из организаций эти связи разорвутся. Проанализируйте такие операции заранее. Вам придется либо оставить часть связанных документов «чужой» организации в новой базе, либо переоформить эти операции на сторонних контрагентов.
Сервисы 1С-Отчетности и шифрования: При разделении баз настройки учетных записей контролирующих органов перенесутся. Однако на компьютерах пользователей в новом офисе или на новых рабочих местах обязательно должны быть установлены криптопровайдеры (например, КриптоПро CSP или VipNet CSP) и установлены сертификаты электронных подписей. Возможно, потребуется отправить в ФНС заявление на изменение реквизитов подключения к сервису сдаче отчетности.
Настройки 1С-ЭДО: Учетная запись электронного документооборота жестко привязана к идентификатору участника ЭДО и организации. Чтобы документы из новой базы не отправлялись со «старым» идентификатором и не возникало путаницы на серверах оператора ЭДО, отключите учетную запись ЭДО для выделяемой фирмы в старой базе и настройте подключение заново в новой базе.
Сжатие базы данных: После удаления больших объемов данных из базы (особенно методами РИБ или удаления лишнего), файлы базы данных на диске не уменьшатся автоматически. Для файловой базы обязательно запустите утилиту chdbfl.exe (находится в каталоге установки платформы 1С в папке bin) и выполните процедуру «Сжатие таблиц» в режиме Тестирования и исправления Конфигуратора. Для клиент-серверной базы выполните операцию Shrink (сжатие) базы данных средствами MS SQL Server или PostgreSQL.
Проанализировав все варианты, мы рекомендуем использовать метод **EnterpriseData** для небольших и средних баз данных благодаря его чистоте и стабильности. Для огромных баз данных (более 100 Гб) наиболее жизнеспособным решением остается **метод удаления лишних данных на копии базы** с привлечением сторонних быстрых обработок очистки, так как это позволяет гарантированно сохранить все тонкие настройки системы без длительного процесса генерации РИБ-образов.