Жаль, что в 1С 80 нет функции на уровне платформы, чтобы заменить ссылку А на ссылку Б. Предлагаю такой алгоритм.
Пусть нужно заменить ссылку А на ссылку Б.
Перебираем все объекты, где могут быть эти ссылки - то есть справочники, документы, ПВХ, константы, регистры.
Для каждого объекта по его метаданным получаем список реквизитов, где могут быть ссылки на А.
Осуществляем поиск по первому из списка реквизитов, находим список объектов.
Для каждого из найденных объектов по списку реквизитов находим ссылки на А и заменяем их на Б.
Вносим изменения в базу.
Переходим к следующему по списку реквизиту.
Возможно выполнять весь код в транзакции или без нее.
При записи документов и справочников лучше использовать режим ОбменДанными.Загрузка=истина.
Для документов и справочников отбор делаем запросом по одному реквизиту, для регистров - можно непосредственно делать отбор набора записей по текущему реквизиту, тут же его поправлять и записывать.
Такой подход работает быстрее, чем 1С-ая типовая обработка по замене дублей, ибо специально заточен под замену одного объекта другим. Почему быстрее? Потому что метод НайтиПоСсылкам выдает просто объект, не указывая его реквизит, приходится перебирать все реквизиты этого объекта. Ну и кроме того, можно контролировать, какой конкретно вид объектов сейчас обрабатывается.
Будет время - напишу такую заточку.