Как повторно синхронизировать документы из УТ11 в БП3, если они были удалены в БП3?

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет Торговля и дистрибуция
← На главную

При работе с двумя базами 1С, такими как Управление торговлей 11 (УТ11) и Бухгалтерия предприятия 3 (БП3), часто возникает необходимость обмена данными. Если документы были успешно синхронизированы из УТ11 в БП3, а затем по каким-либо причинам удалены в БП3, может возникнуть проблема с их повторной синхронизацией. Мы сталкиваемся с ситуацией, когда стандартные методы, такие как перепроведение документов в УТ11, пометка их на удаление с последующим снятием пометки, или даже ручная регистрация к обмену, не приводят к желаемому результату — документы не появляются в БП3.

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

Особенности механизма обмена данными и "Публичные идентификаторы синхронизируемых объектов"

Для понимания причин и методов решения проблемы, нам необходимо рассмотреть, как устроен типовой обмен данными в 1С. В конфигурациях на платформе 1С:Предприятие 8.3, использующих универсальный формат EnterpriseData, для сопоставления объектов между разными базами используется специальный регистр сведений — ПубличныеИдентификаторыСинхронизируемыхОбъектов (РПИ). Этот регистр играет ключевую роль в отслеживании того, какие объекты из одной базы соответствуют объектам в другой.

  1. Хранение соответствий: В РПИ записывается информация о том, что объект из базы-отправителя (например, УТ11) был успешно передан в базу-получатель (БП3) и сопоставлен с соответствующим объектом там. Каждому уникальному объекту в одной базе присваивается публичный идентификатор, который связывается с публичным идентификатором того же объекта в другой базе.
  2. Механизм квитирования: После успешной загрузки данных в БП3, система отправляет обратно в УТ11 так называемую "квитовку" – подтверждение получения. На основании этой квитовки в регистре РПИ базы УТ11 фиксируется, что данный документ был успешно передан.
  3. Блокировка повторной выгрузки: Если запись в РПИ на стороне УТ11 указывает, что документ был передан, система обмена может "считать", что документ уже присутствует в БП3, и не регистрировать его к повторной выгрузке, даже если в УТ11 его перепровели, пометили к обмену или выполнили другие действия. Это предотвращает дублирование данных при нормальном обмене.
  4. Проблема при удалении: Когда документ удаляется в БП3, запись в РПИ на стороне УТ11 остается без изменений. Это приводит к диссонансу: в УТ11 система "думает", что документ есть в БП3, хотя на самом деле его там нет. Поэтому документ не попадает в последующие обмены.

Понимание работы этого механизма помогает нам осознать, почему простые действия в УТ11 не приносят результата: мы должны "обмануть" или "сбросить" информацию в регистре РПИ, чтобы система обмена "забыла" о том, что документ уже был передан.

Ключевое решение: Повторная синхронизация зависимых документов

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

Рассмотрим подробнее на примере, который встретился в реальной практике: поступления денежных средств от розничной выручки. Оказывается, документы "Поступление денежных средств" в БП3, связанные с розничной выручкой, не загружаются в БП3 напрямую из УТ11 как самостоятельные документы. Вместо этого они создаются в БП3 автоматически после успешной загрузки и проведения документа "Отчет о розничных продажах".

  1. Причина проблемы: Если "Отчет о розничных продажах" был синхронизирован, а затем удален в БП3, то и связанные с ним "Поступления денежных средств", автоматически созданные в БП3, также отсутствуют. Попытка вручную синхронизировать "Поступления денежных средств" из УТ11 будет безуспешной, потому что они не являются прямыми объектами обмена в данном контексте.
  2. Что делать: Для того чтобы эти "Поступления денежных средств" вновь появились в БП3, необходимо повторно инициировать синхронизацию именно для исходного документа — "Отчета о розничных продажах". Если "Отчет о розничных продажах" будет успешно выгружен из УТ11 и загружен в БП3, то "Поступления денежных средств" будут созданы в БП3 автоматически, как и при первом обмене.
  3. Действия по синхронизации исходного документа:
    • В УТ11 откройте "Отчет о розничных продажах", который вам нужно синхронизировать.
    • Выполните его перепроведение. Это действие обновит состояние документа и, в идеале, должно зарегистрировать его к обмену, если РПИ не содержит блокирующей записи.
    • Если перепроведение не помогает, попробуйте вручную зарегистрировать этот "Отчет о розничных продажах" к обмену через стандартные механизмы настройки синхронизации или специализированные обработки (например, "Регистрация изменений для обмена").
    • После регистрации выполните стандартную синхронизацию между УТ11 и БП3.

Этот подход подчеркивает важность понимания логики бизнес-процессов и правил обмена, заложенных в типовых конфигурациях. Не все документы являются "самостоятельными" единицами обмена; многие зависят от других.

Общие шаги по диагностике и решению проблем с синхронизацией

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

  1. Проверка регистра сведений "Публичные идентификаторы синхронизируемых объектов"

    Как мы уже выяснили, этот регистр является сердцем сопоставления объектов. Если в нем содержится некорректная информация или "битые" ссылки, это может блокировать повторный обмен.

    Действия:

    1. В УТ11, в режиме отладки или через "Все функции", найдите регистр сведений ПубличныеИдентификаторыСинхронизируемыхОбъектов.
    2. Осторожно найдите записи, связанные с проблемными документами. Они обычно содержат ссылки на объекты и их публичные идентификаторы.
    3. Если вы уверены, что хотите "сбросить" информацию о передаче этих объектов, попробуйте удалить соответствующие записи. Однако, будьте крайне осторожны: это может нарушить целостность обмена для других объектов. Всегда делайте это на тестовой базе.
    4. После удаления записей, перепроведите документы в УТ11 и попробуйте выполнить обмен. Это должно заставить систему обмена зарегистрировать их как новые, ранее не синхронизированные объекты.
  2. Даты запрета редактирования и загрузки

    В обеих базах могут быть установлены даты запрета редактирования или загрузки данных. Если дата документа, который вы пытаетесь синхронизировать, находится до установленной даты запрета, то он не будет загружен или изменен.

    Действия:

    1. Проверьте настройки дат запрета в УТ11 (обычно в разделе "Администрирование" или "Настройка и администрирование").
    2. Проверьте настройки дат запрета в БП3.
    3. Убедитесь, что дата проблемного документа не попадает под запрет.
  3. Тестирование и исправление (ТиИ)

    Внутренние ошибки базы данных, повреждение индексов или логическая целостность могут влиять на работу обмена данными.

    Действия:

    1. Выполните "Тестирование и исправление" в обеих базах (УТ11 и БП3).
    2. Рекомендуем выполнять ТиИ с максимальным количеством флажков (за исключением "Сжатие таблиц", если база большая и нет на это времени) и обязательно в режиме монопольного доступа, предварительно сделав резервную копию.
  4. Ручная регистрация к обмену

    Несмотря на то, что автор темы уже пробовал это, важно понимать, что ручная регистрация к обмену — это стандартный шаг. Если она не помогает, это лишь подтверждает, что проблема находится на более глубоком уровне (например, в РПИ, как мы обсуждали).

    Действия:

    1. В УТ11, через меню "Настройка синхронизации данных" (или аналогичное), найдите обработку для ручной регистрации изменений к обмену.
    2. Укажите нужный вид документа и период, зарегистрируйте изменения.
    3. После этого попробуйте выполнить обмен.
  5. Проверка журнала регистрации

    Журнал регистрации — ваш главный помощник в диагностике. В нем фиксируются все операции, включая процесс обмена данными.

    Действия:

    1. После попытки обмена, откройте журнал регистрации в обеих базах.
    2. Отфильтруйте события по источнику "Обмен данными" или по типу "Ошибка", "Предупреждение".
    3. Ищите записи, связанные с выгрузкой из УТ11 и загрузкой в БП3. Обращайте внимание на количество обработанных объектов. Если выгрузилось N объектов, а загрузилось M (где M < N), это явно указывает на проблему.
  6. Поиск документов через режим разработчика

    Иногда документ может быть загружен в БП3, но по какой-то причине не отображаться в стандартных списках (например, из-за неверного статуса, отсутствия заполненных реквизитов или проблем с правами).

    Действия:

    1. В БП3 откройте "Все функции" (обычно доступно через "Сервис и настройки" -> "Функции для технического специалиста" или "Главное меню" -> "Все функции").
    2. Найдите нужный вид документа (например, "Поступление на расчетный счет").
    3. Попробуйте найти документ по номеру или дате, используя расширенный поиск.
  7. Заполненность обязательных реквизитов

    Документ может не переноситься, если в нем не заполнены обязательные реквизиты, необходимые для его создания или проведения в базе-приемнике. Правила конвертации могут требовать наличия определенных данных, которые являются необязательными в УТ, но обязательными в БП.

    Действия:

    1. Внимательно проверьте заполнение всех реквизитов проблемного документа в УТ11.
    2. Попробуйте создать аналогичный документ вручную в БП3, чтобы понять, какие поля являются обязательными для его проведения.
  8. Соответствие релизов конфигураций

    Значительные различия в релизах УТ11 и БП3 могут привести к несовместимости правил обмена или структур данных, что вызовет проблемы при синхронизации.

    Действия:

    1. Убедитесь, что обе конфигурации обновлены до актуальных или хотя бы сопоставимых релизов.
    2. Обновление до последних релизов часто решает множество проблем обмена.
  9. Статус "Проведен" для документов

    В большинстве типовых конфигураций к обмену регистрируются только проведенные документы. Если документ был удален, а потом просто записан (но не проведен) в УТ, он может не попасть в обмен.

    Действия:

    1. Убедитесь, что все проблемные документы в УТ11 имеют статус "Проведен".
  10. Конфликты версий

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

    Действия:

    1. Используйте отчеты по конфликтам или средства просмотра изменений в планах обмена, если таковые имеются.

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

← На главную