Задача переноса данных только одной организации из многофирменной базы 1С:Бухгалтерия предприятия 3.0 (БП 3.0) в отдельную, "чистую" базу является довольно распространенной. Она может возникнуть по разным причинам: необходимость выделить одну фирму для независимого учета, подготовка данных для аудита, смена собственника или просто оптимизация работы с базой данных. В этом руководстве мы подробно разберем несколько подходов к решению этой проблемы, учитывая как штатные механизмы 1С, так и специализированные обработки, а также важные "нюансы", на которые стоит обратить внимание.
Для успешного переноса данных (в том числе через синхронный обмен данными) мы рассмотрим следующие основные методы:
Перед началом любых операций по переносу данных крайне важно создать резервные копии обеих баз (исходной и целевой, если она не полностью пустая). Это позволит избежать потери информации в случае непредвиденных ошибок.
Этот метод является штатным механизмом 1С и широко используется для синхронизации данных между центральной и периферийными базами. В случае сервиса 1С:Фреш, аналогичная функциональность называется Автономным рабочим местом (АРМ), которое по сути является тем же периферийным узлом РИБ, но с особенностями работы в облаке.
Механизм РИБ позволяет создать копию вашей центральной базы, которая будет содержать только данные, относящиеся к выбранной организации. После создания такой периферийной базы, ее можно "отвязать" от центральной, превратив в независимую рабочую базу.
1С:Фреш.Рассмотрим шаги, как это можно сделать в обычной БП 3.0, использующей управляемый интерфейс:
Для этого необходимо войти в центральную базу под пользователем с полными правами. Перейдите в раздел Администрирование – Синхронизация данных – Настройка узлов РИБ. Здесь мы создаем новый узел РИБ. На этапе настройки параметров обмена (или после его создания, в свойствах узла) вы сможете указать отбор данных по организации. Выбираем организацию, данные которой необходимо перенести. Система сформирует начальный образ новой базы, содержащий только данные выбранной организации.
После того как периферийная база создана и, возможно, прошла одну или несколько синхронизаций (для уверенности в полноте данных), нам нужно превратить ее в самостоятельную. Для этого открываем эту периферийную базу в режиме Конфигуратор. Переходим в меню Администрирование – Параметры информационной базы (или Распределенная информационная база). Здесь вы найдете опцию для отключения базы от центрального узла РИБ. Это действие превратит периферийную базу в самостоятельную центральную базу.
В некоторых случаях достаточно запустить периферийную базу в режиме Предприятие, перейти в Администрирование – Синхронизация данных – Настройка синхронизации данных. Далее выбираем узел, и там должна быть кнопка или команда типа "Отключить базу от синхронизации".
Если вам больше не нужен этот узел РИБ в центральной базе, его можно удалить. В центральной базе перейдите в Администрирование – Синхронизация данных – Настройка узлов РИБ. Выберите созданный ранее узел РИБ и воспользуйтесь функцией "Удалить узел" (часто доступна по правой кнопке мыши). Обратите внимание: если вы делаете это из копии центральной базы, то в основной базе никаких изменений не произойдет.
Этот метод, хотя и требует некоторой внимательности, является стандартным и надежным для задач такого рода.
Для тех, кто ищет более гибкий и, возможно, более простой в настройке способ, особенно для файловых баз, подойдет использование обработки выгрузки и загрузки XML с отбором для управляемых форм.
Обработки типа "Универсальный обмен данными в формате XML" (или доработанные версии, как, например, "ВыгрузкаЗагрузкаДанныхXML_СОтборомПоОрганизации", часто встречающиеся на ресурсах вроде Infostart) позволяют выборочно выгрузить данные из одной базы и загрузить их в другую. Ключевое преимущество таких обработок заключается в возможности задать отбор по организации при выгрузке, а также указать период выгрузки документов и остатков.
"Универсальный обмен данными в формате XML" не всегда имеет удобный отбор по организации "из коробки" для всех объектов, поэтому часто требуется модификация с гибким отбором объектов.Найдите подходящую обработку. Это может быть:
Универсальный обмен данными в формате XML, поставляемая на дисках ИТС или в составе конфигурации 1С:Конвертация данных (она может потребовать ручной настройки правил выгрузки для отбора по организации, если такового нет изначально).Откройте обработку в исходной базе (Файл – Открыть или через Администрирование – Печатные формы, отчеты и обработки – Дополнительные отчеты и обработки). В интерфейсе обработки:
OrgExport.xml).Откройте целевую (чистую) базу. Запустите ту же обработку в режиме "Загрузка данных".
OrgExport.xml).После загрузки обязательно проверьте корректность перенесенных данных — для автоматического контроля подойдёт обработка сравнения данных и поиска расхождений в 1С. Убедитесь, что все справочники, документы и остатки по выбранной организации перенеслись правильно. Особое внимание уделите "нюансам", описанным ниже.
Этот метод является наиболее технически сложным и подходит исключительно для серверных баз данных (SQL Server, PostgreSQL) и специалистов, имеющих глубокие знания в области администрирования баз данных и структуры хранения данных 1С.
Метод заключается в написании и выполнении SQL-скриптов, которые напрямую обращаются к таблицам базы данных 1С, выбирают и копируют записи, относящиеся к определенной организации, в новую, предварительно созданную структуру базы данных.
Мы не будем приводить примеры SQL-скриптов, так как их создание требует индивидуального подхода к каждой базе и глубоких знаний, не являющихся частью общих инструкций. Данный метод следует рассматривать только как крайнюю меру для очень специфических и сложных случаев.
Независимо от выбранного метода, существуют общие "подводные камни", которые необходимо учитывать при выгрузке одной организации:
Это самый распространенный "нюанс". Рассмотрим ситуацию: в документе Поступление (Акт, накладная) для Организации А был выбран Договор контрагента, который фактически относится к Организации Б (это может быть ошибочное заполнение или специфическая логика). При переносе только Организации А, этот договор, скорее всего, не будет перенесен, или, если он перенесется, связь с Организацией Б потеряется, что приведет к некорректности данных.
Решение: После переноса обязательно проводите аудит ключевых документов и справочников, связанных с перенесенной организацией. Проверьте связи с контрагентами, договорами, номенклатурой. Возможно, потребуется ручная корректировка таких связей или дополнительная выгрузка связанных объектов.
Некоторые справочники (например, Номенклатура, Контрагенты) и регистры (например, Настройка прав пользователей) являются общими для всех организаций в базе. При переносе данных только одной организации, эти общие объекты будут перенесены полностью или частично (в зависимости от настроек), но их связь с другими организациями исходной базы будет потеряна. Это обычно не является проблемой, если вы не планируете объединять эти базы обратно.
В новой базе вам потребуется заново настроить пользователей и их права доступа, поскольку эти данные обычно не переносятся вместе с организацией.
Если вы переносите данные не с начала ведения учета, а с середины года, убедитесь, что выгружены все необходимые документы ввода начальных остатков или сами остатки на определенную дату. Многие обработки позволяют выгружать движения по регистрам для формирования остатков.
После переноса данных и всех необходимых корректировок тщательно протестируйте новую базу. Попробуйте сформировать отчеты, провести документы, убедиться в правильности расчетов и проводок. Это поможет выявить возможные скрытые проблемы.
Перенос организации в отдельную базу — это не автоматический процесс, требующий внимательного подхода, настройки и тестирования для обеспечения целостности и сохранности данных. Выбирайте метод, который соответствует вашим техническим навыкам и специфике базы данных.