Заміна guid для об'єктів

Обробка дозволяє при використанні MSSQL в якості СУБД поміняти GUID об'єкта.
Увага.
Дана обробка звертається до СУБД «безпосередньо», використовуйте її на свій страх і ризик.
Використовуйте обробку тільки в разі, якщо ви чітко розумієте, що і для чого ви робите.

Я всіх попередив.

При використанні розподілених БД часто виникає проблема «задвоєння» елементів або навпаки, «Об'єкт не знайдено».

Дана обробка дозволить вам встановити довільний GUID для існуючих об'єктів.

Принцип роботи з обробкою:

1) В поле «Елемент» вказуємо об'єкт бази, у якого ми хочемо поміняти GUID.

Поле «Тек Гуїдо» заповнюється GUID-му обраного елемента.

2) В поле «Новий Гуїдо» вводимо GUID який ми хочемо задати для цього елемента.

3) Вказуємо рядок підключення для бази даних.

Важливо. Оскільки обробка відбувається на сервері, то рядки підключення розрізняються для х64 і х32 сервера додатків.

4) Тип алгоритму:

"Повільна" заміна, з відображенням таблиць - При пошуку на кожен відповідний реквізит виконується 3 запити до MS SQL сервера, при цьому виводиться інформація про таблиці і кількостях заміни.

Швидка заміна, всюди, включаючи руху документа - заміна всіх значень відбувається збереженої процедурою, за одне звернення до MS SQL сервера. В процесі заміни ми намагаємося замінити посилання в будь-якому зручному по типу поле в БД. Таким чином, посилання будуть заміщатися і в рухах документів і в підсумках.

Найнебезпечніший спосіб! Але ж ми сміливі, без бекапов відчуття не ті (сарказм).

У цьому випадку бажано зробити тестування і повний перерахунок підсумків. А в разі режиму «злиття» об'єктів перерахунок взагалі обов'язковий.

Можливий режим «Злиття» об'єктів.

Припустимо, у нас є 2 елементи довідника з однаковими найменуваннями і ми хочемо, що б це став 1 елемент. Можна запустити обробку з пошуком і заміною значень, а можна запустити мою обробку.

Вибираємо 1 з елементів, «Нов GUID» робимо рівним GUID-у другого елементу, відзначаємо галочку «Не змінювати посилання».

Схожі статті