Можно ли изменить значение по умолчанию или поле в eti, не испортив рабочую базу данных? Существует раскрывающийся список, в котором по умолчанию используется другое значение, которое я хотел бы использовать по умолчанию для другого значения в раскрывающемся списке. Но я не хочу портить базу данных. Есть ли другой способ установить значение по умолчанию в раскрывающемся списке, кроме файла eti?
Зачем вам портить БД?
Значение по умолчанию в SQL фактически устанавливает это значение для полей, которые во время ввода отображаются NULL
. Это не должно требовать сброса БД и не должно ничего ломать.
Что касается изменения этого. Если это не объект OOTB, вы сможете сделать это в .eti
.
Что касается вашего варианта использования - каковы значения в раскрывающемся списке? Я бы предположил, что это список типов, и это то, что вы действительно должны изменить (ищите там приоритеты).
РЕДАКТИРОВАТЬ
Чтобы переопределить столбец, например, для объекта OOTB User.eti
Откройте User.etx
или создайте его, если его нет. modules\configuration\config\extensions\entity\User.etx
.
Щелкните правой кнопкой мыши столбец, который вы хотите переопределить — ExternalUser
в вашем случае. Выберите переопределение.
вверху списка должен быть создан column-override
— измените там значение по умолчанию.
Вы не должны изменять .eti
объекта OOTB. Для этого вам нужно будет создать .etx
. Опять же, если речь идет о раскрывающемся списке, вы должны изменить значения там.
Таким образом, нет способа изменить переключатель, который по умолчанию установлен на «ложь», если они исходят от eti? Если бы я создал etx, мне пришлось бы создать новое поле и использовать это новое поле, не так ли? Это означает, что мне пришлось бы изменить много кода в проекте, чтобы использовать новое поле. Я просто хочу изменить значение по умолчанию с исходного eti.
Какой столбец вы хотите изменить?
User.eti — ExternalUser по умолчанию имеет значение true. User.eix — UserType по умолчанию для производителя
Я щелкнул правой кнопкой мыши и переопределил поле ExternalUser и сделал значение по умолчанию истинным. Но в пользовательском интерфейсе он по-прежнему имеет ложный предварительный выбор на переключателе.
Как упоминалось ранее, какие значения вы используете в раскрывающемся списке? Это список типов?
Одно поле представляет собой список типов с 5 значениями, а предварительно выбранное не то, что мне нужно. Другое поле — это переключатель, для которого предварительно выбрано значение «нет». Я хочу, чтобы это было предварительно выбрано как да. Я создал etx и переопределил исходное поле, изменил значение по умолчанию и запустил сервер, но все равно этого не делаю.
Если это файл OOTB .eti, вам следует создать файл .etx и переопределить значение атрибута по умолчанию с помощью элементов <column-override>
или <typekey-override>
(есть также другие элементы переопределения, которые вы можете использовать в зависимости от типа элемента, например <array-override>
, <foreignkey-override>
и т. д.) , Например:
Пользователь.эти:
<column
default = "false"
desc = "Example"
name = "EntityName"
nullok = "false"
type = "bit"/>
Пользователь.etx:
<column-override
default = "true"
name = "EntityName"/>
Значение атрибута переопределения по умолчанию повлияет только на новые данные; он не изменит значения, которые уже существуют в БД. Если вам нужно изменить старые данные, вы можете использовать триггеры обновления версии (BeforeUpgradeVersionTrigger
или AfterUpgradeVersionTrigger
).
Я щелкнул правой кнопкой мыши и переопределил поле ExternalUser и сделал значение по умолчанию истинным. Но в пользовательском интерфейсе он по-прежнему имеет ложный предварительный выбор на переключателе.
Это все еще false
, когда вы пытаетесь создать нового пользователя (меню «Действия» -> «Новый пользователь» -> вкладка «Профиль»)? Если да, то, возможно, с этим файлом .pcf связана какая-то логика, которая устанавливает для этого значения значение false (проверьте, добавлен ли какой-либо процесс страницы в этот файл .pcf или какой-либо код на вкладке кода).
Это OOTB eti. "Пользователь.eti". Я могу изменить значение по умолчанию только в том случае, если открою файл в блокноте ++ и изменю его там, но затем я получаю «Несовместимая модель данных: вертикальная модель данных существует с версией (5, 89, 12, 410), но определение модели данных изменилось». Именно поэтому я поднял этот вопрос. Я не хочу сбрасывать БД. Кроме того, если я изменю приоритеты, это просто изменит порядок их появления в раскрывающемся списке. Он по-прежнему устанавливает первый в значение по умолчанию.