1

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

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

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

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

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

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

4

2 回答 2

2

正如您所发现的,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"

希望有帮助。

于 2015-03-09T18:47:52.600 回答
0

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

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

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

于 2015-03-06T17:02:23.583 回答