В процессе работы с программами 1С, особенно с 1С:Бухгалтерия 3.0, часто возникает ситуация, когда в одной информационной базе ведется учет по нескольким организациям. Со временем может потребоваться выделить одну из них в отдельную базу — например, при продаже бизнеса, разделении учета или для оптимизации производительности. Рассмотрим подробнее, как это сделать правильно, сохранив целостность данных и минимизировав ошибки.
Этот метод считается наиболее надежным и стандартным для типовых конфигураций. Он основан на создании распределенной информационной базы (РИБ), где данные фильтруются по конкретному юридическому лицу. Разберем этот процесс по шагам.
Шаг 1. Создание начального образа
Проанализируем возможности стандартного функционала. В разделе администрирования нам необходимо найти пункт «Синхронизация данных». Здесь мы создаем новую настройку синхронизации, выбирая вариант «Распределенная информационная база с фильтром по организации». В настройках мы указываем ту организацию, которую планируем «вырезать» из общей базы. Система автоматически сформирует файл начального образа (.dt или файл базы .1cd).
Шаг 2. Развертывание новой базы
Полученный образ мы разворачиваем как новую информационную базу. На этом этапе в новой базе будут присутствовать только те документы и элементы справочников, которые имеют непосредственное отношение к выбранной организации. Выясним причину, почему это удобно: 1С сама отслеживает ссылочную целостность и переносит связанные объекты (например, контрагентов, договоры и номенклатуру, используемую в документах этой фирмы).
Шаг 3. Отключение признака РИБ
После того как данные успешно перенесены, нам нужно сделать новую базу полностью автономной, то есть «разорвать связь» с главной базой. Для этого в новой (периферийной) базе необходимо выполнить команду отключения главного узла. Рассмотрим, как это сделать технически:
/ResetMasterNode.Также можно воспользоваться программным методом в обработке, выполнив следующий код:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Если база небольшая, мы можем пойти по пути исключения лишнего. Рассмотрим этот алгоритм подробнее.
Порядок действий:
Организации, оставив только одну целевую.Проанализируем ситуацию: основной риск здесь заключается в том, что после удаления документов останется множество «мусорных» записей в регистрах и справочниках. Процедура может затянуться надолго, так как контроль ссылочной целостности в 1С не позволит просто так удалить объекты, на которые есть ссылки. Вам придется либо долго «причесывать» базу, либо мириться с наличием данных других фирм в справочниках Контрагенты или Номенклатура.
Для опытных пользователей и программистов подойдет использование универсальной обработки ВыгрузкаЗагрузкаДанныхXML.epf. Посмотрим на этот процесс с точки зрения структуры метаданных.
Нам потребуется пустая база той же самой версии конфигурации. В исходной базе мы запускаем обработку, выбираем необходимые типы объектов (документы, справочники, регистры) и устанавливаем фильтр по полю Организация. После выгрузки файла выполняем загрузку данных в новую базу.
Важный нюанс: при таком подходе часто «теряются» записи регистров сведений, которые не имеют прямого измерения Организация, но важны для работы (например, учетная политика или настройки параметров учета). Этот метод требует тщательной ручной проверки каждого перенесенного раздела.
Независимо от выбранного способа, после переноса данных в отдельную базу необходимо выполнить ряд обязательных технических процедур, чтобы база работала корректно.
1. Перенос классификаторов
Заметим, что при частичном переносе через РИБ или XML часто не переносится регистр сведений ВерсииКлассификаторов. Это приведет к тому, что в новой базе перестанут обновляться адреса, банки или другие классификаторы. Рекомендуем перенести этот регистр целиком из старой базы в новую с помощью той же обработки Выгрузка и загрузка данных XML.
2. Настройка пользователей и прав
В новой базе нам необходимо заново создать или отредактировать список пользователей. Часто пароли и привязки к сотрудникам слетают или требуют обновления. Разберем по шагам: зайдем в раздел «Настройки пользователей и прав», проверим роли и при необходимости заново зададим пароли для входа.
3. Тестирование и исправление
Это критически важный этап. В новой базе обязательно запускаем процедуру «Тестирование и исправление» (через Конфигуратор: Администрирование — Тестирование и исправление). Выбираем пункты:
При проверке ссылочной целостности лучше выбрать вариант «Очищать объекты» для несуществующих ссылок, чтобы выполнить восстановление битых связей, которые могли возникнуть при вырезании данных других организаций.
4. Очистка исходной базы
Если ваша задача — именно «вырезать» организацию (чтобы ее данных не осталось в старой базе), то после успешного переноса и проверки новой базы необходимо вернуться в старую и удалить там все документы по этой организации. Делать это лучше также через пометку на удаление и стандартный механизм удаления помеченных объектов, чтобы не нарушить целостность оставшихся данных.
Подведем итог: наиболее безопасным и «чистым» является метод через РИБ. Он минимизирует количество «битых» ссылок и сохраняет логику типовой конфигурации. Использование копии базы с ручным удалением оправдано только на очень маленьких объемах данных.