Function to update the vendor purchase price of the Item

Jira Code : BGGN-529

 /**
         * Function to set the vendor purchase price
         * @param itemRecord
         * @param updatedVendorPrice
         **/
        function updatePurchasePrice(itemRecord, updatedVendorPrice)
        {
            let vendorCount = itemRecord.getLineCount({ sublistId : 'itemvendor'});
            for (let i=0; i<vendorCount; i++)
            {
                let vendorName = itemRecord.getSublistValue({
                    sublistId : 'itemvendor',
                    fieldId : 'vendor_display',
                    line  : i
                });

                if( vendorArray.includes(vendorName) == true )
                {
                    //select item vendor record
                    itemRecord.selectLine({
                        sublistId: 'itemvendor',
                        line: i
                    });

                    // Loading the itemVendorPrice Sublist subrecord
                    let itemVendorPriceRec = itemRecord.getCurrentSublistSubrecord({
                        sublistId: 'itemvendor',
                        fieldId: 'itemvendorprice'
                    });

                    let itemVendorPriceRecCount = itemVendorPriceRec.getLineCount({ sublistId : "itemvendorpricelines" });

                    for ( let j=0; j<itemVendorPriceRecCount; j++)
                    {
                        // Select the itemVendorPrice Line
                        itemVendorPriceRec.selectLine({
                            sublistId:"itemvendorpricelines",
                            line: j
                        });

                        //Getting the currency and purchase price
                        let vendorCurrency = itemVendorPriceRec.getCurrentSublistText({
                            sublistId: "itemvendorpricelines",
                            fieldId: "vendorcurrency",
                        });

                        let vendorPurchasePrcie = itemVendorPriceRec.getCurrentSublistText({
                            sublistId: "itemvendorpricelines",
                            fieldId: "vendorprice",
                        });

                        //Setting the purchase price only for HKD currency
                        if (vendorCurrency == "HKD" )
                        {
                            if ( vendorPurchasePrcie == updatedVendorPrice)
                                log.debug("EQUAL","This price has already been updated for the vendor " + vendorName);
                            else
                                // Setting vendor purchase price
                                itemVendorPriceRec.setCurrentSublistValue({
                                    sublistId: "itemvendorpricelines",
                                    fieldId: "vendorprice",
                                    value: updatedVendorPrice
                                });
                        }

                        //commit the item vendor price line.
                        itemVendorPriceRec.commitLine({
                            sublistId:"itemvendorpricelines"
                        });
                    }

                    // commit item vendor
                    itemRecord.commitLine({ sublistId: "itemvendor" });
                }
            }
            //submit item record
            itemRecord.save();
        }

Leave a comment

Your email address will not be published. Required fields are marked *