我正在使用CRM 2013 Unified Service Desk(USD)构建应用程序。现在,我正在创建从托管控件到另一个控件的条件操作调用。到目前为止,我使用单个表达式,如:
"[[Data1]]" == "Value1"
但是我已经走得更远了兔子的洞,现在我需要用OR运算符查询两个值:
"[[Data1]]" == "Value1" || "[[Data2]]" == "Value2"
虽然第一个示例正常,但使用||运营商没有。我已经尝试过使用一些变体,比如expr OR expr,但评估失败了。
MSDN上没有关于动作调用的条件部分的文档,因此我需要帮助解决这个问题。
答案 0 :(得分: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"
希望有所帮助。
答案 1 :(得分:0)
因此,经过一些小实验,我意识到问题不是逻辑运算符,而是使用布尔表示。 true
和false
在美元条件下大写:
"[[Data1]]" == "Value1" || "[[Data2]]" == "True"
但表达式的其余部分是有效的,因此您可以像在C#中一样组合并使用逻辑OR(“||”)和逻辑AND(“&&”)。