Рассмотрим распространенную задачу: имеется конфигурация 1С:Бухгалтерия предприятия (БП), в которой ведется учет по двум организациям. Настроена односторонняя синхронизация с 1С:ERP, откуда поступают все основные данные. Возникает необходимость разделить эту общую бухгалтерскую базу на две независимые — для каждой организации своя база, при этом сохранив работоспособность обмена данными с ERP. Проанализируем ситуацию и разберем по шагам, как правильно выполнить такое разделение.
Посмотрим на классический, рекомендуемый платформой способ. Он заключается в создании начального образа через механизм РИБ с фильтром по организации.
Недостаток метода: Процесс создания начального образа РИБ по организации может занимать огромное количество времени (вплоть до 15-20 часов для объемных баз). Поэтому на практике этот метод не всегда применим.
Разберем более быстрый и популярный на практике способ — создание полной копии базы с последующей очисткой данных.
Чтобы разделение прошло успешно, проанализируем скрытые аспекты, которые обязательно нужно учесть при использовании метода копирования.
1. Идентификаторы объектов (GUID) и новые узлы обмена
При простом копировании базы все объекты справочников (контрагенты, номенклатура) в обеих базах будут иметь идентичные внутренние GUID. Это хорошо для продолжения обмена с ERP. Однако, чтобы ERP корректно понимала, куда и какие данные отправлять, при настройке синхронизации для "новой" базы критически важно создать в ERP именно новый узел обмена, а не пытаться перенастраивать скопированный старый.
2. Очистка таблиц регистрации изменений
После создания копии в ней остаются записи в таблицах регистрации для старого обмена. Их необходимо обязательно очистить вручную. Перейдите в параметры синхронизации данных, откройте состав отправляемых данных и сбросьте регистрацию для всех объектов. Иначе база попытается отправить в ERP неактуальную информацию об изменениях.
3. Префиксы и нумерация
Смена префикса — обязательный шаг. Но обратите внимание: префикс информационной базы добавляется к префиксу самой организации. Если у базы префикс "СО", а у организации "ОР", номер документа станет "СООР00001". Обязательно проверьте, хватает ли длины поля номера, чтобы избежать переполнения разрядов при сохранении документов.
4. Удаление данных и ссылочная целостность
Просто удалить организацию из справочника нельзя. Рекомендуем использовать типовой механизм УдалениеДанныхПоОрганизации (если доступен) или использовать стандартное удаление помеченных объектов. Это небыстрый процесс, так как система контролирует все ссылки в базе. Можно также рассмотреть механизм свертки базы для обрезки старых периодов перед чисткой.
5. Регламентные задания и общие настройки
Сразу после разворота копии базы (до начала чистки) зайдите в раздел РегламентныеЗадания и временно отключите их, либо перенастройте. Две базы не должны одновременно пытаться, например, загружать курсы валют под одним расписанием. Также обязательно проверьте "Настройки налогов и отчетов" и "Учетную политику", настройки ЭДО и Директ-банка — их нужно скорректировать для оставшейся организации.
Если чистить копию базы слишком долго, рассмотрим альтернативный путь. Можно создать абсолютно чистую базу БП той же версии конфигурации. Затем с помощью стандартной обработки ВыгрузкаИЗагрузкаДанныхXML перенести документы только по нужной организации за нужный период, обязательно установив флаг выгрузки объектов по ссылкам. Это позволит получить чистую базу без следов другой организации, после чего можно настраивать синхронизацию с ERP с чистого листа.