有条件的行动电话

Conditional Action Call

我正在使用 CRM 2013 Unified Service Desk (USD) 构建应用程序。现在,我正在创建一个从托管控件到另一个控件的条件操作调用。到目前为止,我只使用了一个表达式,例如:

"[[Data1]]" == "Value1"

但我走得更远了,现在我需要使用 OR 运算符查询两个值:

"[[Data1]]" == "Value1" || "[[Data2]]" == "Value2"

虽然第一个示例工作正常,但使用 ||运营商没有。我已经尝试使用一些变体,如 expr 或 expr,但评估失败。

MSDN 上没有涵盖操作调用的条件部分的文档,因此我需要帮助来解决这个问题。

因此,经过一些试验后,我意识到问题不在于逻辑运算符,而在于布尔表示。 truefalse 以美元条件大写:

"[[Data1]]" == "Value1" || "[[Data2]]" == "True"

但是表达式的其余部分是有效的,因此您可以像在 C# 中一样组合和使用逻辑 OR(“||”)和逻辑 AND(“&&”)。

如您所见,USD 将您的密钥转换为文本版本,然后将其传递给 javascript 转换器。 所以:

// where mykey1 = "Test" (string)  and mykey2 = true (bool)
// Success condition
"[[mykey1]]" == "Test" || "[[mykey2]]" == "True"

如果您正在使用查找并且只想 运行 如果查找指向业务单位并且业务单位的名称是 defaultorg...您将使用此操作:

// where [[$User.businessunitid]] reference to a business unit
"[[$User.businessunitid.logicalname]]" == "businessunit" && "[[$User.businessunitid.name]]" == "defaultorg"

希望对您有所帮助。