私は処理が必要な特定の状況があります。私は、インボイスの詳細が作成または更新されたときにインボイスの特定のロールアップフィールドをリフレッシュするプラグインを持っています。 これで、請求書の詳細が削除されたら、そのフィールドを更新する必要があります。 Dynamics CRMプラグイン - 削除時のロールアップをリフレッシュ
は、この問題を分析し、私は請求書の詳細レコードがまだ削除されていないので、私は前の操作にロールアップフィールドを更新することができないことに気づき、それがなくなっているので、ポスト操作に私は、その特定のレコードから請求書GUIDを取得することはできません。ここで
/作成、更新にロールアップリフレッシュを処理するコードの一部:
Entity invoiceDetail = service.Retrieve("invoicedetail", targetId, new ColumnSet(true));
Guid invoiceID = ((EntityReference)invoiceDetail["invoiceid"]).Id;
if (targetEntity.Attributes.Contains("extendedamount"))
{
Entity myEntity = service.Retrieve("invoice", invoiceID, new ColumnSet(true));
CalculateRollupFieldRequest rollupRequest = new CalculateRollupFieldRequest
{
Target = new EntityReference("invoice", invoiceID),
FieldName = "detailamount"
};
CalculateRollupFieldResponse response = (CalculateRollupFieldResponse)service.Execute(rollupRequest);
myEntity = response.Entity;
service.Update(myEntity);
}
は、あなたが何か提案はありますか?私はこれ以上怒っつもりですし、何も考えることができない...
使用しているCRMのバージョンは何ですか? – pen2
私はCRMを使用しています2016 – bocasa
bocasaなぜpre-eventを使うことができないのだろうと思っています。レコードはこの後に削除され、レコードが削除操作で失敗するとロールバックされます。 – Sxntk