【问题标题】:Conditional Action Call有条件的行动呼吁
【发布时间】:2015-03-05 22:43:12
【问题描述】:

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

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

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

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

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

MSDN 上没有涵盖动作调用的条件部分的文档,所以我需要帮助来弄清楚这一点。

【问题讨论】:

    标签: dynamics-crm-2013 unified-service-desk


    【解决方案1】:

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

    希望对您有所帮助。

    【讨论】:

    • 帮助很大,谢谢马特。我很好奇 USD 是使用 Javascript(我从 scriptlet 中怀疑)还是 C# 来解释代码 sn-p。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多