管理 Oracle CRM On Demand > 应用产品定制 > 记录类型的“应用程序定制”页面 > 关于条件性必填字段
关于条件性必填字段
您可以设置字段,使其在默认情况下为非必填字段,但在满足定义的条件时成为必填字段。采用此方法设置的字段称为条件性必填字段。例如,您可以决定在用户将商机状态设置为“失去”时,用户保存记录之前必须先在“赢得/失去原因”字段中选择值。为了实施此过程,您可以在字段管理中为“赢得/失去原因”字段输入以下条件:
[{Status}]=LookupValue("OPTY_STATUS", "Lost")
用这种方式设置字段后,如果用户为商机选择“失去”状态,则在“赢得/失去原因”字段中选择值之前,用户无法保存此商机。此字段旁边会显示一个红色星号 (*),如果显示了字段的标签,则会以红色文本显示该标签。
设置条件性必填字段时,请注意以下几点:
- 您必须确保相关页面布局中显示条件性必填字段。否则,当该字段变成必填字段时,用户将无法为此字段输入值。同样,建议您在“页面布局向导”中为条件性必填字段选中“始终在布局上”复选框,使用户无法从其页面布局中删除该字段。如果某些用户已经个性化了其页面布局,则在设置条件性必填字段之后,您可能需要将个性化的页面布局重置为默认布局。有关更多信息,请参阅重置个性化页面布局。
- 如果希望条件性必填字段始终是某个角色的必填字段,则可以在用于该角色的页面布局中将该字段设为必填字段。之后,在使用此页面布局的任何情况下,该字段均为必填字段,即使未满足在字段级别为该字段定义的条件也不例外。如果使用其他页面布局,则仅在满足条件时,此字段才为必填字段。
下表说明了在字段管理和“页面布局向导”中用于将字段设为必填或条件性必填的设置。
字段管理中的“必填”复选框
|
字段管理中的条件性必填字段
|
“页面布局向导”中的“必填”复选框
|
“页面布局向导”中的“条件性必填”复选框
|
结果
|
已选中
|
空
|
选中且为只读
|
未选中且为只读
|
此字段始终为必填字段。
|
未选中
|
包含表达式
|
未选中且可编辑
|
选中且为只读
注意:如果在“页面布局向导”中选中“必填”复选框,则会自动清除“条件性必填”复选框。
|
除非您在“页面布局向导”中选中“必填”复选框,否则仅在满足为字段指定的条件时,该字段才为必填字段。
|
未选中
|
空
|
未选中且可编辑
|
未选中且为只读
|
如果在“页面布局向导”中选中“必填”复选框,则在使用页面布局的任何情况下,该字段均为必填字段。 否则,此字段不是必填字段。
|
条件性必填字段的 Expression Builder 功能
以下限制将应用于可在为条件性必填字段创建的条件中使用的 Expression Builder 功能:
- 函数。仅支持以下 Expression Builder 函数:
- 数据类型。您无法在条件性必填字段表达式中使用“日期”或“日期时间”类型的字段。您可以使用 Expression Builder 中支持使用的所有其他字段类型。
- 运算符。没有限制。
有关使用 Expression Builder 的更多信息,请参阅 Expression Builder。
编辑条件性必填字段时的限制
在编辑条件性必填字段时,管理员和用户必须考虑以下限制:
- 条件性必填字段上的表达式可以包括来自关联记录的字段。例如,在“联系人详细信息”页面中,您可以将字段设置为只有当某个特定客户与联系人记录相关联时才是必填的。表达式可以包含客户的“ID”字段或“名称”字段,如以下示例所示:
[{Account Id}]="1QA2-1IRPI7"
[{Primary Account Name}]="ACME Computer Parts"
在发出 Web 服务或 REST API 调用以更新记录并且请求包含关联时,为了确保条件性必填字段中的表达式正确计算,请求必须包含关联记录中的正确字段。在联系人示例中,根据为条件性必填字段进行的配置,“ID”或“名称”字段必须位于请求中。或者,请求可以同时包含“ID”字段和“名称”字段。
- 条件性必填字段上的表达式可以计算在更新两个记录之间的关联时自动更新的只读字段,例如联系人记录上的“客户地点”字段。但是,在以下情况下,这种配置无法正常工作:
- 如果当前不需要条件性必填字段(即字段上的表达式的计算结果为“假”),并且记录在记录详细信息页面上内联编辑,而更新会导致条件性必填字段上的表达式的计算结果为“真”。在这种情况下,继续不需要条件性必填字段。
- 如果当前需要条件性必填字段(即字段上的表达式的计算结果为“真”),并且记录在记录编辑页面上编辑,而更新会导致条件性必填字段上的表达式的计算结果为“假”。在这种情况下,继续需要条件性必填字段。
- 条件性必填字段可以使用计算定制相关信息字段的表达式。不过,当定制相关信息字段的源字段发生更新时,在定制相关信息字段中的值自动更新之前,会有一段非常短的延迟。
因此,如果条件性必填字段上的表达式计算定制相关信息字段,则在更新定制相关信息字段的源字段后,表达式可能不会立即正确计算。
|