I'm doing this saved search within a restlet funct...
# ask-stanley-ai
f
I'm doing this saved search within a restlet function getPurchaseHistoryByParent(context) { // Destructure the parameters from the incoming object const { parentId, startDate, endDate = null } = context; // Build base search filters const salesOrderSearchFilters = [ // Now 'parentId' is the number 1720557 ['customer.parent', 'anyof', parentId], 'AND', ['mainline', 'is', 'F'], 'AND', // Now 'startDate' is the date string ['datecreated', 'after', startDate] ]; // Add end date filter if provided if (endDate) { salesOrderSearchFilters.push('AND', ['datecreated', 'onorbefore', endDate]); } // Add remaining filters salesOrderSearchFilters.push( 'AND', ['type', 'anyof', 'SalesOrd'], 'AND', ['taxline', 'is', 'F'], 'AND', ['shipping', 'is', 'F'] ); log.debug('salesOrderSearchFilters', salesOrderSearchFilters); // Create search columns const salesOrderSearchColDateCreated = search.createColumn({ name: 'datecreated' }); const salesOrderSearchColItem = search.createColumn({ name: 'item' }); const salesOrderSearchColDisplayName = search.createColumn({ name: 'custcol3' }); const salesOrderSearchColAmount = search.createColumn({ name: 'amount' }); // Create the search const salesOrderSearch = search.create({ type: 'salesorder', filters: salesOrderSearchFilters, columns: [ salesOrderSearchColDateCreated, salesOrderSearchColItem, salesOrderSearchColDisplayName, salesOrderSearchColAmount, ], }); // Process results with pagination const results = []; const salesOrderSearchPagedData = salesOrderSearch.runPaged({ pageSize: 1000 }); for (let i = 0; i < salesOrderSearchPagedData.pageRanges.length; i++) { const salesOrderSearchPage = salesOrderSearchPagedData.fetch({ index: i }); const pageResults = salesOrderSearchPage.data.map(result => { const dateCreated = result.getValue(salesOrderSearchColDateCreated); const item = result.getValue(salesOrderSearchColItem); const displayName = result.getValue(salesOrderSearchColDisplayName); const amount = result.getValue(salesOrderSearchColAmount); return { dateCreated: dateCreated ? String(dateCreated) : '', item: item ? String(item) : '', displayName: displayName ? String(displayName) : '', amount: amount ? Number(amount) : 0 }; }); results.push(...pageResults); } return results; } how could I add the subaccounts names or id's to know whose have bought each thing ?
c
AI generated answer (using internal Slack threads):
To add the subaccounts names or id's to your saved search, you can add a new column to your search. You can use the
search.createColumn
method to create a new column for the subaccount name or id. Here is an example of how you can do it:
Copy code
javascript
const salesOrderSearchColSubaccount = search.createColumn({ name: 'subsidiary' });
Then, add this new column to your search:
Copy code
javascript
const salesOrderSearch = search.create({
    type: 'salesorder',
    filters: salesOrderSearchFilters,
    columns: [
        salesOrderSearchColDateCreated,
        salesOrderSearchColItem,
        salesOrderSearchColDisplayName,
        salesOrderSearchColAmount,
        salesOrderSearchColSubaccount
    ],
});
In the result processing, you can get the subaccount name or id like this:
Copy code
javascript
const subaccount = result.getValue(salesOrderSearchColSubaccount);
And add it to your result object:
Copy code
javascript
return {
    dateCreated: dateCreated ? String(dateCreated) : '',
    item: item ? String(item) : '',
    displayName: displayName ? String(displayName) : '',
    amount: amount ? Number(amount) : 0,
    subaccount: subaccount ? String(subaccount) : ''
};
This way, each result will have the subaccount name or id, so you can know which subaccount has bought each item. ****** Disclaimer: This response was generated by an artificial intelligence assistant based on previous conversations from multiple Slack channels, and may contain inaccuracies or mistakes. ******
Slack thread 1: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.86289835
Slack thread 2: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.849019408
Slack thread 3: here (available only if the original thread was posted in the last 90 days)
Similarity score: 0.835325956
Please provide your feedback on this answer.