Как принудительно синхронизировать объекты при выгрузки?
А чем можно принудительно синхронизировать объекты по идентификатору? То есть в выгрузке поимк по уид работает хорошо в 99% но что делать в 1%? То есть если оставить это на откуп поиска по наименованию или коду итд, то будет угроза, если кто-то поменяет наименование то сразу будет задвоение. А можно ли как-то автоматом перезаписывать уид?
ps Почитал я про уид и оказалось, что сделать можно только созданием нового и заменой старых ссылок. Сильно меня это огорчило. :(
ps Почитал я про уид и оказалось, что сделать можно только созданием нового и заменой старых ссылок. Сильно меня это огорчило. :(
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
как-то была похожая проблема, решали примерно так, - вводили реквизит "КодВыгрузки" , нумеровали справочник, по этому реквизиту, затем делали его недоступным для пользователя и соответственно прописывали, чтобы каждый новый элемент нумеровался (это в источнике), затем выгружается справочник в приемник по типу первого обмена, - чтобы нашел по коду, наименованию или идентификатору (в зависимости от ситуации), при этом он записывает в приемнике наш реквизит (правила конечно поправить надо), а дадьнейший обмен осуществляется с поиском по этому реквизиту. Проще говоря, - вводим свой идентификатор и по нему отслеживаем
Согласен с решением tat_star можно еще сделать регистр сведений соответствия и подставлять объекты в соответствии с этим регистром. Можно также внести данные в типовой регистр сведений "СоответствиеОбъектовДляОбмена", однако данные в этом регистре хранятся хитрым образом. Ссылка на объект в базе источнике хранится в сериализованном виде. так что на практике не представляет особой сложности получить представления ссылок объектов в базе источнике и записать их обработкой в данный регистр.
Посмотрите в сторону обработчика "Поля поиска" в этом обработчике можно задать последовательность полей поиска для синхронизации. Вот пример:
Если НомерВариантаПиска = 1 Тогда
СтрокаИменСвойствПоиска = "Код,Наименование";
ИначеЕсли НомерВариантаПиска = 2 Тогда
СтрокаИменСвойствПоиска = "ИНН";
ИначеЕсли НомерВариантаПиска = 3 Тогда
СтрокаИменСвойствПоиска = СтраховойНомерПФР";
КонецЕсли;
Если НомерВариантаПиска = 1 Тогда
СтрокаИменСвойствПоиска = "Код,Наименование";
ИначеЕсли НомерВариантаПиска = 2 Тогда
СтрокаИменСвойствПоиска = "ИНН";
ИначеЕсли НомерВариантаПиска = 3 Тогда
СтрокаИменСвойствПоиска = СтраховойНомерПФР";
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот