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

Печать (Ctrl+P)

Публичные идентификаторы синхронизируемых объектов (РПИ)

Для успешного сопоставления объектов с разными GUID при обмене через универсальный формат EnterpriseDate  используется регистр сведений Публичные идентификаторы синхронизируемых объектов (далее РПИ)  для  хранения информации об их соответствии.

Механизм сопоставления данных при обмене через универсальный формат  можно посмотреть  здесь

Рис.1 Регистр сведения РПИ в дереве конфигурации

 

Фиктивные ссылки в регистре РПИ

Фиктивная ссылка  в регистре РПИ указывает на объект в текущей информационной базе, который еще не был загружен из сообщения обмена( См. Рис 2) . Наличие битых ( фиктивных) ссылок  является основной причиной не стабильности обмена данных и поэтому нужно устранить причины возникновения .

Записи в РПИ создаются и на стороне отправителя при подтверждении получения данных корреспондентом через механизм квитирования. В поле Идентификатор в таких записях устанавливается исходный идентификатор объекта. Регистрация таких записей необходима для того, чтобы при получении других данных от корреспондента можно было понимать, что данный объект должен быть исключен из процедуры поиска по полям и по уникальному идентификатору.

Рис.2 Форма списка регистр сведения РПИ

 

Основные причины возникновения фиктивных ссылок в регистре РПИ

В моей практике я встречал 2 причины возникновения фиктивных ссылок в регистре РПИ

1. Порядок сопоставления объектов

Порядок сопоставления объектов –   Рекомендуется выполнять сопоставление и загрузку данных с учетом ссылочных связей. Особенно, если поле используется для сопоставления объектов. Например, в конфигурации имеется справочник договоров контрагентов, который подчинен справочнику контрагентов. Сопоставление договоров контрагентов выполняется по справочнику-владельцу, т.е. по справочнику контрагентов. Следовательно, для правильного сопоставления данных необходимо сначала сопоставить и загрузить справочник контрагентов, а затем – справочник договоров контрагентов

2. Контроль записи в обработчиках модуля объекта 1С.

Режим ОбменДанными Загрузка

ОбменДанными.Загрузка — атрибут любого объекта в системе 1С предприятие. Он позволяет обозначить при записи объекта, что необходимо отключить любые проверки (в т.ч проверки на уровне платформы 1С). Сделано это было для того, чтобы избежать конфликтов при обмене данных.

Если Вы разрабатываете свою конфигурацию, во всех проверках правильности данных (например, процедура ПередЗаписью и  ПриЗаписи) необходимо первой строкой добавить такую строку (См. Рис 3):

Если ОбменДанными.Загрузка  Тогда
Возврат;
КонецЕсли;

Рис 3 Фрагмент программного кода модуля объекта в расширенной конфигурации

Поиск битых ссылок

Для поиска и исправления битых ссылок в регистре РПИ в базе источника, например БП ред.3.0,  я создал внешнюю обработку ” Фиктивные ссылки в регистре РПИ”  ( См. рис 4)

Рис 4. Форма внешней обработки “фиктивные ссылки в регистре РПИ”

 

Обработка запускается в базе приемника и содержит 6 действия:

  1.  Поиск фиктивных ссылок в регистре РПИ – Запускает процедура поиска фиктивных ссылок в регистре РПИ в базе приемника и выводит результат в таблицу
  2.  Поиск объектов в базе источника – Запускает процедуру поиска объекта по идентификатору в базе источника ( например УТ 11).  Для работы этой процедуры требуется on-line (прямое) подключение между приемником и источником. Другие виды подключения, например, через сетевой каталог не предусмотрены.
  3.  Пометить только справочники– После выполнения действия №2 есть возможность отделить найденные объекты по метаданным – справочники и документы. Этой процедуры можно пометить справочники или документы среды найденных объектов с  целю последующей обработки.
  4.  Поиск ссылок на объект –  Процедура выводит в окне сообщений те объекты, которые ссылаются на фиктивную ссылку.  На рис. 4 показано, что  <Объект не найден> (487:aa745404a6b2029011e7adcbb8a6d784)  и  <Объект не найден> (487:aa745404a6b2029011e7af4215081f9c)  ссылаются  Счет-фактура выданный КР00-0001907 от 10.10.2017 18:00:29 и   Возврат товаров от покупателя М200-000010 от 18.10.2017 11:43:26 соответственно.  В данном примере, эти фиктивные ссылки оказались не перенесенные из УТ документы реализации товаров и услуг
  5. Регистрировать объектов в плане обмена источника. Запускает процедуру перерегистрации объектов, которые были не полученные источником для повторной отправки в плане обмена. Для работы этой процедуры требуется on-line (прямое) подключение между приемником и источником. Другие виды подключения, например, через сетевой каталог не предусмотрены.
  6.  Удаление фиктивных ссылок.  Запускает процедуру удаления записей регистра РПИ, которые  ссылаются на фиктивные ссылки. Запускать эту процедуру не обязательно.  Достаточно, перерегистрировать объекты, которые были не получены для повторной отправки.

 

Previous Article
Next Article

4 Replies to “Публичные идентификаторы синхронизируемых объектов”

  1. Berserk

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

  2. Дмитрий

    Битая ссылка может появится если объект “по ссылке ” не должен создаваться, а сам объект не был выгружен в загружаемом сообщении или ранее. Это мой случай.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.