Значение eti по умолчанию для объекта

Можно ли изменить значение по умолчанию или поле в eti, не испортив рабочую базу данных? Существует раскрывающийся список, в котором по умолчанию используется другое значение, которое я хотел бы использовать по умолчанию для другого значения в раскрывающемся списке. Но я не хочу портить базу данных. Есть ли другой способ установить значение по умолчанию в раскрывающемся списке, кроме файла eti?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
636
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Зачем вам портить БД?

Значение по умолчанию в SQL фактически устанавливает это значение для полей, которые во время ввода отображаются NULL. Это не должно требовать сброса БД и не должно ничего ломать.

Что касается изменения этого. Если это не объект OOTB, вы сможете сделать это в .eti.

Что касается вашего варианта использования - каковы значения в раскрывающемся списке? Я бы предположил, что это список типов, и это то, что вы действительно должны изменить (ищите там приоритеты).

РЕДАКТИРОВАТЬ Чтобы переопределить столбец, например, для объекта OOTB User.eti

  • Откройте User.etx или создайте его, если его нет. modules\configuration\config\extensions\entity\User.etx.

  • Щелкните правой кнопкой мыши столбец, который вы хотите переопределить — ExternalUser в вашем случае. Выберите переопределение.

  • вверху списка должен быть создан column-override — измените там значение по умолчанию.

Это OOTB eti. "Пользователь.eti". Я могу изменить значение по умолчанию только в том случае, если открою файл в блокноте ++ и изменю его там, но затем я получаю «Несовместимая модель данных: вертикальная модель данных существует с версией (5, 89, 12, 410), но определение модели данных изменилось». Именно поэтому я поднял этот вопрос. Я не хочу сбрасывать БД. Кроме того, если я изменю приоритеты, это просто изменит порядок их появления в раскрывающемся списке. Он по-прежнему устанавливает первый в значение по умолчанию.

iceMan33 09.04.2019 14:04

Вы не должны изменять .eti объекта OOTB. Для этого вам нужно будет создать .etx. Опять же, если речь идет о раскрывающемся списке, вы должны изменить значения там.

hakamairi 09.04.2019 14:23

Таким образом, нет способа изменить переключатель, который по умолчанию установлен на «ложь», если они исходят от eti? Если бы я создал etx, мне пришлось бы создать новое поле и использовать это новое поле, не так ли? Это означает, что мне пришлось бы изменить много кода в проекте, чтобы использовать новое поле. Я просто хочу изменить значение по умолчанию с исходного eti.

iceMan33 09.04.2019 14:41

Какой столбец вы хотите изменить?

hakamairi 09.04.2019 15:18

User.eti — ExternalUser по умолчанию имеет значение true. User.eix — UserType по умолчанию для производителя

iceMan33 09.04.2019 15:21

Я щелкнул правой кнопкой мыши и переопределил поле ExternalUser и сделал значение по умолчанию истинным. Но в пользовательском интерфейсе он по-прежнему имеет ложный предварительный выбор на переключателе.

iceMan33 09.04.2019 17:24

Как упоминалось ранее, какие значения вы используете в раскрывающемся списке? Это список типов?

hakamairi 10.04.2019 09:05

Одно поле представляет собой список типов с 5 значениями, а предварительно выбранное не то, что мне нужно. Другое поле — это переключатель, для которого предварительно выбрано значение «нет». Я хочу, чтобы это было предварительно выбрано как да. Я создал etx и переопределил исходное поле, изменил значение по умолчанию и запустил сервер, но все равно этого не делаю.

iceMan33 10.04.2019 14:29

Если это файл 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 и сделал значение по умолчанию истинным. Но в пользовательском интерфейсе он по-прежнему имеет ложный предварительный выбор на переключателе.

iceMan33 09.04.2019 17:24

Это все еще false, когда вы пытаетесь создать нового пользователя (меню «Действия» -> «Новый пользователь» -> вкладка «Профиль»)? Если да, то, возможно, с этим файлом .pcf связана какая-то логика, которая устанавливает для этого значения значение false (проверьте, добавлен ли какой-либо процесс страницы в этот файл .pcf или какой-либо код на вкладке кода).

orpho 10.04.2019 17:34

Другие вопросы по теме