在html弹出窗口上执行获取查询

时间:2013-01-02 11:43:23

标签: javascript html dynamics-crm-2011

我创建了一个html网络资源,我在单击功能区按钮时显示该资源。在这个弹出窗口中,我有一个下拉列表,我想用我使用fetchXml查询获得的记录列表填充。

我的问题是我尝试了几种不同的方法来执行查询,但总是会出现错误。我猜这个弹出窗口不会有父窗体所具有的相同功能范围,因此我需要做一些不同的操作来执行查询。

目前我有它,所以我已经加载了一个包含执行获取所需功能的外部脚本,但代码无法看到_HtmlEncode的CRM功能,因此失败。

有什么方法可以让弹出窗口看到CRM功能吗?或者有另一种方法吗?

编辑:一些示例代码

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:asp>
<head>
   <title>Re-Assign</title>
   <script type=text/javascript src="ClientGlobalContext.js.aspx"></script>

   <script type=text/javascript src="http://crm/DEVCRM/WebResources:ts_/scripts/fetch_global.js"></script>

   <script type=text/javascript>

   function OnLoad_GetAreasAndConsultants() {

       var fetchXml = '<fetch distinct="false" mapping="logical" output-format="xml-platform" version="1.0"><entity name="ts_solution_area"><attribute name="ts_solution_areaid"/><attribute name="ts_descriptor"/><attribute name="createdon"/> <order descending="false" attribute="ts_descriptor"/><filter type="and"><condition attribute="statecode" value="0" operator="eq"/></filter></entity></fetch>';
       var fetchedRecords = FetchRecordsToolKit.Fetch(fetchXml);

       if (fetchedRecords !== null) {

            var areaList = document.getElementById("ddl_solution_area")

            for (var i=0; i<fetchedRecords.length;i++) {

                var name = fetchedRecords[i].getValue("ts_descriptor");

                areaList.options[select.options.length] = new Option(name, i);
            }
        }
   }
</script>

由于

1 个答案:

答案 0 :(得分:1)

我专门为在HTML网络资源中执行提取而构建了一些东西。

https://github.com/paul-way/JCL/blob/master/jcl.js

以下是使用它的示例:

var processProjectInfo = function (data) {
    if (data.length > 0) {
        // Set Project Header Information
        $('#ProjectTitle').html(data[0].attributes.new_name.value);
        $('#CompanyName').html(data[0].attributes.new_accountid.name);
    }
};

var loadProjectInfo = function (guid) {
    var fetchXML = " " +
        "<fetch mapping='logical' count='10'>" +
        "  <entity name='new_project'>" +
        "    <all-attributes/>" +
        "    <filter>" +
        "      <condition attribute='new_projectid' operator='eq' value='" + guid + "' />" +
        "    </filter>" +
        "  </entity>" +
        "</fetch>";

    JCL.Fetch(fetchXML, processProjectInfo);
};