Saved search code to consider top level parent customer

Requirement

We need to consider customer that are top level parent in saved search .

Solution

Following code snippet provides the saved search code to consider the parent level customer.

 var customerSearchObj = search.create({
                type: "customer",
                filters:
                    [
                        [["toplevelparent.internalid","anyof",customerIdFromSearch],"OR",["internalid","anyof",customerIdFromSearch]],
                        "AND",
                        ["transaction.type","anyof","CustInvc","CustCred"],
                        "AND",
                        ["transaction.status","anyof","CustCred:A","CustInvc:A"],
                        "AND",
                        ["transaction.mainline","is","T"],
                      
                    ],
                columns:
                    [
                        search.createColumn({name: "altname", label: "Name"}),
                        search.createColumn({
                            name: "tranid",
                            join: "transaction",
                            label: "Document Number"
                        }),
                        search.createColumn({
                            name: "trandate",
                            join: "transaction",
                            label: "Date"
                        }),
                        search.createColumn({
                            name: "subsidiary",
                            join: "transaction",
                            label: "Subsidiary"
                        }),
                        search.createColumn({
                            name: "duedate",
                            join: "transaction",
                            label: "Due Date/Receive By"
                        }),
                        search.createColumn({
                            name: "daysoverdue",
                            join: "transaction",
                            sort: search.Sort.DESC,
                            label: "Days Overdue"
                        }),
                        search.createColumn({
                            name: "amount",
                            join: "transaction",
                            label: "Amount"
                        }),
                        search.createColumn({
                            name: "amountremaining",
                            join: "transaction",
                            label: "Amount Remaining"
                        }),
                        search.createColumn({
                            name: "internalid",
                            join: "transaction",
                            label: "Internal ID"
                        }),
                        search.createColumn({
                            name: "type",
                            join: "transaction",
                            label: "Type"
                        })
                    ]
            });

            var highestOverdueSearchResult = customerSearchObj.run().getRange({
                start: 0,
                end: 1000
            });

            return highestOverdueSearchResult;
        }

Leave a comment

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