В практике работы с 1С:Бухгалтерия 3.0 часто возникает ситуация, когда в одной информационной базе ведется учет по нескольким организациям, но со временем одну из них требуется «вычленить» в отдельную базу. Это может быть связано с продажей бизнеса, требованием директора или необходимостью предоставить данные внешним аудиторам только по конкретному юридическому лицу. Рассмотрим подробнее основные способы решения этой задачи, проанализируем их плюсы и минусы, а также разберем по шагам техническую реализацию каждого метода.
Этот метод считается наиболее «правильным» и технологичным с точки зрения платформы 1С:Предприятие 8.3. Он позволяет создать подчиненную базу, в которую попадут данные только по выбранному объекту фильтрации (в нашем случае — организации).
Разберем алгоритм действий:
1Cv8.1CD (для файлового варианта) или новую схему SQL.Для «отвязки» базы от главного узла запустим программу в режиме 1С:Предприятие и воспользуемся консолью кода или внешней обработкой, выполнив следующую команду:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
После этого база станет полностью самостоятельной, и мы сможем вносить в нее любые изменения.
Проанализируем современный штатный механизм, который часто игнорируют. В типовых конфигурациях БП 3.0 предусмотрен мастер перехода в облако, который идеально подходит для разделения баз.
Рассмотрим процесс:
data_dump.zip. Этот файл содержит данные в формате XML, оптимизированном для загрузки в пустую базу.Преимущество метода: 1С сама заботится о целостности ссылок и очистке данных от «мусора» других организаций. Это значительно быстрее, чем классический РИБ.
Выясним причину, по которой многие специалисты выбирают этот трудоемкий путь. Если база сильно доработана или имеет сложные взаимосвязи (например, Интеркампани), штатные выгрузки могут сбоить. В этом случае проще идти от обратного.
Рассмотрим шаги по реализации:
Проблема: Вы столкнетесь с тем, что объекты не будут удаляться из-за ссылочной целостности. Например, общие справочники Контрагенты или Номенклатура могут быть связаны с документами всех организаций. Для решения этой задачи профессионалы используют специализированные обработки с портала Инфостарт для принудительной «вычистки» организации и всех связанных с ней движений по регистрам.
Пример логики очистки через код (упрощенно):
Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Организация <> НужнаяОрганизация Тогда
Объект = Выборка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
// Или полное удаление, если уверены в отсутствии ссылок
КонецЕсли;
КонецЦикла;
Проанализируем ситуацию, которая часто возникает после разделения базы. Даже если вы успешно выгрузили данные, база требует «доводки»:
Номенклатура, Контрагенты, Физические лица, если они не были жестко привязаны к владельцу. Рекомендуется провести поиск и удаление дублей, а также очистку неиспользуемых элементов.Подводя итог, можно сказать следующее:
Независимо от выбранного метода, всегда делайте архивную копию перед началом любых манипуляций. После разделения обязательно сверьте оборотно-сальдовую ведомость (ОСВ) в исходной и новой базе по выбранной организации, чтобы убедиться, что все остатки и обороты перенеслись корректно.