csm-ivanovo-ru / 1s-BGU2-ext

Расширение для БГУ 2, предоставляющее различные дополнительные возможности
The Unlicense
0 stars 1 forks source link

В обработке поиска и удаления дублей исключить замену ссылок в регистре соответствия объектов #5

Open sergey-s-betke opened 2 years ago

sergey-s-betke commented 2 years ago

Требуемая возможность

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

Предлагаю либо блокировать удаление объекта, если у него есть записи в указанном регистре, либо удалять записи в указанном регистре для дубля, а не изменять их на оригинал.

Заодно стоит посмотреть и на обработку удаления помеченных объектов. Она должна удалять записи и в указанном регистре.

Текущее поведение

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

Возможное решение

sergey-s-betke commented 2 years ago

https://its.1c.ru/db/bsp316doc#content:4:1:issogl1_поиск_и_удаление_дублей

sergey-s-betke commented 2 years ago

https://its.1c.ru/db/bsp316doc#content:4:1:issogl3_контроль_замены_ссылок_при_записи_объектов_и_выполнение_связанных_действий

sergey-s-betke commented 2 years ago

Решение будет не столь простым.

При разработке алгоритма следует учесть следующие сценарии: