Довідковий матеріал

Обмеження на перейменування об’єктів метаданих

<em>Область застосування: керований застосунок, мобільний застосунок, звичайний застосунок.</em>

Редактор обережно замінює застарілий модуль на новий блок з окремим візуальним ідентифікатором, зберігаючи зв’язки між об’єктами у паралельних версіях системи.

Область застосування: керований застосунок, мобільний застосунок, звичайний застосунок.

1. Забороняється перейменовувати спільний модуль і створювати новий із тим самим ім’ям. Слід створювати новий спільний модуль із новим ім’ям, а код вихідного модуля переносити до нового модуля.

Інакше під час порівняння та об’єднання з новою конфігурацією постачальника, наприклад, у підписках на події, які посилаються на спільний модуль, буде встановлено зв’язок за ім’ям із новим спільним модулем (а не перейменованим), де немає потрібних процедур.

2. У деяких випадках, під час зміни структури метаданих виникає потреба видалити об’єкт метаданих і створити новий із тим самим ім’ям. Наприклад, під час «звуження» складу вимірів у регістрі. У таких випадках слід перейменувати застарілий об’єкт метаданих, додавши до його імені префікс Видалити.

Інакше, якщо видалити об’єкт метаданих і створити новий із тим самим ім’ям, може виникнути помилка під час оновлення конфігурації на підтримці. Якщо в конфігурації на підтримці до застарілого об’єкта вносилися зміни зі збереженням підтримки (наприклад, з метою перевизначення поведінки об’єкта або виправлення помилок), то його не буде видалено під час об’єднання конфігурацій, і спроба оновлення конфігурації бази даних завершиться невдачею через наявність двох об’єктів метаданих (старого й нового) з однаковим ім’ям.

Див. також Видалення застарілих об’єктів метаданих із конфігурації

Методична рекомендація (корисна порада)

3. Якщо в конфігурації виникає потреба зберігати посилання на об’єкти метаданих, то рекомендується дотримуватися таких правил.

3.1. Якщо в конфігурації не використовується Бібліотека стандартних підсистем (БСП), то рекомендується створювати рядкові реквізити (Рядок, 255) для зберігання повних імен об’єктів метаданих. Наприклад, у довіднику ШаблониСообщений – реквізит ПолноеИмяТипаПараметраВводаНаОсновании, у регістрі відомостей НастройкиПечатиОбъектов - вимір ТипОбъекта тощо.

При цьому, якщо в конфігурації перейменовуються (або видаляються) будь-які об’єкти метаданих, то під час оновлення інформаційної бази потрібно також передбачити відповідну заміну (видалення) усіх імен, що зберігаються в базі. Інакше посилання на імена об’єктів метаданих стануть неузгодженими, що призведе до різних помилок у тих підсистемах конфігурації, які спираються на імена об’єктів метаданих.

3.2. Під час використання в конфігурації Бібліотеки стандартних підсистем (БСП) слід використовувати посилання на довідник ИдентификаторыОбъектовМетаданных, який

  • централізовано зберігає посилання на імена об’єктів метаданих конфігурації, автоматично відстежує перейменування, видалення та додавання об’єктів метаданих і дає змогу уникнути масових операцій із заміни імен у таблицях;
  • а також дає змогу скоротити розмір записів таблиць (посилання замість рядка довжиною 255), що покращує загальну продуктивність системи.

Виняток становлять ролі та підсистеми, для яких перейменування автоматично не відстежуються, і для них потрібно явно описати перейменування. Докладніше див. документацію до БСП.

Інакше, якщо не вказати перейменування ролей і підсистем, то їхні посилання в довіднику ИдентификаторыОбъектовМетаданных стануть неузгодженими (старий елемент довідника буде позначено на видалення, а замість нього буде створено новий), що призведе до різних помилок у тих підсистемах конфігурації, які спираються на дані цього довідника. Наприклад:

  • варіанти звітів, пов’язані з перейменованою підсистемою, зникнуть із панелі звітів;
  • додаткові звіти та обробки, виведені користувачами до розділу, пов’язаного з перейменованою підсистемою, зникнуть зі списку;
  • перейменовані ролі, зазначені в профілях груп доступу, не буде призначено користувачам.

3.3. При цьому довідник ИдентификаторыОбъектовМетаданных не призначений для зберігання посилань на об’єкти метаданих інших конфігурацій (наприклад, у механізмах інтеграції з іншими системами). Для цих цілей рекомендується використовувати рядкові реквізити та реалізовувати спеціальні механізми для підтримання актуальності їхніх значень.

3.4. У випадках, коли ведеться дві та більше паралельних «гілок» розробки, наприклад, випускаються версії 2.0 і 3.0 (або організовано випуск виправних релізів паралельно з випуском нових функціональних релізів), потрібно врахувати таке: у поточній і молодших версіях конфігурації забороняється перейменування з подальшим створенням нового об’єкта метаданих із тим самим повним ім’ям, а також подвійне перейменування. Правильно виконувати такі перейменування лише в найстаршій версії – 3.0.

Інакше під час переходу з молодшої версії на старшу версію це перейменування буде враховано двічі, що призведе до неузгодженості посилань на об’єкти метаданих.

Під час використання посилань на довідник ИдентификаторыОбъектовМетаданных Бібліотеки стандартних підсистем така заборона діє лише для ролей і підсистем.

Докладніше див. документацію до БСП

Записатися телефоном