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

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

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

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

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

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

Преимущество: Сохраняются все настройки пользователей, права доступа и ссылочная целостность. Недостаток: При очень больших объемах данных создание начального образа может завершиться ошибкой по таймауту или нехватке памяти.

Метод 2: Программная очистка копии информационной базы

Если механизм РИБ по каким-то причинам не подходит (например, из-за специфических доработок конфигурации), проанализируем альтернативный путь — создание полной копии базы и последующее удаление всего лишнего.

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

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

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


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

После пометки всех объектов необходимо выполнить Тестирование и исправление (ТиИС) в конфигураторе с установленными флагами «Очищать ссылки» и «Удалять объекты» для пустых ссылок. Это позволит физически очистить таблицы базы данных от записей, связанных с удаленными организациями.

Метод 3: Перенос данных через универсальный формат (EnterpriseData)

Для конфигураций Бухгалтерия предприятия 3.0 и ЗУП 3.1 доступен современный способ — синхронизация через EnterpriseData. Этот метод позволяет выгрузить данные «чисто», без переноса технического «мусора» старой базы.

Выясним, как это работает: рассмотрим создание новой пустой информационной базы той же версии (релиза), что и источник. В исходной базе настроим синхронизацию данных с этой новой базой, используя «Универсальный формат обмена». В правилах отправки данных установим фильтр по организации. Программа сама подберет все связанные справочники (контрагенты, номенклатура, сотрудники), которые фигурируют в документах выбранной фирмы.

Этот метод часто оказывается быстрее РИБ, так как не требует формирования образа всей структуры таблиц целиком, а работает на уровне объектов.

Метод 4: Выгрузка и загрузка данных XML

Разберем вариант использования типовой обработки с портала ИТС — ВыгрузкаЗагрузкаДанныхXML83.epf. Этот инструмент позволяет выборочно перенести данные между идентичными конфигурациями.

Алгоритм работы следующий:

  1. Запускаем обработку в базе-источнике.
  2. Выбираем типы объектов для выгрузки.
  3. Настраиваем отбор (кнопка «Настроить отбор») для каждого типа документа по полю Организация.
  4. Выгружаем данные в файл и загружаем их в пустую базу-приемник.

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

Сравнение методов и важные нюансы

Проанализируем ситуацию с общими данными. При любом способе разделения (кроме полной копии) возникает вопрос общих справочников. Например, справочник Контрагенты или Физические лица. Если в базе было 10 организаций и у них были общие клиенты, то при выделении одной фирмы в новую базу попадут только те клиенты, по которым были движения. Это делает базу более «легкой» и «чистой».

Особое внимание для ЗУП 3.1: При выделении организации из Зарплаты и управления персоналом крайне важно проверить перенос данных по сотрудникам (кадровые приказы, начисления) и регламентированной отчетности. Проверьте, чтобы в новой базе корректно заполнились регистры по НДФЛ и страховым взносам за прошлые периоды, иначе отчетность за год может сформироваться неверно.

В заключение отметим, что для небольших и средних баз наиболее предпочтительным является Метод 1 (РИБ) из-за его автоматизма. Для крупных баз с большим количеством исторических данных эффективнее может оказаться Метод 3 (Синхронизация) или Метод 2 (Программное удаление) с привлечением системного администратора для контроля размера SQL-таблиц.

← На главную