Guidewire 实体上的eti默认值

Guidewire 实体上的eti默认值,guidewire,gosu,Guidewire,Gosu,是否可以在不破坏生产数据库的情况下更改eti中的默认值或字段?有一个下拉列表默认为其他,我想在下拉列表中默认为另一个值。不过我不想把数据库搞砸。除了eti文件本身,还有其他方法可以在下拉列表中设置默认值吗?为什么会弄乱数据库 SQL中的默认值实际上为输入期间NULL的字段设置此值。这不需要降低分贝,也不会破坏任何东西 至于改变这一点。如果这不是OOTB实体,您应该能够在.eti中执行此操作 关于您的用例,下拉列表中的值是什么?我假设这是一个类型列表,这就是您真正应该修改的内容(在那里查找优先级)

是否可以在不破坏生产数据库的情况下更改eti中的默认值或字段?有一个下拉列表默认为其他,我想在下拉列表中默认为另一个值。不过我不想把数据库搞砸。除了eti文件本身,还有其他方法可以在下拉列表中设置默认值吗?

为什么会弄乱数据库

SQL中的默认值实际上为输入期间
NULL
的字段设置此值。这不需要降低分贝,也不会破坏任何东西

至于改变这一点。如果这不是OOTB实体,您应该能够在
.eti
中执行此操作

关于您的用例,下拉列表中的值是什么?我假设这是一个类型列表,这就是您真正应该修改的内容(在那里查找优先级)

编辑 覆盖OOTB实体的列
User.eti

  • 打开
    User.etx
    ,如果它不存在,则创建它<代码>模块\配置\配置\扩展\实体\用户.etx

  • 右键单击要覆盖的列-
    ExternalUser
    。选择覆盖

  • 在列表的顶部,应创建一个
    列覆盖
    ——在那里更改默认值


如果是OOTB.eti文件,则应创建一个.etx文件,并使用
元素覆盖默认属性值(根据元素类型,还可以使用其他覆盖元素,例如
等),例如:

User.eti:

  <column
    default="false"
    desc="Example"
    name="EntityName"
    nullok="false"
    type="bit"/>
  <column-override
    default="true"
    name="EntityName"/>

User.etx:

  <column
    default="false"
    desc="Example"
    name="EntityName"
    nullok="false"
    type="bit"/>
  <column-override
    default="true"
    name="EntityName"/>


覆盖属性的默认值将只影响新数据;它不会更改数据库中已经存在的值。如果需要更改旧数据,可以使用升级版本触发器(
升级版本触发器之前
升级版本触发器之后
)。

这是一个OOTB eti。“User.eti”。如果我在notepad++中打开文件并在那里更改它,我只能编辑默认值,但是我得到“不一致的数据模型:垂直数据模型存在于版本(5、89、12、410),但数据模型定义已更改。”这就是我提出此问题的原因。我不想让一分贝掉下来。此外,如果我更改了优先级,则只会更改它们在下拉列表中的显示顺序。它仍然将第一个设置为默认值。您不应该修改OOTB实体的
.eti
。您必须为此创建一个
.etx
。同样,如果这是一个下拉列表,您应该修改其中的值。因此,如果这些值来自eti,则无法更改默认设置为“false”的单选按钮?如果我创建了一个etx,我必须创建一个新字段并使用该新字段,不是吗?这意味着我必须修改项目中的许多代码才能使用新字段。我只想更改原始eti的默认值。要更改哪列?User.eti-ExternalUser to default为true。User.eix-UserType默认为producerI。我已右键单击并覆盖ExternalUser字段,并将默认值设置为true。但在用户界面上,单选按钮上仍然预选了false。当您尝试创建新用户时(操作菜单->新用户->配置文件选项卡),是否仍为false?如果是,则可能还有一些与此.pcf文件相关联的逻辑将此值设置为false(检查是否有任何页面进程添加到此.pcf文件或“代码”选项卡中的任何代码)。