保存後イベント
このイベントは、レコードをVBアプリケーションに正常に保存した後に開始されます。 これはレコード・レベルのイベントであるため、このイベントをサブスクライブするには、ユーザーはレコード・コンテキストでサブスクライブAPIをコールする必要があります。
このイベント・レスポンスは、保存されたオブジェクトのタイプ、および古い識別子と新しい識別子に関する情報を提供します。 古い識別子と新しい識別子は、新しいオブジェクトで保存イベントが発生した場合にのみ異なります。 たとえば、新しいオブジェクトUEFを作成すると、それに -ve識別子が割り当てられ、この -ve識別子はContextOpenイベントのサブスクリプション・レスポンスで受信されます。 保存後、このオブジェクトには実際の識別子が割り当てられ、この新しいオブジェクトにOnAfterSaveイベント・リスナーを追加することで、新しい識別子または実際の識別子値を追跡できます。
ノート: OnAfterSaveは、RecordContextからリスニングできるイベントです。
次のコード・サンプルは、OnAfterSaveイベントをサブスクライブするためのTypeScriptの例を示しています:
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await
CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const requestObject: IEventRequest =
frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusOnAfterSaveEvent');
recordContext.subscribe(requestObject, (message: IEventResponse) => {
const response: IOnAfterSaveEventResponse = message as IOnAfterSaveEventResponse;
const oldObjectId: string = response.getResponseData().getOldObjectId();
const newObjectId: string = response.getResponseData().getObjectId();
const objectType: string = response.getResponseData().getObjectType();
});
次のコード・サンプルは、OnAfterSaveイベントをサブスクライブするためのJavaScriptの例を示しています:
const frameworkProvider = await
CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext = await frameworkProvider.getTabContext();
const recordContext = await tabContext.getActiveRecord();
const requestObject =
frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusOnAfterSaveEvent');
recordContext.subscribe(requestObject, (response) => {
const oldObjectId = response.getResponseData().getOldObjectId();
const newObjectId = response.getResponseData().getObjectId();
const objectType = response.getResponseData().getObjectType();
});