Kris Reeves
02/08/2024, 4:43 PMerictgrubaugh
02/08/2024, 4:45 PMKris Reeves
02/08/2024, 4:46 PMKris Reeves
02/08/2024, 4:46 PMSalesOrd:A
etcKris Reeves
02/08/2024, 4:46 PMKris Reeves
02/08/2024, 4:46 PMerictgrubaugh
02/08/2024, 4:48 PMKris Reeves
02/08/2024, 4:49 PMKris Reeves
02/08/2024, 4:50 PMpendingFulfillment
) or SalesOrd:B
, riperictgrubaugh
02/08/2024, 4:50 PMB
Kris Reeves
02/08/2024, 4:50 PMKris Reeves
02/08/2024, 4:50 PMerictgrubaugh
02/08/2024, 4:50 PMKris Reeves
02/08/2024, 4:51 PM["formulanumeric: CASE WHEN {statusref} IN ('B') THEN 1 ELSE 0 END","equalto",1]
Kris Reeves
02/08/2024, 4:51 PMerictgrubaugh
02/08/2024, 4:52 PMformulanumeric
column of {statusref}
to see what it holds)Kris Reeves
02/08/2024, 4:52 PMKris Reeves
02/08/2024, 4:52 PMKris Reeves
02/08/2024, 4:53 PM{
"name": "statusref",
"index": "6",
"value": "pendingFulfillment",
"text": "Pending Fulfillment"
}
Kris Reeves
02/08/2024, 4:54 PMKris Reeves
02/08/2024, 4:55 PMKris Reeves
02/08/2024, 4:55 PMKris Reeves
02/08/2024, 4:56 PMJordan Patterson
02/08/2024, 4:56 PMSELECT DISTINCT
Transaction.Type AS TransactionType,
Status,
BUILTIN.DF( Status ) AS DFStatus,
<http://BUILTIN.CF|BUILTIN.CF>( Status ) AS CFStatus
FROM
Transaction
ORDER BY
TransactionType,
Status
Kris Reeves
02/08/2024, 4:58 PManyof
anyway \o/Kris Reeves
02/08/2024, 4:58 PMJordan Patterson
02/08/2024, 4:59 PMerictgrubaugh
02/08/2024, 5:09 PMerictgrubaugh
02/08/2024, 5:10 PMEmily S
02/08/2024, 5:14 PMKris Reeves
02/08/2024, 5:27 PMKris Reeves
02/08/2024, 5:28 PMerictgrubaugh
02/08/2024, 5:28 PMKris Reeves
02/08/2024, 5:28 PMKris Reeves
02/08/2024, 5:28 PMKris Reeves
02/08/2024, 5:28 PMKris Reeves
02/08/2024, 5:30 PMerictgrubaugh
02/08/2024, 5:31 PMKris Reeves
02/08/2024, 5:38 PMrequire
is valid in a browser that will output an object map of transaction status -> descriptor, according to the suiteql above:
require(['N/query'], query => {
var types = [];
query.runSuiteQL({
query: 'SELECT DISTINCT Transaction.Type AS TransactionType, Status, BUILTIN.DF( Status ) AS DFStatus, <http://BUILTIN.CF|BUILTIN.CF>( Status ) AS CFStatus FROM Transaction ORDER BY TransactionType, Status'
})
.iterator()
.each(result => {
types.push(result.value.asMap());
return true;
});
types.sort((a, b) => a.cfstatus < b.cfstatus ? -1 : a.cfstatus > b.cfstatus ? 1 : 0);
var obj = {};
types.forEach(({transactiontype, status, dfstatus, cfstatus}) => {
obj[cfstatus] = dfstatus;
});
console.log(JSON.stringify(obj));
});
Kris Reeves
02/08/2024, 5:39 PMerictgrubaugh
02/08/2024, 5:42 PMasMappedResults()
instead of `iterator()`+`asMap()`Kris Reeves
02/08/2024, 5:51 PMrequire(['N/query'], query => {
const types = query.runSuiteQL({
query: 'SELECT DISTINCT Transaction.Type AS TransactionType, Status, BUILTIN.DF( Status ) AS DFStatus, BUILTIN.CF( Status ) AS CFStatus FROM Transaction ORDER BY TransactionType, Status'
}).asMappedResults().map(vals => {
const ttype = vals.dfstatus.split(':')[0].replace(/[^a-zA-Z]/g, '');
const titem = vals.dfstatus.split(':')[1].replace(/[^a-zA-Z]/g, '');
return {ttype, titem, ...vals};
});
types.sort((a, b) =>
a.ttype < b.ttype ? -1 :
a.ttype > b.ttype ? 1 :
a.cfstatus < b.cfstatus ? -1 :
a.cfstatus > b.cfstatus ? 1 :
0
);
const obj = {};
types.forEach(({ttype, titem, cfstatus}) => {
obj[ttype] = obj[ttype] ?? {};
obj[ttype][titem] = cfstatus;
});
console.log(JSON.stringify(obj));
});
Kris Reeves
02/08/2024, 5:51 PMKris Reeves
02/08/2024, 5:51 PMKris Reeves
02/08/2024, 5:52 PM