我创建了一个名为 Alert 的自定义实体。我已将此与开箱即用的帐户实体相关联。
我现在要做的是自定义 Account 表单,以便当用户打开它时,它会检查当前帐户是否有任何活动警报。如果是这样,它应该显示一条消息,通知他们这一点(javascript 警报?),然后导航到该帐户的警报视图。
我在 CRM 中做了一些基本的 javascript,但我不确定如何查询相关实体。
注意活动警报由警报活动日期中的显示起始日期和显示截止日期定义(显示起始日期 <= 今天和显示截止日期 >= 今天)。
更新
感谢您为我指明 oData 的方向。我现在有以下功能,它正在查找帐户集但扩展与警报的关系。我试图弄清楚如何检查是否有任何警报,目前我的代码总是触发 javascript 警报。
function CheckForAlerts(accountId)
{
var odataSelect = "http://mscrmdev/Test/xrmservices/2011/OrganizationData.svc/AccountSet?$expand=new_account_new_alert_Account&$filter=AccountNumber eq '" + accountId + "'";
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataSelect,
beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
success: function (data, textStatus, XmlHttpRequest)
{
// Use only one of these two methods
// Use for a selection that may return multiple entities
ProcessReturnedEntities(data.d.results);
},
error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + odataSelect); }
});
}
function ProcessReturnedEntities(ManyEntities)
{
var oneEntity = ManyEntities[0];
if (oneEntity != null)
{
alert('There are active alerts associated with this account.');
}
}