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

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

Ведение учета по нескольким юридическим лицам в одной базе 1С:Бухгалтерия предприятия 3.0 (БП3) — частая практика. Однако рано или поздно возникает задача выделить одну из организаций в самостоятельную информационную базу. Это может быть связано с продажей бизнеса, переходом к другому бухгалтеру или аудитору, оптимизацией производительности или требованиями конфиденциальности.

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

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

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

Рассмотрим по шагам, как настроить и выполнить этот процесс:

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

На данном этапе мы получили полноценную копию базы, в которой присутствуют документы только нашей целевой организации. Однако эта база все еще считает себя «подчиненным узлом» распределенной базы. Чтобы превратить её в полностью автономную и независимую, нам необходимо разорвать связь с главным узлом.

Программная «отвязка» базы от главного узла

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

Запустим базу-приемник через Конфигуратор с параметром командной строки /ResetMasterNode. Это автоматически снимет признак подчиненности. Если по каким-то причинам этот способ не сработал, мы можем запустить внешнюю обработку в режиме «1С:Предприятие» и выполнить следующий код:

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

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


Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Установить(Ложь);
Константы.ЭтоАвтономноеРабочееМесто.Установить(Ложь);

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

Способ 2: Создание полной копии базы и удаление лишних данных

Альтернативный подход заключается в создании полной копии исходной базы с последующим удалением всех документов и связанных данных по «ненужным» организациям. Этот метод часто выбирают разработчики, если исходная база имеет небольшой объем данных или если в базе присутствуют нетиповые доработки, которые могут некорректно отработать при обмене через РИБ.

Рассмотрим алгоритм действий при таком подходе:

  1. Сделайте полную копию информационной базы и разверните ее на тестовом сервере или локальном компьютере.
  2. Снимите дату запрета редактирования для всех пользователей в разделе Администрирование — Поддержка и обслуживание — Даты запрета изменения данных.
  3. Используйте групповую обработку документов для пометки на удаление всех документов по лишним организациям. Для этого перейдите в Администрирование — Обслуживание — Групповое изменение реквизитов. Выберите необходимые типы документов, добавьте отбор по реквизиту Организация (не равно нашей целевой организации) и установите реквизит ПометкаУдаления в значение Истина.
  4. Запустите операцию удаления помеченных объектов.

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

Критические подводные камни разделения баз

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

1. Утечка конфиденциальных данных через общие справочники

Это самый главный нюанс работы РИБ по организации. Механизм фильтрации обмена работает только для тех объектов, в структуре которых есть реквизит Организация.

Такие справочники, как Контрагенты, Номенклатура, ФизическиеЛица, СтатьиЗатрат, являются общими для всей базы. В них нет явного разделения по организациям. Это значит, что при создании РИБ все контрагенты и вся номенклатура других организаций будут полностью выгружены в новую базу!

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

2. Риск появления «битых ссылок»

Если в исходной базе были допущены ошибки учета — например, в документе Организации А был случайно указан договор, принадлежащий Организации Б, — то при выгрузке через РИБ этот договор не попадет в новую базу. На его месте в документе появится классическая «битая ссылка» вида <Объект не найден>.... После разделения базы обязательно запустите тестирование и исправление (ТиИ) с проверкой ссылочной целостности.

3. Работа с прикрепленными файлами

Если в исходной базе был настроен точечный или файловый архив на внешнем диске (хранение прикрепленных файлов вне базы данных), то при создании новой базы файлы документов могут оказаться недоступными. Проверьте настройки хранения файлов в разделе Администрирование — Настройки работы с файлами и убедитесь, что у новой базы есть доступ к соответствующим томам хранения, либо предварительно перенесите все файлы в саму базу данных.

4. Ломающиеся интеграции: ЭДО и 1С-Отчетность

При разделении баз «ломаются» практически все облачные сервисы 1С:

5. Особенности работы в облаке 1С:Фреш

Если ваша исходная база находится в облачном сервисе 1С:Фреш (или аналогичном), вы не сможете настроить РИБ напрямую в облаке из-за ограничений прав доступа на уровне платформы.

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

Резюме

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

← На главную