Как настроить синхронизацию между 1С:ERP и 1С:Документооборот без добавления префикса в номера документов?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При настройке стандартной синхронизации данных между конфигурациями 1С:ERP Управление предприятием и 1С:Документооборот специалисты часто сталкиваются с жестким требованием системы: обязательной установкой префикса информационной базы. Для многих организаций, где нумерация документов уже устоялась и не предполагает наличие буквенных или дополнительных цифровых индексов, это становится серьезной проблемой. Разберем подробно, почему так происходит, какие риски несет удаление префикса и как решить задачу элегантно, не ломая логику системы.

Механика работы префикса в современных конфигурациях 1С

Для начала проанализируем, зачем вообще нужен префикс. В типовых решениях на базе Библиотеки стандартных подсистем (БСП) префикс выполняет две критически важные, но разные функции:

  1. Идентификация в плане обмена: Префикс позволяет системе отличать «свои» данные от «чужих». При получении сообщения обмена база понимает, какой объект был создан локально, а какой пришел извне.
  2. Автоматическая нумерация: Префикс автоматически добавляется к кодам справочников и номерам документов через механизм ПриУстановкеНовогоНомера. Это гарантирует уникальность номеров при объединении данных из разных баз в одной системе-приемнике.

Проблема в том, что помощник настройки синхронизации не позволяет завершить процесс, если поле «Префикс этой базы» не заполнено. Многие администраторы пытаются обмануть систему, устанавливая префикс на этапе настройки и удаляя его сразу после. Рассмотрим, почему это может быть опасно.

Риски простого удаления префикса после настройки

Если мы установим префикс, завершим настройку, а затем очистим его в настройках синхронизации или константах, мы можем столкнуться со следующими последствиями:

Решение 1: Использование «маскировочного» префикса

Одним из простых способов, предложенных в сообществе, является использование префикса 00. Рассмотрим этот вариант. Если установить префикс из двух нулей, номера документов примут вид 00-00000001. Это может подойти, если в компании уже используется цифровая нумерация с лидирующими нулями. Однако это все равно меняет визуальное представление документа в печатных формах и реестрах, что часто неприемлемо для бухгалтерии.

Решение 2: Подавление префикса через расширение (Рекомендуемое)

Проанализируем наиболее технологичный способ: оставить префикс в настройках синхронизации (чтобы обмен работал корректно), но запретить ему попадать в номера документов и коды справочников. Для этого мы создадим небольшое расширение. В расширении нам нужно перехватить процедуру, отвечающую за установку номера. Посмотрим на пример реализации логики в модуле расширения:


&После("ПриУстановкеНовогоНомера")
Процедура Расш_ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    // Очищаем префикс базы, оставляя только префикс организации (если он нужен)
    // или полностью обнуляем переменную Префикс для чисто цифровой нумерации
    Префикс = ""; 
КонецПроцедуры

Этот метод позволяет «обмануть» механизм нумерации. При создании нового документа система будет видеть, что в настройках базы префикс есть, но в момент формирования конкретного номера расширение будет его очищать. Таким образом, в базе ERP нумерация останется чистой, а для целей обмена префикс будет зафиксирован в узле плана обмена.

Решение 3: Скорректированная настройка параметров учета

Выясним еще одну особенность. В ERP префикс часто хранится в нескольких местах: в настройке конкретной синхронизации и в общей константе ПрефиксИнформационнойБазы. Попробуем следующий алгоритм:

  1. Выполним настройку синхронизации с указанием нужного префикса (например, ЭР).
  2. Зайдем в «НСИ и администрирование» — «Настройка параметров системы» — «Общие настройки».
  3. Проверим значение в поле «Префикс информационной базы». Если оно заполнилось автоматически, очистим его там.

В некоторых релизах БСП этого достаточно, чтобы механизм ПриУстановкеНовогоНомера перестал подхватывать префикс, при этом сам узел обмена (в плане обмена) сохранит свой код и работоспособность.

Решение 4: Разработка собственной выгрузки

Если требования заказчика категоричны и использование стандартного префикса запрещено в любом виде, рассмотрим вариант отказа от типовой синхронизации. Мы можем написать простую обработку по выгрузке справочников, используя COM-соединение или HTTP-сервисы. Рассмотрим пример логики выгрузки через регистрацию изменений:


// Пример регистрации изменений для своего обмена
ПланОбменаСсылка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоНаименованию("МойОбменВДокументооборот");
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ПланОбменаСсылка, НомерСообщения);

Пока ВыборкаИзменений.Следующий() Цикл
    ДанныеОбъекта = ВыборкаИзменений.Получить();
    // Логика передачи данных в ДО через веб-сервис
    ПередатьВДокументооборот(ДанныеОбъекта);
КонецЦикла;

Такой подход полностью снимает вопрос префиксов, так как вы сами контролируете состав передаваемых данных и правила их сопоставления в базе-приемнике. Однако это потребует затрат на разработку и поддержку кода при обновлениях конфигурации.

Подведение итогов

Проанализировав все варианты, мы рекомендуем придерживаться следующей стратегии: установить требуемый префикс в помощнике синхронизации, но заблокировать его влияние на нумерацию с помощью расширения. Это сохранит целостность стандартного механизма обмена данными и обеспечит неизменность номеров документов в ERP, что удовлетворит требования как технических специалистов, так и бизнес-пользователей.

← На главную