Порядок внесения изменений в колонки
объекта
Симптомы
Если при настройке объекта были внесены изменения, включающие переименование и удаление различных колонок, при публикации объекта они будут применены в следующем порядке:
- Переименование колонок.
- Удаление колонок.
Рассмотрим пример:
- Создать в пользовательском пакете объект BpmEntity, унаследованный от BaseEntity, и опубликовать.
- Добавить в объект BpmEntity колонки BpmColumn1 и BpmColumn2, опубликовать.
- Удалить из объекта колонку BpmColumn1 и переименовать BpmColumn2 в BpmColumn1, опубликовать.
После выполнения этих шагов появится ошибка о том, что колонка BpmColumn1 уже существует:
Рисунок 1 — Ошибка публикации в разделе «Конфигурация»
Причина
Проблема в том, что сначала система переименовывает колонку BpmColumn2, а затем удаляет колонку BpmColumn1. На момент переименования колонка BpmColumn1 еще существует в структуре объекта, что вызывает ошибку.
Решение
Чтобы избежать этой проблемы, рекомендуется удалять колонки в отдельной операции публикации. Это гарантирует, что на момент внесения других изменений удаленные колонки уже не будут присутствовать в структуре объекта.
Для описанного сценария рекомендуется следующий порядок действий:
- Создать в пользовательском пакете объект BpmEntity, унаследованный от BaseEntity, и опубликовать его.
- Добавить в объект колонки BpmColumn1 и BpmColumn2 и опубликовать его.
- Удалить из объекта колонку BpmColumn1, опубликовать.
- Переименовать колонку BpmColumn2 в BpmColumn1, опубликовать.