breadcrumbDescription
serviceExtensionUtils-komponentmetoder
Hvis du ønsker adgang til detailbestillingsdataene, kan du bruge nogle få indbyggede API'er, der vises i servicekomponenten orderExtensionUtils. Eksempel: Fås adgang til bestillingsdata, når getorderdata API kaldes fra den tilpassede LWC-komponent.
EditionsHeading
Tilgængelig i: Lightning Experience Tilgængelig i: Enterprise og Unlimited Edition, der har Consumer Goods Cloud aktiveret |
Her er de metoder, der er tilgængelige i servicekomponenten orderExtensionUtils:
Bemærk API-versionen for alle metoder er 59.
| Metode | Beskrivelse | Syntaks | Importkommando | Eksempelkode |
|---|---|---|---|---|
| getOrderData | Returnerer data fra bestillingsfelter. | getOrderData(recordId) | importer { getOrderData } fra "cgcloud/orderExtensionUtils" | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); }} |
| updateOrderData | Opdaterer bestillingsfelter. | updateOrderData(recordId, srcThisRef, fieldApiName, værdi) | importer { getOrderData, updateOrderData } fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); } // Du kan kalde denne metode ved at klikke på en knap updateOrderFieldValue() { const fieldName = 'cgcloud__Delivery_Note__c'; const newValue = 'test-note'; updateOrderData(this.recordId, this, fieldName, newValue); }} |
| getOrderItemData | Returnerer bestillingselementdata. | getOrderItemData(recordId) | importer { getOrderItemData } fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderItemsData = []; connectedCallback() { getOrderItemData(this.recordId).then((data) => { this.initialOrderItemsData = data; }); }} |
| updateOrderItemData | Opdaterer bestillingselementdata. | updateOrderItemData(recordId, srcThisRef, itemId, fieldApiName, værdi) | importer { getOrderItemData, updateOrderItemData } fra "cgcloud/orderExtensionUtils" | { @api recordId; initialOrderItemsData = []; connectedCallback() { getOrderItemData(this.recordId).then((data) => { this.initialOrderItemsData = data; }); } updateOrderItemFieldData() { const orderItemId = this.initialOrderItemsData[0].Id; const fieldName = 'cgcloud__Discount__c'; const value = 9; updateOrderItemData(this.recordId, this, orderItemId, fieldName, value); }} |
| setCustomState | Opsætter yderligere data, der skal lagres sammen med bestillingsdataene. F.eks. ny registreringsoprettelse i et tilpasset objekt. Den yderligere dataopsætning, der bruger setCustomState-metoden, kan sendes til den tilpassede Apex, der håndterer lagringstilpasninger. | setCustomState(recordId, customState) | importer { setCustomState } fra "cgcloud/orderExtensionUtils" | { @api recordId; connectedCallback() {} setOrderCustomState() { setCustomState(this.recordId, { customProp: 'Test' }); }} |
| getIsOrderInEditMode | Returnerer, om bestillingen er i redigeringstilstand under den indledende sideindlæsning. Du kan bruge disse oplysninger til kun at vise tilpassede LWC-komponenter i skrivebeskyttet tilstand under den indledende sideindlæsning. | getIsOrderInEditMode() | importer { getIsOrderInEditMode } fra 'cgcloud/orderExtensionUtils'; | { @api recordId; @track isOrderInEditMode = false; connectedCallback() { this.isOrderInEditMode = getIsOrderInEditMode(); }} |
| registerListenerForOrderDataUpdates | Registrerer en tilbagekaldsmetode, der kaldes, når et bestillingsfelt ændres. | registerListenerForOrderDataUpdates(recordId, thisRef, tilbagekald) | import { getOrderData, registerListenerForOrderDataUpdates} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; orderDataUpdates = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerListenerForOrderDataUpdates( this.recordId, this, this.handleOrderDataUpdates ); } handleOrderDataUpdates(fieldApiName, value) { this.orderDataUpdates[fieldApiName] = value; }} |
| registerOrderDataInlineValidator | Registrerer en tilbagekaldsmetode, der kaldes, når et bestillingsfelt ændres og udfører en validering på bestillingsfeltet. | registerOrderDataInlineValidator(recordId, thisRef, tilbagekald) | import { getOrderData, registerOrderDataInlineValidator} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerOrderDataInlineValidator( this.recordId, this, this.validateOrderDataChanges ); } validateOrderDataChanges(fieldName, value) { switch (fieldName) { case 'cgcloud__Invoice_Note__c': case 'cgcloud__Delivery_Note__c': return this.validateNoteFields(værdi), standard: return ''; } validateNoteFields(value) { if (value && value.length > 100) { return 'This text should be less than 100 characters'; } }} |
| registerListenerForOrderItemDataUpdates | Registrerer en tilbagekaldsmetode, der kaldes, når et bestillingselementfelt ændres. | registerListenerForOrderItemDataUpdates(recordId, thisRef, tilbagekald) | importere { getOrderItemData, registerListenerForOrderItemDataUpdates} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderItemsData = []; connectedCallback() { getOrderItemData(this.recordId).then((data) => { this.initialOrderItemsData = data; }); registerListenerForOrderItemDataUpdates( this.recordId, this, this.handleOrderItemDataUpdates ); } handleOrderItemDataUpdates(itemId, fieldApiName, value) { const orderItem = this.initialOrderItemsData.find( (_orderItem) => _orderItem.Id === item ); orderItem[ApifieldName =] value; }} |
| registerOrderItemDataInlineValidator | Registrerer en tilbagekaldsmetode, der kaldes, når et bestillingselementfelt ændres og udfører en validering på bestillingselementfeltet. | registerOrderItemDataInlineValidator(recordId, thisRef, tilbagekald) | import { getOrderItemData, registerOrderItemDataInlineValidator} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderItemsData = []; connectedCallback() { getOrderItemData(this.recordId).then((data) => { this.initialOrderItemsData = data; }); registerOrderItemDataInlineValidator( this.recordId, this, this.validateOrderItemDataChanges ); } validateOrderItemDataChanges(itemId, fieldName, value) { switch (fieldName) { case 'Discount__c': return this.validateDiscount(værdi), standard: return ''; } validateDiscount(value) { if (value > 10) { return 'Elementrabat bør ikke være større end 10%'; } return ''; }} |
| registerBeforeAddItemActionHandler | Registrerer en tilbagekaldsmetode, før du tilføjer elementer i en bestilling. | registerBeforeAddItemActionHandler(recordId, thisRef, tilbagekald) | import { getOrderData, registerListenerForOrderDataUpdates, registerBeforeAddItemActionHandler} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderDataUpdates = {}; orderDataUpdates = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerListenerForOrderDataUpdates( this.recordId, this, this.handleOrderDataUpdates ); registerBeforeAddItemActionHandler( this.recordId); registerBeforeAddItemActionHandler( this.recordId, this, this.handleBeforeAddItemCB ); } handleOrderDataUpdates(fieldApiName, value) { this.orderOrderDataUpdates(fieldApiDataUpdates, value) { this.orderDataUpdates(fieldApiDataUpdates), value) |
| registerBeforeSaveActionHandler | Registrerer en tilbagekaldsmetode, før du gemmer en bestilling. | registerBeforeSaveActionHandler(recordId, thisRef, tilbagekald) | import { getOrderData, registerBeforeSaveActionHandler} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerBeforeSaveActionHandler( this.recordId, this, this.handleBeforeSaveCB ); } handleBeforeSaveCB(savePayload) { const { orderItemsToBeUpserted: orderItems, updatedOrder: orderData } = savePayload; for (lad i = 0; i < orderItems.length; i++) { const orderItem = orderItems[i]; if (orderItem.cgcloud__Quantity__c > 90) { throw new Error("Order Item Quantity should not be greater than 90"); } } let headerDiscount = orderData.cgcloud__Header_Discount_Percentage__c; headerDiscount = headerDiscount && Number(headerDiscount); if (headerDiscount && headerDiscount > 15) { throw new Error("Order Item Quantity should not be greater than 15"); } let deliveryDate = orderData.cgcloud__Delivery_Date__c; (ifdelyDate___DeliveryDate) delivery {Date = new Date(deliveryDate);DiveryDate(cladedate) |
| registerListenerForEnablingOrDisablingEditMode | Returnerer, om bestillingen er i redigeringstilstand under bestillingsoptagelsesprocessen. Du kan bruge disse oplysninger til kun at vise tilpassede LWC-komponenter i skrivebeskyttet tilstand. | registerListenerForEnablingOrDisablingEditMode(recordId, thisRef, tilbagekald) | import { getOrderData, registerListenerForEnablingOrDisablingEditMode} fra 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerBeforeSaveActionHandler( this.recordId, this, this.handleBeforeSaveCB ); } handleBeforeSaveCB(savePayload) { const { orderItemsToBeUpserted: orderItems, updatedOrder: orderData } = savePayload; for (lad i = 0; i < orderItems.length; i++) { const orderItem = orderItems[i]; if (orderItem.cgcloud__Quantity__c > 90) { throw new Error("Order Item Quantity should not be greater than 90"); } } let headerDiscount = orderData.cgcloud__Header_Discount_Percentage__c; headerDiscount = headerDiscount && Number(headerDiscount); if (headerDiscount && headerDiscount > 15) { throw new Error("Order Item Quantity should not be greater than 15"); } let deliveryDate = orderData.cgcloud__Delivery_Date__c; (ifdelyDate___DeliveryDate) delivery {Date = new Date(deliveryDate);DiveryDate(cladedate) |
Løste denne artikel dit problem?
Giv os besked, så vi kan forbedre os!
