2

谁能向我解释以下行为?

当 AX 表中的字段类型设置为 Enum 时,您可以选择任何 Enum 值作为该字段的值。

但是,如果将字段设为 Mandatory,则无法再通过用户界面选择列表中的第一个 Enum 值。

显然,这可以通过不将字段设为强制来解决。我正在寻找对这种奇怪行为的解释。

4

2 回答 2

6

AX 没有空值概念。相反,按照定义,以下值被视为“未输入”:

  • 字符串:空白
  • int 和 int64:0(零)
  • 枚举:0(通常是第一个值)
  • 日期:01\01\1900(显示为空白)

对于新的基本枚举,请制作一个空白的零枚举值(按照约定命名为无)。这将使此枚举类型可以使用必填字段。

也看看这个:在表格上标记必填字段,如果没有填写有效值

于 2011-04-13T13:50:34.513 回答
1

您是说“如果您将字段设为 Mandatory,则无法再通过用户界面选择列表中的第一个 Enum 值”——这正是 Mandatory 属性对枚举所做的:阻止您使用零值。例如,如果您NoYesId强制要求,您只能Yes因为No不再被允许才能输入 - 那您为什么需要在表格上输入呢?

另请注意,从用户的角度来看,不一定清楚什么枚举值为零,所以如果它没有按照它的工作方式工作,那么在强制枚举时理解什么值是不允许的可能会很棘手。

于 2011-04-13T21:36:32.593 回答