Pass variables with search column

“billLines” is an array of objects.

function searchSupplierBooking(billLines) {

            try {

                let searchResult;

                let searchResultSum = 0;

                let billLinesArray = [];

                for (let j = 0; j < billLines.length; j++) {

             

                    if (billLines[j].supplier && billLines[j].custcol_3rp_booking_ref.value) {

                        let transactionSearchObj = search.create({

                            type: “transaction”,

                            settings: [{ “name”: “consolidationtype”, “value”: “NONE” }],

                            filters: [

                                [“custbody_3rp_booking_type”, “anyof”, “1”, “2”, “3”, “4”, “8”],

                                “AND”,

                                [

                                    [“custbody_3rp_agent”, “anyof”, billLines[j].supplier],

                                    “OR”, [“custbody_3rp_primary_product_supplier”, “anyof”, billLines[j].supplier],

                                    “OR”, [“custbody_3rp_secondary_product_supplie”, “anyof”, billLines[j].supplier],

                                    “OR”, [“custbody_3rp_tertiary_suppliers”, “anyof”, billLines[j].supplier]

                                ],

                                “AND”,

                                [“custbody_3rp_booking”, “anyof”, billLines[j].custcol_3rp_booking_ref.value],

                                “AND”,

                                [“formulanumeric: CASE WHEN {custbody_3rp_min_line_value_stored} = {line} THEN 1 ELSE 0 END”, “equalto”, “1”]

                            ],

                            columns: [

                                search.createColumn({

                                    name: “formulacurrency”,

                                    summary: “SUM”,

                                    formula: “CASE “ +

                                        “WHEN {custbody_3rp_primary_product_supplier.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_supplier_cost_gross} “ +

                                        “WHEN {custbody_3rp_secondary_product_supplie.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_secondary_supplier_gross} “ +

                                        “WHEN {custbody_3rp_tertiary_suppliers.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_teriary_supplier} “ +

                                        “ELSE ({custbody_3rp_commission_net} + {custbody_3rp_commission_vat}) END”,

                                    label: “Formula (Currency)”

                                })

                            ]

                        });

                        transactionSearchObj.run().each(function (result) {

                            searchResult = result.getValue({

                                name: “formulacurrency”,

                                summary: “SUM”,

                                formula: “CASE “ +

                                    “WHEN {custbody_3rp_primary_product_supplier.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_supplier_cost_gross} “ +

                                    “WHEN {custbody_3rp_secondary_product_supplie.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_secondary_supplier_gross} “ +

                                    “WHEN {custbody_3rp_tertiary_suppliers.internalid} = ‘” + billLines[j].supplier + “‘ THEN {custbody_3rp_teriary_supplier} “ +

                                    “ELSE ({custbody_3rp_commission_net} + {custbody_3rp_commission_vat}) END”,

                                label: “Formula (Currency)”

                            });

                        });

                        log.debug(“searchResult”, searchResult)

            } catch (e) {

                log.error(“error@searchSupplierBooking”, e.message);

            }

        }

   

Leave a comment

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