Slackbot
03/16/2020, 3:25 AMbattk
03/16/2020, 3:28 AMbattk
03/16/2020, 3:28 AMsrJSON = searchResult.toJSON()
Kevin Carpenter
03/16/2020, 3:33 AMKevin Carpenter
03/16/2020, 3:34 AMKevin Carpenter
03/16/2020, 3:34 AM{parentURI}/{currentURI}
battk
03/16/2020, 3:34 AMKevin Carpenter
03/16/2020, 3:35 AMbattk
03/16/2020, 3:37 AMKevin Carpenter
03/16/2020, 3:40 AMKevin Carpenter
03/16/2020, 3:43 AM{custitem_kotn_sample_category}
being set on each inventory item, however since it is a dropdown, that just gives me the id of the category. So I need to take the category ID from that field on the item record, and look up its URI, and build a string to save to a new fieldKevin Carpenter
03/16/2020, 3:43 AM{categoryUri}/{itemUri}
if that makes sensebattk
03/16/2020, 3:44 AMKevin Carpenter
03/16/2020, 3:44 AMbattk
03/16/2020, 3:44 AMbattk
03/16/2020, 3:45 AMKevin Carpenter
03/16/2020, 3:45 AMbattk
03/16/2020, 3:45 AMKevin Carpenter
03/16/2020, 3:45 AMbattk
03/16/2020, 3:45 AMbattk
03/16/2020, 3:45 AMKevin Carpenter
03/16/2020, 3:46 AMKevin Carpenter
03/16/2020, 3:47 AMbattk
03/16/2020, 3:47 AMKevin Carpenter
03/16/2020, 3:47 AMbattk
03/16/2020, 3:48 AMbattk
03/16/2020, 3:48 AMKevin Carpenter
03/16/2020, 3:50 AMbattk
03/16/2020, 3:53 AMbattk
03/16/2020, 3:54 AMKevin Carpenter
03/16/2020, 3:54 AMbattk
03/16/2020, 3:56 AMbattk
03/16/2020, 3:56 AMKevin Carpenter
03/16/2020, 4:03 AMbattk
03/16/2020, 4:07 AMKevin Carpenter
03/16/2020, 4:07 AMbattk
03/16/2020, 4:08 AMsitecategory
battk
03/16/2020, 4:10 AMKevin Carpenter
03/16/2020, 4:13 AMvar searchResult = JSON.parse(context.value);
var productId = searchResult.id;
var nsId = searchResult.id;
var itemRec = record.load({
type: record.Type.INVENTORY_ITEM,
id: productId
});
var catId = itemRec.getValue({
fieldId: "custitem_kotn_sample_category"
});
log.debug("Category ID" + catId);
Kevin Carpenter
03/16/2020, 4:13 AMKevin Carpenter
03/16/2020, 4:14 AMbattk
03/16/2020, 4:14 AMKevin Carpenter
03/16/2020, 4:17 AMKevin Carpenter
03/16/2020, 4:17 AMbattk
03/16/2020, 4:18 AMrecord.load({
type: 'sitecategory',
id: catId
});
battk
03/16/2020, 4:18 AMbattk
03/16/2020, 4:20 AMparentcategory
and urlcomponent
and then repeat the loading for the value of the parentcategoryKevin Carpenter
03/16/2020, 4:21 AMbattk
03/16/2020, 4:22 AMKevin Carpenter
03/16/2020, 4:25 AM97370
for the Category ID from that field...Kevin Carpenter
03/16/2020, 4:25 AMKevin Carpenter
03/16/2020, 4:26 AMKevin Carpenter
03/16/2020, 4:27 AMKevin Carpenter
03/16/2020, 4:27 AMKevin Carpenter
03/16/2020, 4:28 AMinventoryitem
or assemblyitem
based on type?Kevin Carpenter
03/16/2020, 4:28 AMKevin Carpenter
03/16/2020, 4:28 AMbattk
03/16/2020, 4:28 AMbattk
03/16/2020, 4:28 AMKevin Carpenter
03/16/2020, 4:29 AMERROR String: {"type":"error.SuiteScriptError","name":"SSS_RECORD_TYPE_MISMATCH","message":"The record you are attempting to load has a different type: assemblyitem from the type specified: inventoryitem.","stack":["createError(N/error)"],"cause":{"type":"internal error","code":"SSS_RECORD_TYPE_MISMATCH","details":"The record you are attempting to load has a different type: assemblyitem from the type specified: inventoryitem.","userEvent":null,"stackTrace":["loadRecord_impl(N/recordImpl)","map(/SuiteScripts/reviewCatUri.js:30)"],"notifyOff":false},"id":"","notifyOff":false,"userFacing":false}
Kevin Carpenter
03/16/2020, 4:29 AMKevin Carpenter
03/16/2020, 4:29 AMtype: record.Type.INVENTORY_ITEM,
Kevin Carpenter
03/16/2020, 4:29 AMINVENTORY_ITEM
part?battk
03/16/2020, 4:30 AMbattk
03/16/2020, 4:30 AMKevin Carpenter
03/16/2020, 4:30 AMvar searchResult = JSON.parse(context.value);
var recordType = searchResult.recordType;
var nsId = searchResult.id;
var itemRec = record.load({
type: recordType
id: nsId
});
Kevin Carpenter
03/16/2020, 4:30 AMbattk
03/16/2020, 4:31 AMbattk
03/16/2020, 4:32 AMKevin Carpenter
03/16/2020, 4:34 AMKevin Carpenter
03/16/2020, 4:34 AMKevin Carpenter
03/16/2020, 4:37 AMKevin Carpenter
03/16/2020, 4:39 AMvar catId = searchResult.columns[3];
battk
03/16/2020, 4:59 AMKevin Carpenter
03/16/2020, 7:51 AMKevin Carpenter
03/16/2020, 7:51 AMbattk
03/16/2020, 7:55 AMKevin Carpenter
03/16/2020, 7:57 AMKevin Carpenter
03/16/2020, 7:57 AMvar searchResult = JSON.parse(context.value);
log.debug(searchResult);
battk
03/16/2020, 7:58 AMbattk
03/16/2020, 7:58 AMbattk
03/16/2020, 8:00 AMlog.debug({
title: "Battk says i should choose a title",
details: searchResult
});
Kevin Carpenter
03/16/2020, 8:04 AMbattk
03/16/2020, 8:04 AMbattk
03/16/2020, 8:05 AMbattk
03/16/2020, 8:05 AMcustitem_kotn_sample_category
when you know its structure looks like:
``````Kevin Carpenter
03/16/2020, 8:05 AMKevin Carpenter
03/16/2020, 8:07 AMvar catId = searchResult.values.custitem_kotn_sample_category.value;
Kevin Carpenter
03/16/2020, 8:07 AMKevin Carpenter
03/16/2020, 8:07 AMKevin Carpenter
03/16/2020, 8:09 AMKevin Carpenter
03/16/2020, 8:09 AMbattk
03/16/2020, 8:10 AMKevin Carpenter
03/16/2020, 8:12 AMbattk
03/16/2020, 8:15 AMKevin Carpenter
03/16/2020, 8:16 AMvar searchResult = JSON.parse(context.value);
log.debug("Search Result", searchResult);
var itemId = searchResult.id;
var recordType = searchResult.recordType;
var catId = searchResult.values.custitem_kotn_sample_category.value;
var itemUrl = searchResult.values.urlcomponent;
log.debug("Category ID: " + catId);
var catRec = record.load({
type: 'sitecategory',
id: catId
});
var parentCatUrl = catRec.getValue({
fieldId: "urlcomponent"
});
log.debug("Parent Category URL: ", parentCatUrl);
var fullUrl = parentCatUrl + "/" + itemUrl;
log.debug("Full URL: " + fullUrl);
var itemRec = record.load({
type: recordType,
id: nsId
});
itemRec.setValue({
fieldId: 'custitem_sample_cat_uri',
value: fullUrl
});
var recordId = itemRec.save({
enableSourcing: false,
ignoreMandatoryFields: true
});
context.write(itemId, fullUrl);
Kevin Carpenter
03/16/2020, 8:16 AMKevin Carpenter
03/16/2020, 8:18 AMvar itemRec = record.submitFields({
type: recordType,
id: itemId,
values: {
'custitem_sample_cat_uri': fullUrl
},
options: {
enableSourcing: false,
ignoreMandatoryFields : true
}
});
Kevin Carpenter
03/16/2020, 8:18 AMbattk
03/16/2020, 8:20 AMKevin Carpenter
03/16/2020, 8:21 AMvar itemRec = record.submitFields({
type: recordType,
id: itemId,
values: {
'custitem_sample_cat_uri': fullUrl
},
options: {
enableSourcing: false,
ignoreMandatoryFields : true
}
});
Kevin Carpenter
03/16/2020, 8:21 AMbattk
03/16/2020, 8:22 AMKevin Carpenter
03/16/2020, 8:23 AMKevin Carpenter
03/16/2020, 8:24 AMKevin Carpenter
03/16/2020, 8:25 AMKevin Carpenter
03/16/2020, 8:25 AM