有人可以向我解释以下行为吗?
当AX Table中的字段类型设置为Enum时,您可以选择任何Enum值作为该字段的值。
但是,如果您将字段设为Mandatory,则无法再通过用户界面选择列表中的第一个Enum值。
显然,这可以通过不使该字段强制性来解决。我正在寻找对这种奇怪行为的解释。
答案 0 :(得分:6)
AX没有空值概念。而是通过定义将以下值视为“未输入”:
对于新的基本枚举,请创建一个空的零枚举值(按惯例名称为无)。这将使此枚举类型可以使用必填字段。
另请查看:Mark mandatory fields on form, if not filled with valid value
答案 1 :(得分:1)
你说“如果你使字段为必填项,你就不能再通过用户界面选择列表中的第一个枚举值” - 这正是强制属性对枚举的作用:阻止你使用零值。例如。如果你强制NoYesId
,那么你只能输入Yes
,因为No
将不再被允许 - 为什么你需要在表格中使用它?
请注意,从用户的角度来看,并不一定清楚枚举值是零是什么,所以如果它的工作方式不起作用,那么在强制枚举时理解不允许的值可能会很棘手。