Alert というカスタム エンティティを作成しました。これをすぐに使用できる Account エンティティに関連付けました。
ここでやりたいことは、アカウント フォームをカスタマイズして、ユーザーがフォームを開いたときに、現在のアカウントにアクティブなアラートがあるかどうかを確認することです。その場合は、これを通知するメッセージ (javascript アラート?) を表示し、アカウントのアラート ビューに移動します。
CRM でいくつかの基本的な JavaScript を実行しましたが、関連するエンティティを照会する方法がわかりません。
注アクティブなアラートは、アクティブな日付であるアラートの表示開始日と表示終了日によって定義されます (表示開始日 <= 今日 AND 表示終了日 >= 今日)。
アップデート
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.');
}
}