function getGlImpact(bills){
var transactionFilters = [["internalidnumber","equalto",bills[0]]]
for(var i=1;i<bills.length;i++)
transactionFilters.push("OR",["internalidnumber","equalto",bills[i]])
var transactionSearchObj = search.create({
type: "transaction",
filters:[
["type","anyof","ExpRept"],
"AND",
[["creditamount","isnotempty",""],"OR",["debitamount","isnotempty",""]],
"AND",
transactionFilters
],
columns:
[
search.createColumn({name:"formulatext" ,formula: "{account}", label: "account"}),
search.createColumn({
name: "formulacurrency",
formula: "{creditamount}",
label: "creditamount"
}),
search.createColumn({
name: "formulacurrency",
formula:"{debitamount}",
label: "debitamount"
}),
search.createColumn({name:"formulatext" ,formula: "{class}", label: "class"}),
search.createColumn({name:"formulatext" ,formula: "{department}", label: "department"})
]
});
var billGls = [];
var totalDebit=0;
var totalCredit=0;
var searchColumns=transactionSearchObj.columns;
transactionSearchObj.run().each(function(result){
var billLine = {};
for(var i=0;i<searchColumns.length;i++)
billLine[searchColumns[i].label]=result.getValue(searchColumns[i]);
billLine.debitamount=parseNumber(billLine.debitamount);
billLine.creditamount=parseNumber(billLine.creditamount);
totalDebit+=billLine.debitamount;
totalCredit+=billLine.creditamount;
billLine.debitamount=billLine.debitamount.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
billLine.creditamount=billLine.creditamount.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
billGls.push(billLine)
return true;
});
return {
totalDebit:totalDebit.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'),
totalCredit:totalCredit.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'),
glLines:billGls
};
}