“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);
}
}