Ошибки получения данных при обмене

image_pdfimage_print
Печать (Ctrl+P)

Битые ссылки

Наличие битых ссылок  – ссылок на несуществующие объекты информационной базы – является основной причиной отказа получения данных от источника при обмене данными.   Битые ссылки в 1С имеют следующее представление (См. рис 1):

<Объект не найден> ( [уникальный внутренний идентификатор (GUID)]) 

Как правила, битые ссылки возникают при удалении непосредственно объекта информационной базы без проверки ссылочной структуры.

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

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

Рис 1 Регистр сведения РПИ

Структура регистра токава:

  • Узел информационной базы –  Ссылка на узел плана обмена (настройку обмена), для которой хранится соответствие.
  • Ссылка – Ссылка на объект текущего приложения
  • Идентификатор- GUID объекта, полученного от приложения-корреспондента.

При наличии битых ссылок объекты не могут быть сопоставлены и обмен дает сбой

Поиск и удаления битых ссылок

Для поиска бытовой ссылки запросом нужно использовать условие

Ссылка.Ссылка  Есть NULL

Отметим, что сама ссылка не есть NULL – она содержит преставление  <Объект не найден>.  Однако, любая ссылка имеет свойства  Ссылка , которая ссылается к себе самой в базе данных и поскольку ее физически нет, то  Ссылка.Ссылка всегда  Есть NULL.

На рис 2 показан программный код поиска и удаления битых ссылок в регистре сведения  РПИ из-за которых обмен через универсальный формат EnterpriceData дает сбой

Рис 2 Программный код поиска и удаления битых в регистре РПИ

 

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

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