我有這個檢查交易實體,該「cse_vendor_name」(供應商主實體)和「cse_expense_tracker」上會有一個查找字段,因此每次我將選擇一個cse_vendor_name它會自動填充cse_expense_tracker的字段。我已經開始嘗試這項工作的代碼,但它沒有,Javascript - 在Dynamic CRM中選擇查找字段時自動填充字段
function makeRequest(method, url) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.setRequestHeader("OData-MaxVersion", "4.0");
xhr.setRequestHeader("OData-Version", "4.0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
xhr.onload = function() {
if (this.status >= 200 && this.status < 300) {
resolve(xhr.response);
} else {
reject({
status: this.status,
statusText: xhr.statusText
});
}
};
xhr.onerror = function() {
reject({
status: this.status,
statusText: xhr.statusText
});
};
xhr.send();
});}
function setParentAccountbasedonPrimaryContact() {
var lookup1 = Xrm.Page.getAttribute("cse_vendor_name").getValue()[0].id;
var clientUrl = Xrm.Page.context.getClientUrl();
var query = clientUrl + "/api/data/v8.0/cse_vendormaster(" + lookup1.slice(1, -1) + ")?$select=_cse_expense_category_value";
makeRequest('GET', query)
.then(function (res) {
var res2 = JSON.parse(res);
var guid = res2._cse_expense_category_value;
var query2 = clientUrl + "/api/data/v8.0/cse_checkingaccounttransaction(" + guid + ")?$select=cse_vendor_name";
makeRequest('GET', query2)
.then(function (response) {
var res3 = JSON.parse(response);
var value = new Array();
value[0] = new Object();
value[0].id = guid;
value[0].name = res3.name;
value[0].entityType = "cse_checkingaccounttransaction";
Xrm.Page.getAttribute("cse_expense_category").setValue(value);
})
.catch(function (err) {
console.error('there was an error!', err.statusText);
});
})
.catch(function (err) {
console.error(' there was an error!', err.statusText);
});
}
你能更清楚地定義你的目標是什麼嗎? – Jackstine
你會得到什麼錯誤?你試過調試它嗎? –
@傑克斯汀好吧。 Enity名稱:支票帳戶 領域:cse_vendor_name(供應商主數據的查找) cse_expense_category(場連接到cse_vendor_name) – Woshooo