Предлагаем удобное решение по удалению дублей в синхронизированных базах.
При необходимости удалить дубли, администратор сталкивается с довольно распространенной проблемой: после поиска и удаления дублей в одной базе, он вынужден вручную сравнивать идентификационные номера оригинальных объектов с номерами объектов во второй базе, чтобы отобрать нужные позиции. Если этого не сделать, то при последующей синхронизации в базе вновь появятся дубли.
Процесс такого поиска и удаления дублей может занимать десятки часов. Именно этим и обусловлена разработка механизма, который позволит в двух синхронизированных базах в качестве оригиналов определить связанные элементы.
Принцип работы механизма
При синхронизации двух информационных баз связанные объекты отражаются в Регистре сведений «Публичные идентификаторы синхронизируемых объектов». Каждому такому объекту присваивается индивидуальный идентификационный номер, который хранится в обеих базах.
Для очистки дублей необходимо:
1. Выполнить поиск и замену дублей в одной из баз. Обязательно удалить помеченные на удаление дубли.
2. С помощью меню «Все функции» открыть регистр «Публичные идентификаторы синхронизируемых объектов», установить отбор по типу объектов и вывести список в табличный документ, который должен быть сохранен в формате .xls или .xlsx.
3. Загрузить разработанное расширение во вторую базу (сняв галку "безопасный режим").
4. Выполнить поиск дублей во второй базе. Нажать кнопку "Отметить как оригиналы из файла".
5. Указать путь к файлу с данными регистра, сохраненными в п.2.
6. Отметить оригиналы, после чего все объекты, идентификаторы которых совпадают с идентификаторами из файла, будут отмечены как оригиналы в окне обработки.
7. Выполнить удаление дублей.
Расширение проверено на типовых релизах БП 3.0, УТ 11.3 и 11.4, РТ 2.2, УНФ 1.6, КА 2, ЗУП 3.0 с режимом совместимости не ниже 8.3.17.