Как наладить обмен номенклатурой между базами 1С без дублей
Содержание
Синхронизировать номенклатуру между базами 1С проще всего через встроенный механизм Администрирование → Синхронизация данных: он сам переносит справочник, сопоставляет позиции и держит их в актуальном состоянии по расписанию. Для типовых пар конфигураций (например, «Управление торговлей» и «Бухгалтерия предприятия») готовая настройка уже есть — обмен идёт в универсальном формате EnterpriseData.
Если конфигурации нетиповые или нужен тонкий отбор полей, обмен настраивают правилами конвертации в отдельном инструменте. Разница между подходами — в трудозатратах: типовая синхронизация включается мастером за полчаса, обмен на своих правилах требует работы в «Конвертации данных».
Ниже — как подготовить базы, настроить обмен, провести первую выгрузку с сопоставлением позиций и не получить задвоенный справочник.
Какой способ обмена номенклатурой выбрать
Выбор зависит от того, насколько совпадают конфигурации и сколько данных вы переносите.
- 🔁 Типовая синхронизация данных. Доступна в
УТ 11,БП 3.0,КА,ERP. Подходит, когда обе базы типовые и между ними есть готовый сценарий. Самый быстрый путь. - 🧩 Универсальный обмен в формате EnterpriseData. Тот же механизм, но вы сами задаёте состав выгружаемых данных. Нужен, если одна из баз доработана.
- 📐 Обмен по правилам конвертации. Правила
.xmlсоздаются в «Конвертации данных 3.0». Нужен для нетиповых пар конфигураций и нестандартного сопоставления полей. - 🗂 Распределённая база (РИБ). Для обмена между копиями одной и той же конфигурации. Номенклатура переносится по внутреннему идентификатору, сопоставление не требуется.
- 📥 Разовая загрузка из файла. Если это не постоянный обмен, а однократный перенос, проще загрузить номенклатуру из табличного документа Excel.
Коротко, какой способ под какую задачу:
| Способ | Когда выбирают | Трудозатраты |
|---|---|---|
| Типовая синхронизация | Обе базы типовые, есть готовый сценарий | Низкие, мастер настройки |
| Универсальный формат | Одна база доработана, нужен свой состав данных | Средние |
| Правила конвертации | Нетиповая пара конфигураций, особое сопоставление | Высокие, работа в КД |
| РИБ | Копии одной конфигурации | Низкие |
| Загрузка из файла | Разовый перенос нескольких сотен позиций | Низкие |
Ориентир по объёму: до нескольких сотен позиций разовый перенос из Excel часто быстрее, чем настройка полноценного обмена. Для постоянного потока изменений выбирают синхронизацию.
Для постоянного обмена между торговой и учётной базой почти всегда достаточно типовой синхронизации — не усложняйте правилами там, где хватает мастера настройки.
Подготовка баз перед первым обменом
До первой синхронизации приведите обе базы в порядок — иначе дубли и ошибки сопоставления придётся разгребать потом.
- Обновите обе конфигурации до совместимых релизов. Версия формата EnterpriseData в базе-источнике не должна быть ниже, чем в приёмнике, иначе часть объектов не загрузится.
- Задайте каждой базе свой префикс (
Администрирование → Синхронизация данных, поле префикса информационной базы). Разные префиксы не дают номерам документов и кодам пересекаться. - Почистите справочник номенклатуры от дублей заранее. Переносить в чужую базу задвоенные позиции — значит размножить проблему.
- Проверьте заполнение идентифицирующих реквизитов:
Артикул,Единица измерения, вид номенклатуры. По ним система будет искать совпадения. - Сделайте резервную копию обеих баз. Первый обмен меняет данные сразу в двух местах — откат без копии невозможен.
Совместимость релизов — не формальность. Формат EnterpriseData развивается, и в свежей базе-источнике может оказаться версия, которую старый приёмник ещё не умеет читать. Такие объекты молча оседают в предупреждениях. Поэтому базу-приёмник держат обновлённой не реже источника, а перед крупным обменом сверяют версии обеих конфигураций.
Настройка правил синхронизации данных
Включите механизм: Администрирование → Синхронизация данных, установите флаг синхронизации и укажите префикс. Затем создайте новую настройку и выберите вид обмена — он подскажет, с какой конфигурацией вы обмениваетесь.
На шагах мастера нужно определить несколько вещей.
Сценарий обмена. Отправка, получение или двусторонний обмен. Для номенклатуры чаще всего двусторонний, но «ведущей» назначают одну базу — ту, где позиции заводят вручную.
Способ подключения. Прямое подключение к базе на том же сервере, обмен через каталог (файловый), через FTP или по интернету (веб-сервис). Для баз на одном сервере проще прямое подключение.
Отбор данных. Ограничьте выгрузку: по организации, по складам, по группе номенклатуры. Переносить весь справочник целиком нужно не всегда.
Правила отправки и получения. Здесь задаётся, что именно уходит и что принимается. По умолчанию типовые правила уже настроены корректно.
Начальное заполнение. Мастер спросит, какая база отдаёт данные первой. Отдаёт та, где справочник номенклатуры полнее и ведётся аккуратнее — она станет источником для первичного наполнения.
Если базы доработаны и типовое правило не охватывает нужные реквизиты, состав выгрузки расширяют в универсальном формате или подключают собственные правила конвертации — но менять их стоит только при реальной необходимости.
Каждая настройка создаёт узел плана обмена в обеих базах — это и есть «адрес» второй стороны. Удалять узел вручную нельзя: разрыв обмена делают только через саму настройку синхронизации, иначе в базе останутся незакрытые ссылки. После сохранения настройки механизм готов к первому запуску.
Первая выгрузка, загрузка и сопоставление позиций
Первый обмен запускают вручную, кнопкой синхронизации в созданной настройке. Система выгружает данные из одной базы и загружает в другую. Ключевой этап именно здесь — сопоставление.
При первой загрузке 1С не создаёт карточки вслепую. Она показывает позиции, по которым нашла возможные совпадения, и предлагает связать их вручную. Совпадения ищутся по идентифицирующим полям:
Порядок действий на первом обмене:
- Запустите синхронизацию и дождитесь этапа сопоставления.
- Проверьте предложенные соответствия. Там, где система связала разные товары, разорвите связь; где не нашла совпадения существующей позиции — укажите его вручную.
- Для позиций без пары выберите действие: создать новую карточку в приёмнике.
- Завершите загрузку и выборочно сверьте десяток позиций в базе-приёмнике — наименование, артикул, единицу. Отдельно проверьте позиции с похожими названиями: именно на них чаще всего случается ошибочное связывание или лишняя карточка.
Не пропускайте этап сопоставления «по умолчанию». Если согласиться автоматически, по неточным наименованиям система может создать новые карточки вместо связывания — и вы получите дубли.
Позиции, которым вы не нашли пару и не создали карточку, при следующем сеансе снова попадут в сопоставление — пропущенные товары не теряются, но и не уходят в приёмник, пока вы не примете по ним решение.
При обмене между копиями одной базы (РИБ) сопоставление не нужно: позиции связываются по внутреннему идентификатору автоматически, потому что он одинаков во всех узлах такой базы.
Как убрать дубли и разрешить конфликты
Дубли появляются по двум причинам: номенклатуру заводят вручную в обеих базах либо при первом обмене пропустили сопоставление. Конфликт изменений возникает, когда одну и ту же карточку правят в двух базах между сеансами обмена. Разберём оба случая по порядку — сначала дубли, потом конфликты.
Что помогает против дублей:
- 🎯 Одна ведущая база. Договоритесь, что новые позиции заводятся только в одной базе, а в остальные приходят обменом. Это убирает причину дублей, а не последствия.
- 🔗 Ручное сопоставление при первом обмене. Самый дешёвый момент связать уже существующие карточки — до того, как они размножились.
- 🧹 Обработка поиска и удаления дублей. В типовых конфигурациях есть инструмент объединения карточек: он находит похожие позиции и сводит их в одну, перенося ссылки из документов. Запускать его лучше в монопольном режиме и после резервной копии — операция меняет ссылки во всех документах.
Конфликт одновременных изменений механизм синхронизации фиксирует и показывает в предупреждениях. Приоритет определяется настройкой обмена: выигрывает версия из главного узла. Если приоритет не задан однозначно, разберите конфликтные позиции вручную — какая версия карточки верная.
Отдельный случай — удаление. Если позицию пометили на удаление в одной базе, в приёмник уходит именно пометка, а не физическое удаление. Снимать пометку и чистить справочник нужно согласованно, чтобы обмен не вернул позицию обратно при следующем сеансе.
Правило простое: реквизиты, которые ведутся в торговой базе (цены, артикулы), меняют только там; бухгалтерские признаки — в учётной. Тогда конфликтовать нечему.
Автоматизация обмена и контроль результата
После успешного первого обмена синхронизацию ставят на расписание, чтобы не запускать вручную.
- ⏱ Расписание. В настройке синхронизации задаётся сценарий с периодичностью (например, каждые 15 минут или раз в час). Выполняет его регламентное задание на сервере.
- 🖥 Способ для сервера. Для клиент-серверных баз расписание отрабатывает фоновое задание; на файловой базе обмен идёт, только пока открыт сеанс, — для автономной работы такую базу запускают по расписанию отдельно.
- 📋 Мониторинг. В разделе синхронизации есть журнал последних сеансов и список предупреждений. Начинайте проверку с него: там видно, прошёл ли обмен и какие объекты не загрузились.
Полезно понимать, как устроена регистрация изменений. База не пересылает весь справочник каждый раз — она ведёт очередь изменённых объектов для каждого узла. Когда обмен долго не идёт, очередь растёт; когда сеанс проходит — чистится. Если очередь внезапно огромная при маленькой правке, обычно это признак сбитой регистрации: в таком случае помогает повторная настройка состава выгружаемых данных, а не запуск обмена «как есть».
Что контролировать регулярно:
| Показатель | Где смотреть | На что реагировать |
|---|---|---|
| Статус последнего сеанса | Монитор синхронизации | Ошибка или «не выполнялось» |
| Предупреждения | Список предупреждений обмена | Непринятые объекты, конфликты |
| Новые дубли | Справочник номенклатуры | Позиции с одинаковым артикулом |
Если обмен не прошёл несколько сеансов подряд, данные расходятся молча. Поэтому мониторинг предупреждений важнее, чем кажется, — настройте привычку заглядывать в журнал.