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

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

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

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

Этот метод считается наиболее «правильным» и технологичным с точки зрения платформы 1С:Предприятие 8.3. Он позволяет создать подчиненную базу, в которую попадут данные только по выбранному объекту фильтрации (в нашем случае — организации).

Разберем алгоритм действий:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Создадим новый план обмена (например, «Распределенная информационная база с фильтром по организации»).
  3. В настройках узла укажем конкретную организацию, которую мы хотим перенести. Система автоматически пометит к выгрузке все связанные справочники, документы и записи регистров, относящиеся именно к этому юридическому лицу.
  4. Нажмем кнопку Создать начальный образ. Этот процесс может занять значительное время, так как платформа физически формирует новый файл базы данных 1Cv8.1CD (для файлового варианта) или новую схему SQL.
  5. После создания образа запустим новую базу. Она будет считать себя «периферийной» и блокировать изменение конфигурации. Чтобы превратить ее в полноценную автономную базу, нам необходимо разорвать связь с главным узлом.

Для «отвязки» базы от главного узла запустим программу в режиме 1С:Предприятие и воспользуемся консолью кода или внешней обработкой, выполнив следующую команду:

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

После этого база станет полностью самостоятельной, и мы сможем вносить в нее любые изменения.

Способ 2. Выгрузка в формате «1С:Fresh» (Переход в облачный сервис)

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

Рассмотрим процесс:

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

Преимущество метода: 1С сама заботится о целостности ссылок и очистке данных от «мусора» других организаций. Это значительно быстрее, чем классический РИБ.

Способ 3. Копирование базы и удаление лишних данных

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

Рассмотрим шаги по реализации:

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

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

Пример логики очистки через код (упрощенно):


Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Выборка.Организация <> НужнаяОрганизация Тогда
        Объект = Выборка.ПолучитьОбъект();
        Объект.УстановитьПометкуУдаления(Истина);
        // Или полное удаление, если уверены в отсутствии ссылок
    КонецЕсли;
КонецЦикла;

Важные нюансы и «подводные камни»

Проанализируем ситуацию, которая часто возникает после разделения базы. Даже если вы успешно выгрузили данные, база требует «доводки»:

  1. Общие справочники: В новую базу переедут все записи из справочников Номенклатура, Контрагенты, Физические лица, если они не были жестко привязаны к владельцу. Рекомендуется провести поиск и удаление дублей, а также очистку неиспользуемых элементов.
  2. Электронный документооборот (ЭДО): Настройки ЭДО привязаны к идентификатору организации и ID базы. В новой базе придется заново настраивать учетные записи ЭДО и переподключать сертификаты.
  3. 1С-Отчетность: История сданной отчетности (квитанции, протоколы) при выгрузке через XML может потеряться. Наиболее надежным в этом плане является метод РИБ, так как он корректно переносит записи регистров сведений, отвечающих за документооборот с контролирующими органами.
  4. Взаимозачеты: Если в исходной базе были документы, связывающие две организации (например, продажа между своими), то в новой базе одна из сторон станет «пустой ссылкой» (Объект не найден), что приведет к нарушению аналитики по счетам 60 и 62.

Выводы и рекомендации

Подводя итог, можно сказать следующее:

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

← На главную