Відновлення посилань по guid (універсальна)

Нещодавно після нестандартного обміну даними я побачив знайоме <Объект не найден> в полях деяких елементів бази-приймача і задався питанням, як можна швидко в базі-джерелі знайти об'єкт, від якого поїхав тільки ID. Особливо якщо реквізит в базі-приймачі складеного типу або взагалі його тип не ясний. І у відповідь написав обробку.

Отже, обробка дозволяє по ID визначити, якого об'єкту бази даних він належить. Підтримуються всі посилальні типи бази даних.

Реалізовано три режими: пошук посилання, створення об'єкта БД і отримання посилання для об'єкта БД.

Ідентифікатор, що вводиться в поле "Відомий GUID" може мати різні види:

1. Об'єкт не знайдено (25: 888ba76e-9ccf-aed3-4a2f-1d8152ba0f17)

Окремий випадок пункту 1.

Теж, що і в пункті 3, без дефісів.

Можна вводити (копіпаст) в будь-якому форматі. Слід зазначити, що якщо в ID присутній номер таблиці зі структури зберігання БД, то об'єкт визначається з цієї таблиці. Наприклад, тут це номер "25" - число перед ":" в ідентифікатор.

Отже, пошук здійснюється:

- якщо є номер таблиці, то відразу в цій таблиці;

- якщо номера немає, то по порядку у всіх довідкових типах БД.

Все те ж саме, тільки кнопка інша - "Створити об'єкт". Система намагається створити об'єкт і встановити для нього введений ID. Якщо вдалося, то користувачеві пропонується заповнити форму цього об'єкта і записати його в БД.

Знову ж таки, якщо в ідентифікатор є номер таблиці, то створюємо об'єкт відразу в цій таблиці. Якщо немає, то вибираємо тип створюваного об'єкта руками.

За наявних посилань на об'єкт БД система отримує її унікальний ідентифікатор в 3-х варіантах (для зручності).

Області використання обробки

Також, наприклад, в регістрі "Відповідність об'єктів інформаційних баз" зберігається це саме відповідність. Об'єкт в поточній базі ясний, а ось що там за ID лежить - питання. Хоча, звичайно, тут тип можна визначити швидко.

Ще бували моменти, коли є список ID-шників і спробуй визнач, що це за об'єкти.

Корисно використовувати мою обробку разом з обробками пошуку битих посилань.

Обробка написана під 8.2, але можна використовувати і для 8.1 з попередньою конвертацією. Форми - звичайні.

1. Отримання ID для будь-якого посилання. Реалізовано.

2. Можливість передавати список ID-шників для пошуку посилань в базі-джерелі.

3. Отримання ID посилання на об'єкт в іншій базі через COM-з'єднання і навпаки.

Схожі статті