При использовании распределенных БД часто возникает проблема «Задвоения» элементов или наоборот, «Объект не найден».
Данная обработка позволит вам установить произвольный GUID для существующих объектов.
При замене GUID объекта обработка изменяет GUID по ссылкам во всех связанных объектах.
Принцип работы с обработкой:
1) В поле «Элемент» указываем объект базы, у которого мы хотим поменять GUID.
Поле «Тек ГУИД» заполняется GUID-ом выбранного элемента.
2) В поле «Нов ГУИД» вводим GUID который мы хотим задать для этого элемента.
3) Указываем строку подключения для базы данных.
Важно!!! Поскольку обработка происходит на сервере, то строки подключения различаются для х64 и х32 сервера приложений.
Для х64
Provider=SQLOLEDB.1;Server=[Сервер];UID=[Пользователь];pwd=[Пароль];Database=[БазаДанных];
Для х32
Driver={SQL Server};Server=[Сервер];UID=[Пользователь];pwd=[Пароль];Database=[БазаДанных];
4) Тип алгоритма:
"Медленная" замена, с отображением таблиц – При поиске на каждый подходящий реквизит выполняется 3 запроса к MS SQL серверу, при этом выводится информация о таблицах и количествах замены.
Быстрая замена – замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу, однако таблицы для замены определяются при помощи «НайтиПоСсылкам». (Быстрее первого способа, но минимум информации)
Быстрая замена, везде, включая движения документа– замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу. В процессе замены мы пытаемся заменить ссылку в любом подходящем по типу поле в БД. Таким образом, ссылки будут замещаться и в движениях документов и в итогах.
Самый опасный способ! Но мы ведь смелые, без бэкапов ощущения не те (сарказм).
В этом случае желательно сделать тестирование и полный пересчет итогов. А в случае режима «слияния» объектов пересчет вообще обязателен.
5) Для современных релизов платформы у пользователя, под которым осуществляется запуск обработки, необходимо в конфигураторе снять галочку "Защита от опасных действий" в противном случае 1с отказывается полноценно работать с COM-объектами.
Возможен режим «Слияния» объектов.
Предположим, у нас есть 2 элемента справочника с одинаковыми наименованиями и мы хотим, что бы это стал 1 элемент. Можно запустить обработку с поиском и заменой значений, а можно запустить мою обработку.
Выбираем 1 из элементов, «Нов GUID» делаем равным GUID-у второго элемента, отмечаем галочку «Не менять ссылку».
Таким образом во всех вхождениях первого элемента будет изменена ссылка на второй элемент, а у самого элемента GUID не поменяется после этого, помечаем к удалению первый элемент за ненадобностью.