diff --git a/xrm/xrm-tests.ts b/xrm/xrm-tests.ts index ac0f115154..68ed23abb1 100644 --- a/xrm/xrm-tests.ts +++ b/xrm/xrm-tests.ts @@ -72,7 +72,7 @@ if (Xrm.Page.data.process != null) /// Demonstrate v7.1 Quick Create form -Xrm.Utility.openQuickCreate("account").then(( newRecord: Xrm.Page.LookupValue ) => { alert( `Newly created record Id: ${newRecord.id}` ); }, (code, message) => {console.log(message)}); +Xrm.Utility.openQuickCreate("account").then(( object ) => { alert( `Newly created record Id: ${object.savedEntityReference.id}` ); }, (error) => {console.log(`Code: ${error.errorCode}, Message: ${error.message}`)}); /// Make all controls visible. diff --git a/xrm/xrm.d.ts b/xrm/xrm.d.ts index 11dd24c389..393594da19 100644 --- a/xrm/xrm.d.ts +++ b/xrm/xrm.d.ts @@ -482,17 +482,32 @@ declare namespace Xrm export module Async { /** - * Called when the operation is successful. + * Object passed to ErrorCallbackDelegate */ - export type SuccessCallbackDelegate = ( object: any ) => void; + export interface ErrorCallbackObject + { + errorCode: number; + message: string; + } + + export interface SuccessCallbackObject + { + savedEntityReference: Page.LookupValue; + } + + /** + * Called when the operation is successful. + * Currently, only the Xrm.Utility.openQuickCreate successCallback + * is passed a parameter so an optional parameter for it is included + */ + export type SuccessCallbackDelegate = (object?: SuccessCallbackObject ) => void; /** * Called when the operation fails. * - * @param {number} errorCode The error code. - * @param {string} message The message. + * @param {ErrorCallbackObject} error The error object */ - export type ErrorCallbackDelegate = ( errorCode: number, message: string ) => void; + export type ErrorCallbackDelegate = ( error: ErrorCallbackObject ) => void; /** * Interface for Xrm.Page.data promises.