Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамСоздание и изменение объект…

1С:Предприятие 8.2 /
Разработчикам /
Создание и изменение объектов метаданных

Оглавление

Ограничения на переименование объектов метаданных

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Запрещается переименовывать общий модуль и создавать новый с тем же именем. Следует создавать новый общий модуль с новым именем, а код исходного модуля переносить в новый модуль.

В противном случае, при сравнении и объединении с новой конфигурацией поставщика, например, в подписках на события, которые ссылаются на общий модуль, будет установлена связь по имени с новым общим модулем (а не переименованным), где нет требуемых процедур.

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

В противном случае, если удалить объект метаданных и создать новый с тем же именем, может возникнуть ошибка при обновлении конфигурации на поддержке. Если в конфигурации на поддержке в устаревший объект вносились изменения с сохранением поддержки (например, в целях переопределения поведения объекта или исправления ошибок), то он не будет удален при объединении конфигураций, и попытка обновления конфигурации базы данных завершится неудачно из-за наличия двух объектов метаданных (старого и нового) с одинаковым именем.

См. также Удаление устаревших объектов метаданных из конфигурации

Методическая рекомендация (полезный совет)

3. Если в конфигурации возникает необходимость хранить ссылки на объекты метаданных, то рекомендуется придерживаться следующих правил.

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

При этом если в конфигурации переименовываются (или удаляются) какие-либо объекты метаданных, то при обновлении информационной базы требуется также предусмотреть соответствующую замену (удаление) всех имен, хранимых в базе. В противном случае, ссылки на имена объектов метаданных станут рассогласованными, что приведет к различным ошибкам в тех подсистемах конфигурации, которые опираются на имена объектов метаданных.

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

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

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

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

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

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

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

В противном случае, при переходе с младшей версии на старшую версию это переименование будет учтено дважды, что приведет к рассогласованию ссылок на объекты метаданных.

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

Подробнее см. документацию к БСП


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook