Настройка синхронизации данных между конфигурациями 1С — задача, с которой часто сталкиваются специалисты. Казалось бы, мастер настройки пройден, связь установлена, однако пользователи начинают жаловаться: документы создаются и проводятся, но в базу-приемник (например, в 1С:Бухгалтерию) они не попадают. Часто при этом используются типовые правила обмена БП 3.0 -> УНФ 3.0, которые определяют базовую логику миграции. При этом, если зарегистрировать объект вручную через монитор синхронизации, обмен проходит успешно.
В этой статье мы подробно разберем ситуацию, когда автоматическая регистрация изменений не срабатывает, хотя визуально все настройки кажутся корректными. Мы проанализируем как очевидные пользовательские настройки, так и скрытые механизмы платформы и правил обмена (Enterprise Data).
Первым делом мы всегда должны исключать самые простые причины. В настройках синхронизации (плана обмена) существуют фильтры, ограничивающие миграцию данных. Если документ не проходит хотя бы один из них, платформа не зарегистрирует его к отправке.
Фильтр по Организации
В настройках синхронизации часто стоит отбор "Только по выбранным организациям". Это критически важный момент. Мы должны убедиться в следующем:
Организация заполнено корректно (иногда при копировании документов или загрузке из внешних источников это поле может быть пустым или содержать дубль справочника).Дата начала обмена
Еще один важный параметр — "Дата начала выгрузки документов". Система устроена так, чтобы не нарушать учет в прошлых периодах. Разберем логику работы этого фильтра:
Убедимся, что документ попадает в открытый период. Если необходимо выгрузить старые данные, дату начала обмена в настройках следует сдвинуть назад. В случаях, когда нужно массово отправить документы за конкретный период, удобно использовать расширенную регистрацию объектов к выгрузке по синхронизации по списку — для этого есть обработка расширенной регистрации объектов для обмена.
Если базовые настройки верны, но регистрации нет, мы переходим к анализу внутренней логики конфигурации. В формате обмена Enterprise Data (универсальный формат) правила регистрации часто содержат программный код, проверяющий состояние объекта. Для глубокого анализа таких алгоритмов может потребоваться отладка обмена через Универсальный формат.
В конфигурации 1С:УНФ (Управление нашей фирмой) документ может быть проведен, но с точки зрения бизнес-логики считаться "черновиком" или "незавершенным".
Влияние статусов документов
Многие документы в УНФ (Заказ покупателя, Заказ-наряд, Расходная накладная) имеют реквизит Статус. Стандартные правила обмена (КД 3.0) часто настроены так, чтобы не выгружать документы в начальных статусах. Если стандартная логика вам не подходит, можно использовать расширение для выборочного переноса документов из УНФ в БП, которое позволяет вручную определять необходимость выгрузки через специальную пометку.
Хозяйственные операции
Также правила могут фильтровать документы по виду операции. Например, документ "Перемещение запасов" может иметь операцию "Перемещение в производство", которая не должна выгружаться в Бухгалтерию, если учет производства ведется только в управленческой базе. Необходимо проверить, предусмотрен ли обмен для конкретного вида операции выбранного документа.
В платформе 1С предусмотрена возможность гибкой настройки регистрации для каждого типа метаданных. Иногда, вследствие обновлений или ошибочных действий администратора, настройки для конкретного вида документов могут сбиться.
Мы должны зайти в настройки синхронизации, найти пункт "Состав отправляемых данных". Здесь мы увидим дерево метаданных. При возникновении технических ошибок в этом узле может также потребоваться исправление зацикливания синхронизации, если объекты регистрируются бесконечно.
Для каждого документа возможны три режима:
Если для проблемного документа установлен режим "Не регистрировать" или "Только вручную", никакие перепроведения не помогут. Необходимо вернуть значение в "Автоматически".
Поскольку вопрос автора касался работы в сервисе 1С:Фреш, мы обязаны рассмотреть механизм отложенной регистрации. Это средство оптимизации производительности, которое работает следующим образом:
Если вы провели документ, но он не появился в списке "К отправке" мгновенно, причина может быть в очереди. Ручная регистрация работает в обход этого механизма, именно поэтому автор вопроса мог добавлять документы руками, но не видел автоматического результата.
При обновлении конфигурации УНФ могут меняться и правила обмена, встроенные в макеты. Однако база данных может продолжать использовать старые версии правил регистрации. Особенно это критично, если вам важна загрузка дополнительных реквизитов в синхронизации Enterprise Data, так как старые правила могут не знать о новых полях и блокировать регистрацию.
В правилах обмена часто используется конструкция Попытка ... Исключение, которая гасит ошибку, но при этом устанавливает отказ в регистрации.
Попытка
ЗначениеРеквизита = Объект.НовыйРеквизит;
Исключение
// Если старые правила не знают о реквизите, может произойти ошибка
// и регистрация будет прервана тихо
Отказ = Истина;
КонецПопытки;
Для решения этой проблемы рекомендуется принудительно выполнить команду "Загрузить правила" в настройках синхронизации, выбрав пункт "Из конфигурации".
Еще одна тонкая причина — несовпадение функциональных опций и заполненных данных. Рассмотрим пример:
В таких случаях регистрация также может завершаться "тихим" отказом. Решением является проверка настроек программы (Функциональность).
Проблема автоматической регистрации документов при синхронизации через универсальный формат редко бывает связана с ошибкой кода. Чаще всего это совокупность настроек и логики бизнес-процессов.
Краткий чек-лист для проверки:
Последовательно исключая эти пункты, мы гарантированно найдем причину сбоя обмена.