orderExtensionUtils-palvelukomponenttien metodit
Voit käyttää vähittäistilausten dataa käyttämällä muutamaa käyttövalmista API-rajapintaa, jotka näytetään orderExtensionUtils-palvelukomponentissa. Esimerkki: Käyttää tilaustietoja, kun getorderdata API -rajapintaa kutsutaan mukautetusta LWC-komponentista.
Vaaditut versiot
Käytettävissä: Lightning Experiencessa Käytettävissä: Enterprise Edition- ja Unlimited Edition -versioissa, joissa on Consumer Goods Cloud käytössä |
Palvelukomponentissa orderExtensionUtils on käytettävissä seuraavat metodit:
Huomautus Kaikkien metodien API-versio on 59.
| Metodi | Kuvaus | Syntaksi | Tuontitoiminto | Esimerkkikoodi |
|---|---|---|---|---|
| getOrderData | Palauttaa tietoja tilausten kentistä. | getOrderData(recordId) | import { getOrderData } from 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); }} |
| updateOrderData | Päivittää tilauskentät. | updateOrderData(recordId, srcThisRef, fieldApiName, arvo) | import { getOrderData, updateOrderData } from 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); } // Voit kutsua tätä menetelmää napsauttamalla painiketta updateOrderFieldValue() { const fieldName = 'cgcloud__Delivery_Note__c'; const newValue = 'test-note'; updateOrderData(this.recordId, this, fieldName, newValue); }} |
| getOrderItemData | Palauttaa tilauskohteiden tiedot. | getOrderItemData(recordId) | import { getOrderItemData } from 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderItemsData = []; connectedCallback() { getOrderItemData(this.recordId).then((data) => { this.initialOrderItemsData = data; }); }} |
| updateOrderItemData | Päivittää tilauskohteiden datan. | updateOrderItemData(recordId, srcThisRef, itemId, fieldApiName, value) | import { getOrderItemData, updateOrderItemData } from '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 | Määrittää tilaustietojen kanssa tallennettavat lisätiedot. Esimerkiksi uuden tietueen luominen mukautetussa objektissa. Lisädatan määritykset, jotka käyttävät setCustomState-metodia, voidaan lähettää mukautettuun Apex, joka käsittelee tallennustilan mukautukset. | setCustomState(recordId, customState) | import { setCustomState } from 'cgcloud/orderExtensionUtils'; | { @api recordId; connectedCallback() {} setOrderCustomState() { setCustomState(this.recordId, { customProp: 'Testi' }); }} |
| getIsOrderInEditMode | Palauttaa, onko tilaus muokkaustilassa sivun ensimmäisen latauksen aikana. Voit käyttää näitä tietoja näyttääksesi mukautettuja LWC-komponentteja Vain luku -tilassa sivun ensimmäisen latauksen aikana. | getIsOrderInEditMode() | import { getIsOrderInEditMode } from 'cgcloud/orderExtensionUtils'; | { @api recordId; @track isOrderInEditMode = false; connectedCallback() { this.isOrderInEditMode = getIsOrderInEditMode(); }} |
| registerListenerForOrderDataUpdates | Rekisteröi callback-metodin, joka kutsutaan, kun tilauskenttää muutetaan. | registerListenerForOrderDataUpdates(recordId, thisRef, callback) | tuoda { getOrderData, registerListenerForOrderDataUpdates} 'cgcloud/orderExtensionUtils' -osiosta; | { @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 | Rekisteröi callback-metodin, joka kutsutaan, kun tilauskenttää muutetaan, ja suorittaa vahvistuksen tilauksen kentälle. | registerOrderDataInlineValidator(recordId, thisRef, callback) | import { getOrderData, registerOrderDataInlineValidator} from 'cgcloud/orderExtensionUtils'; | { @api recordId; initialOrderData = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerOrderDataInlineValidator( this.recordId, this, this.validateOrderDataChanges ); } validateOrderDataChanges(kentanNimi, arvo) { switch (kentanNimi) { case 'cgcloud__Invoice_Note__c': case 'cgcloud__Delivery_Note__c': palauta this.validateNoteFields(arvo); oletusarvo: return ''; } validateNoteFields(arvo) { if (arvo && value.length > 100) { return 'Tämän tekstin tulisi olla alle 100 merkkiä'; } }} |
| registerListenerForOrderItemDataUpdates | Rekisteröi callback-metodin, joka kutsutaan, kun tilauskohteen kenttää muutetaan. | registerListenerForOrderItemDataUpdates(recordId, thisRef, callback) | import { getOrderItemData, registerListenerForOrderItemDataUpdates} from '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[kentänNimi =] -arvo; }} |
| registerOrderItemDataInlineValidator | Rekisteröi callback-metodin, joka kutsutaan, kun tilauskohteen kenttää muutetaan, ja suorittaa vahvistuksen tilauskohteen kentälle. | registerOrderItemDataInlineValidator(recordId, thisRef, callback) | import { getOrderItemData, registerOrderItemDataInlineValidator} from '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': palauta this.validateDiscount(arvo); oletusarvo: return ''; } } validateDiscount(value) { if (arvo > 10) { return 'Item discount should not be more than 10%'; } return ''; }} |
| registerBeforeAddItemActionHandler | Rekisteröi callback-metodin ennen kuin lisää kohteita tilaukseen. | registerBeforeAddItemActionHandler(recordId, thisRef, callback) | import { getOrderData, registerListenerForOrderDataUpdates, registerBeforeAddItemActionHandler} 'cgcloud/orderExtensionUtils' -osiosta; | { @api recordId; initialOrderDataUpdates = {}; orderDataUpdates = {}; connectedCallback() { getOrderData(this.recordId).then((data) => { this.initialOrderData = data; }); registerListenerForOrderDataUpdates( this.orderOrderDataUpdates, this, this.handleOrderDataUpdates ); registerBeforeAddItemActionHandler( this.recordId) order { this, this.handleforeAddItemCB ); } handleOrderDataUpdates(This.initialOrderData = data; } } } {This.initialOrderData, ...This.DataDataDataData; Iisis" addes; NewOrderItems; "You'tem"Order Order=Order's Order. |
| registerBeforeSaveActionHandler | Rekisteröi callback-metodin ennen tilauksen tallentamista. | registerBeforeSaveActionHandler(recordId, thisRef, callback) | import { getOrderData, registerBeforeSaveActionHandler} from '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 (lat i = 0; i < orderItems.length; i++) { const orderItem = orderItems[i]; if (orderItem.cgcloud__Quantity__c > 90) { throw new Error("Tilauskohteen määrä ei saisi olla suurempi kuin 90"); } } let headerDiscount = orderData.cgcloud__Header_Discount_Percentage__c; headerDiscount = headerDiscount && Number(headerDiscount); if (headerDiscount && headerDiscount > 15) {throw new Error("Tilauskohteen määrä ei saisi olla suurempi kuin 15"); } let deliveryDate orderData.cgcloud__Delivery_Datecate__; if (deliveryDate delivery {__Date new Date(DateDelivery)Date delivery.Date set.Date(Header alennus)Date(Date delivery order.cloud) |
| registerListenerForEnablingOrDisablingEditMode | Palauttaa, onko tilaus muokkaustilassa tilauksen vastaanottoprosessin aikana. Voit käyttää näitä tietoja näyttääksesi mukautettuja LWC-komponentteja Vain luku -tilassa. | registerListenerForEnablingOrDisablingEditMode(recordId, thisRef, callback) | import { getOrderData, registerListenerForEnablingOrDisablingEditMode} from '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 (lat i = 0; i < orderItems.length; i++) { const orderItem = orderItems[i]; if (orderItem.cgcloud__Quantity__c > 90) { throw new Error("Tilauskohteen määrä ei saisi olla suurempi kuin 90"); } } let headerDiscount = orderData.cgcloud__Header_Discount_Percentage__c; headerDiscount = headerDiscount && Number(headerDiscount); if (headerDiscount && headerDiscount > 15) {throw new Error("Tilauskohteen määrä ei saisi olla suurempi kuin 15"); } let deliveryDate orderData.cgcloud__Delivery_Datecate__; if (deliveryDate delivery {__Date new Date(DateDelivery)Date delivery.Date set.Date(Header alennus)Date(Date delivery order.cloud) |
Ratkaisiko tämä artikkeli ongelmasi?
Anna palautetta, jotta voimme kehittyä!

