Henrik Ulvenäs
10/14/2020, 2:19 PMWatz
10/14/2020, 2:20 PMSandii
10/14/2020, 2:20 PMHenrik Ulvenäs
10/14/2020, 2:23 PMWatz
10/14/2020, 2:24 PMWatz
10/14/2020, 2:24 PMHenrik Ulvenäs
10/14/2020, 2:25 PMWatz
10/14/2020, 2:26 PMHenrik Ulvenäs
10/14/2020, 2:26 PMWatz
10/14/2020, 2:28 PMWatz
10/14/2020, 2:29 PMHenrik Ulvenäs
10/14/2020, 2:30 PM[
{
row: {
customerId: 1228,
sixNumArticleid: 2812,
arstaPricingGroup: 15,
arstaArticleBasePrice: 10.7,
priceLevel: 25,
discount: -0.05,
userInput: "[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]",
recid: "131"
}
},
{
row: {
customerId: 1228,
sixNumArticleid: 2825,
arstaPricingGroup: 23,
arstaArticleBasePrice: 6.3,
priceLevel: null,
discount: null,
userInput: "[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]",
recid: "131"
}
},
{
row: {
customerId: 1228,
sixNumArticleid: 3593,
arstaPricingGroup: 6,
arstaArticleBasePrice: 12.5,
priceLevel: 10,
discount: -0.1,
userInput: "[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]",
recid: "131"
}
},
{
row: {
customerId: 1228,
sixNumArticleid: 3753,
arstaPricingGroup: 15,
arstaArticleBasePrice: 16.6,
priceLevel: 25,
discount: -0.05,
userInput: "[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]",
recid: "131"
}
}
]
I'm then save the user input in a variable and trying to access it with x[0].item.arstaArticleidbattk
10/14/2020, 2:30 PMWatz
10/14/2020, 2:36 PMWatz
10/14/2020, 2:36 PMWatz
10/14/2020, 2:37 PMvar x = JSON.parse(JSON.parse(context.value).row.userInput);
Henrik Ulvenäs
10/14/2020, 2:49 PMSandii
10/14/2020, 2:50 PMHenrik Ulvenäs
10/14/2020, 2:54 PMbattk
10/14/2020, 2:57 PMSandii
10/14/2020, 2:57 PMvar results = JSON.parse(context.value)
, I would then log the results
, and it should be readableHenrik Ulvenäs
10/15/2020, 7:29 AMHenrik Ulvenäs
10/15/2020, 7:30 AMfunction getInputData() {
try {
//Get UserInput record data
var userInputObj = getUserInput() //search
var result = userInputObj.run().getRange({start: 0, end: 1});
var isMonday = result[0].getValue({name: "custrecord_nem_arstalistan_is_monday"});
var isThursday = result[0].getValue({name: "custrecord_nem_arstalistan_is_thursday"});
var userInput = result[0].getValue({name: "custrecord_nem_arstalistan_json_obj"});
var recid = result[0].id;
//Get Customers based on what day to update price list.
var query;
if(isMonday) {
log.debug('isMonday: ', isMonday);
query = getSQLquery('mo')
} else if (isThursday ){
log.debug('isThursday: ', isThursday);
query = getSQLquery('thur')
}
var sqlQueryResultSet = runSQLquery(query);
//create mapped to get result length
var mapped = sqlQueryResultSet.asMappedResults();
var length = mapped.length;
var obj = getMappedObjectFromQuery(sqlQueryResultSet, userInput, length, recid)
log.debug('obj', obj);
return obj
} catch (e) {
log.error('getInputData error: ', e.message);
}
}
function getMappedObjectFromQuery(sqlQueryResultSet, userInput, length, recid) {
var sqlQueryResult = sqlQueryResultSet.results
JSON.stringify(userInput);
var resultObjectArray = [];
for (var i = 0; i < length; i++) {
var customerId = sqlQueryResult[i].values[0];
var sixNumArticleid = sqlQueryResult[i].values[1];
var arstaPricingGroup = sqlQueryResult[i].values[2];
var arstaArticleBasePrice = sqlQueryResult[i].values[3];
var priceLevel = sqlQueryResult[i].values[4];
var discount = sqlQueryResult[i].values[5];
var obj = {
customerId: customerId,
sixNumArticleid: sixNumArticleid,
arstaPricingGroup: arstaPricingGroup,
arstaArticleBasePrice: arstaArticleBasePrice,
priceLevel: priceLevel,
discount: discount,
userInput: userInput,
recid: recid
}
var mapreduceobj = {
row: obj
}
resultObjectArray.push(mapreduceobj);
}
return resultObjectArray
}
function getSQLquery(deliveryDay) {
var query = "SELECT " +
"customer.id, " +
"customeritempricing.item, " +
"item_sexsiffrig.custitem_nem_item_pricegr_arsta, " +
"baseprice_fyrsiffrig.unitprice, " +
"customergrouppricing.level, " +
"pricelevel.discountpct, " +
" FROM customer " +
"JOIN customeritempricing on customer.id=customeritempricing.customer " +
"JOIN item as item_sexsiffrig on customeritempricing.item=item_sexsiffrig.id AND customeritempricing.customer=customer.id " +
"LEFT OUTER JOIN customergrouppricing on customergrouppricing.group=item_sexsiffrig.custitem_nem_item_pricegr_arsta AND customergrouppricing.customer=customer.id AND customergrouppricing.level <> 1 " +
"JOIN item as item_fyrsiffrig on item_sexsiffrig.id=item_fyrsiffrig.custitem_nem_item_arsta_item " +
"JOIN pricing as baseprice_fyrsiffrig on baseprice_fyrsiffrig.item=item_fyrsiffrig.id " +
"LEFT OUTER JOIN pricelevel on customergrouppricing.level=pricelevel.id " +
"WHERE customer.parent is null and customer.custentity_nem_cus_priceupd_" + deliveryDay +"='T' " +
"AND item_sexsiffrig.custitem_nem_item_arsta_item is not null " +
"AND baseprice_fyrsiffrig.pricelevel=1 "
return query
}
battk
10/15/2020, 8:24 AMbattk
10/15/2020, 8:25 AMfunction getInputData() {
return [
{
row: {
customerId: 1228,
sixNumArticleid: 2812,
arstaPricingGroup: 15,
arstaArticleBasePrice: 10.7,
priceLevel: 25,
discount: -0.05,
userInput:
'[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]',
recid: "131",
},
},
{
row: {
customerId: 1228,
sixNumArticleid: 2825,
arstaPricingGroup: 23,
arstaArticleBasePrice: 6.3,
priceLevel: null,
discount: null,
userInput:
'[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]',
recid: "131",
},
},
{
row: {
customerId: 1228,
sixNumArticleid: 3593,
arstaPricingGroup: 6,
arstaArticleBasePrice: 12.5,
priceLevel: 10,
discount: -0.1,
userInput:
'[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]',
recid: "131",
},
},
{
row: {
customerId: 1228,
sixNumArticleid: 3753,
arstaPricingGroup: 15,
arstaArticleBasePrice: 16.6,
priceLevel: 25,
discount: -0.05,
userInput:
'[{"item":{"arstaArticleid":"4012","sixNumberedArticleid":null,"newArticleSelectOption":"2822","newBasePrice":null}},{"item":{"arstaArticleid":"4013","sixNumberedArticleid":"2825","newArticleSelectOption":"2825","newBasePrice":null}},{"item":{"arstaArticleid":"4014","sixNumberedArticleid":"3753","newArticleSelectOption":"3753","newBasePrice":null}}]',
recid: "131",
},
},
];
}
battk
10/15/2020, 8:25 AMHenrik Ulvenäs
10/15/2020, 8:49 AMWatz
10/15/2020, 2:35 PMHenrik Ulvenäs
10/16/2020, 7:15 AM