【问题标题】:Dialogs OData Set name?对话框 OData 集名称?
【发布时间】:2014-02-12 13:31:16
【问题描述】:

在 crm 2011 中使用 Odata Query 确定 - 如果工作流 Odata 集名称为 AsyncOperationSet 对话的等价物是什么?

我试图解决这个问题,但没有运气

请帮忙

谢谢

P.s 我需要从名称中获取对话框 ID

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm odata crm jscript


    【解决方案1】:

    在通过 javascript 搜索要启动的对话框时:

    类别 = 1(对话) Type = 1 (Definition) - 如果尝试从 javascript 调用对话框,这很重要!

    解决方案:

    triggerDialog = function (name, entityName, recordId) {
    
    var dialogId = "";
    
        var request = Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/WorkflowSet?$select=Name,WorkflowId&$filter=Type/Value eq 1 and Category/Value eq 1 and Name eq '"+name+"'";
        $.ajax({
            type: "GET",
            contentType: "application/json; charset=utf-8",
            datatype: "json",
            url: request,
            async: false,
            beforeSend: function (XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("Accept", "application/json");
            },
            success: function (data, textStatus, XmlHttpRequest) {
                if (data.d.results.length > 0) {
                    dialogId = data.d.results[0].WorkflowId;  
               }
            },
            error: function (XmlHttpRequest, textStatus, errorThrown) {
                /*Error Occurred*/
            }
        });
    
    var serverUrl = Xrm.Page.context.getServerUrl();
    
    window.showModalDialog(
    serverUrl + "/cs/dialog/rundialog.aspx?DialogId=" + encodeURIComponent(dialogId) + "&EntityName=" + encodeURIComponent(entityName) + "&ObjectId=" + encodeURIComponent(recordId), null, "dialogHeight:600px;dialogWidth:800px;center:yes; resizable:1;maximize:1;minimize:1;status:no;scroll:no");
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      仅供参考。 AsyncOperation 不仅仅是工作流的实例。它可以是任何异步执行的东西(异步插件、为 dupdetection 规则计算匹配码等等)。

      不确定您究竟想从 Odata 获得什么。你究竟需要得到什么?如果您需要一个对话框实例 - 您还需要使用 AsyncOperation。

      【讨论】:

      • 好的,谢谢,我基本上是通过函数触发对话框: var serverUrl = SDK.JQuery._getServerUrl(); window.showModalDialog( serverUrl + "/cs/dialog/rundialog.aspx?DialogId=" + encodeURIComponent(dialogId) + "&EntityName=" + encodeURIComponent(entityName) + "&ObjectId=" + encodeURIComponent(recordId), null, "dialogHeight: 600 像素;对话框宽度:800 像素;中心:是;可调整大小:1;最大化:1;最小化:1;状态:否;滚动:否");但是,我试图从工作流名称中查询 id,而不是传递静态 guid
      • 如果它包含在 AsyncOperationSet 中,系统作业类型是什么?
      • 如果您想根据名称获取对话框的 ID,您应该使用 Workflow 实体。要获得正确的 OData 查询,我建议您使用 OData query builder
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多