Восстановление битой ссылки при конвертации

1. _nameless_ 15.12.22 09:10 Сейчас в теме
Всем привет.

Имеется 2 базы (Самописный складской учет и БП 3.0). Из БП 3.0 загружены остатки номенклатуры в разрезе партий. Партия имеет составной тип данных. Документов партий в базе "Складской учет" на начальном этапе нет, не стал захламлять новую базу. Т.е. начальные остатки содержат битые ссылки на партии. Чтобы пользователи могли работать с партиями также подгрузил и представление документов партий из БП 3.0 в виде строки.
Есть документ списания в складском учете, в табличной части которого присутствует партия (битая ссылка). Этот документ должен переехать в аналогичный документ БП. Написана конвертация. Обмен проходит нормально, но проблема в том что битые ссылки не хотят восстанавливаться в БП, хотя на стороне БП эти документы есть. Для партий созданных в складском учете все норм переезжает в БП.
Как можно восстановить битые ссылки в БП?
Надеюсь понятно описал проблему.
Заранее спасибо за любую помощь.

P.S. Есть мысль в обработчике "Правила конвертации свойств" для события "После выгрузки" проверять битая ссылка или нет, если битая, то из например строки "<Объект не найден> (1256:94080050569f340111e3c4fcdfa6232c)" извлекать GUID. Затем перебирать все типы документов партии и искать партию уже по GUID. Но честно говоря, такое решение не сильно нравиться (и не факт, что получиться так сделать). Хотелось бы более простое и гибкое(без перебора всех типов документов партий) решение. Есть такое?
По теме из базы знаний
Найденные решения
3. DBV 15.12.22 09:31 Сейчас в теме
(1) Как вариант, отправлять строкой тип документа, чтобы не перебирать все типы
Я предполагаю, из-за того что партия имеет составной тип, там подставляется не та таблица
В вашем примере Document1256, видимо это не тот тип, который изначально был
_nameless_; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. pyrkin_vanya 488 15.12.22 09:14 Сейчас в теме
А вы чем обмениваетесь? Если вам надо битые ссылки поправить и ваше ПКО работает, то нужно выгрузить полные объекты этих партий. Документы при этом не нужно перевыгружать. Ссылки в них автоматически станут нормальными. Если я вас правильно понял.
(1)
3. DBV 15.12.22 09:31 Сейчас в теме
(1) Как вариант, отправлять строкой тип документа, чтобы не перебирать все типы
Я предполагаю, из-за того что партия имеет составной тип, там подставляется не та таблица
В вашем примере Document1256, видимо это не тот тип, который изначально был
_nameless_; +1 Ответить
4. _nameless_ 15.12.22 09:36 Сейчас в теме
(3) Документ точно тот, так как я извлек GUID из этой битой ссылки (нашел как вот здесь infostart) и нашел его в нужном типе документа по этому GUID.
5. _nameless_ 15.12.22 09:51 Сейчас в теме
(3) Глянул сейчас обработкой "Структура хранения БД". Действительно, этот номер Document1256 на стороне складского учета, а на стороне БП другой номер.
6. _nameless_ 15.12.22 09:57 Сейчас в теме
Начальные остатки гружу своей обработкой по COM соединению. Получаю остатки запросом из БП. Не существующие партии на стороне складского учета имеют значение Null, поэтому вытягиваю еще УИД этой партии и ищу по этому УИД уже в документе на стороне складского учета. Вот видимо номер другой и подставляется...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот