我创建了一个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>
由于
答案 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);
};