フィールド値の取得操作
この操作は、特定のレコードまたはオブジェクトのフィールドの現在の値をフェッチするために使用されます(SRのタイトル・フィールドの現在の値を取得するなど)。 この操作のリクエスト・オブジェクトに複数のフィールドを設定して、1つのgetFieldValue操作で複数のフィールドをフェッチできます。 これはレコード固有の操作です。
次のコード・サンプルは、フィールド名が渡されるGetFieldValue操作の発行のTypeScriptの例を示しています。
/// <reference path="uiEventsFramework.d.ts"/>
const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
const tabContext: ITabContext = await frameworkProvider.getTabContext();
const recordContext: IRecordContext = await tabContext.getActiveRecord();
const requestObject: IGetFieldValueOperationRequest = (frameworkProvider.requestHelper.
createPublishRequest('cxEventBusGetFieldValueOperation') as IGetFieldValueOperationRequest);
requestObject.setFields(['ServiceRequest.Title', 'ServiceRequest.ProblemDescription']);
recordContext.publish(requestObject).then((message) => {
const response = message as IGetFieldValueResponse;
const titleFieldValue = response.getResponseData().getField('ServiceRequest.Title').getValue();
const problemDescriptionValue = response.getResponseData().getField('ServiceRequest.ProblemDescription').getValue();
// custom code
}).catch((error: IErrorData) => {
// custom code
});
次のコード・サンプルは、GetFieldValue操作を公開するための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.createPublishRequest('cxEventBusGetFieldValueOperation');
requestObject.setFields(['ServiceRequest.Title', 'ServiceRequest.ProblemDescription']);
recordContext.publish(requestObject).then((response) => {
// custom code
const titleFieldValue = response.getResponseData().getField('ServiceRequest.Title').getValue();
const problemDescriptionValue = response.getResponseData().getField('ServiceRequest.ProblemDescription').getValue();
}).catch((error) => {
// custom code
});