35.4.17. Перечисления
Перечисление может быть заимствованным и собственным. В заимствованном перечислении имеется возможность создавать новые значения.
При этом следует помнить о следующих сособенностях:
● В том случае, если в информационной базе используются значения из расширяющего объекта, то в ситуации неподключенного расширения такие значения отображается аналогично ссылки на несуществующий объект. После подключения расширения представление восстанавливается.
● При удалении расширения из информационной базы ссылки на значения перечисления из расширяющего объекта будут очищены и заменены пустой ссылкой с типом расширяемого перечисления.
● Возможна ситуация, когда одинаковые ссылки на значение перечисления из разных расширений имеют разный смысл. Такое возможно в том случае, если переименовать собственное значение перечисления в расширении, созданном копированием. В этом случае запись такого значения в неразделенные данные приведет к логической проблеме для пользователя прикладного решения. Например, значение перечисления с идентификатором (внутренним) ИД1 будет иметь в одном расширении представление Самолет, а в другом расширении ‑ Пароход. Очевидно, что пользователю будет сложно понять, что же имеется ввиду для данного значения перечисления. Из этого следует две особенности:
● Не рекомендуется сохранять собственные значения для заимствованных перечислений в расширениях, созданных копированием. Рекомендуется все собственные значения создавать вручную.
● Не рекомендуется указывать в неразделенных данных собственные значения заимствованных перечислений расширений, область действия которых установлена как «Разделение данных».
● Если делается попытка установить расширение конфигурации, в котором используется идентификатор значения перечисления, равный идентификатору значения перечисления расширяемой конфигурации или другого расширения, то выполнить реструктуризацию информационной базы будет невозможно.
● В том случае, если внутренний идентификатор перечисления в расширяемой конфигурации совпадает с внутренним идентификатором перечисления расширения, то:
● реструктуризация информационной базы не блокируется;
● расширение, в котором размещено конфликтующее значение перечисления не подключается.
Для восстановления работоспоосбности информаицонной базы (или области) следует удалить конфликтующее значение перечисления в расширении и загрузить в информационную базу новую версию. Существующие ссылки на значение перечисления из расширения будут разрешены значением перечисления из расширяемой конфигурации.