gpt4 book ai didi

javascript - 如果帐户有相关实体记录,则显示弹出窗口/警报

转载 作者:行者123 更新时间:2023-12-02 19:44:35 25 4
gpt4 key购买 nike

我创建了一个名为 Alert 的自定义实体。我已将其与开箱即用的帐户实体关联起来。

我现在想要做的是自定义帐户表单,以便当用户打开它时,它会检查当前帐户是否有任何事件警报。如果是这样,它应该显示一条消息,通知他们这一点(JavaScript 警报?),然后导航到该帐户的警报 View 。

我已经在 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.');
}
}

最佳答案

执行此操作的最佳方法是通过 JavaScript 中的 oData 查询。 CRM 2011 SDK 附带了一些用于 oData 调用的辅助函数,如下所示。您将需要使用“retrieveMultiple”方法,该方法允许您通过查找相关“帐户”来检索所有“警报”。

首先将 SDK 中的“RESTJQueryEditor.js”文件添加到您的表单,然后您可以添加自己的自定义脚本来执行检索。然后,我建议创建您希望在回调成功函数中向用户显示的消息,如下所示:-

retrieveMultiple('nameOfYourAlertEntitySet', '?$filter=myAccountLookupName eq ' + accountId, function(alerts){
if(alerts.length > 0)
{
var message = '';

for(var index = 0; index<alerts.length; index++)
{
message += 'alert: ' + alerts[index].name;
}

alert('Found associated alerts: ' + message);
}
else
{
alert('No associated alerts found for this account');
}
},
function(){
// Log an exception
});

当然,您会希望使警报消息更好一点,并相应地调整您的属性名称,但我相信这就是您想要做的事情。此外,您可以使用“and”关键字在过滤器中的警报实体上添加任何其他条件。

如果您有任何问题,请告诉我。

关于javascript - 如果帐户有相关实体记录,则显示弹出窗口/警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10027404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com