我启用了多地点功能和多地点库存。我需要一种方法来设置或检索位置特定的值,例如“现有位置”,“位置下一个盘点日期”,“位置上一个盘点日期”,“位置库存盘点间隔”。
这些字段可通过“保存的搜索”界面进行访问,但是SuiteAnswers上没有有关如何通过SuiteScript API进行获取的文档。 SuiteScript Records浏览器没有用于访问此子列表的条目。如何在不使用搜索的情况下使用SuiteScript API设置或检索值?
具体来说,我希望能够加载记录,为特定位置设置“下一个库存盘点”日期,然后提交并关闭并实际查看Netsuite中的更改。目前,我发现的唯一解决方法是笨拙地在套件脚本中构建CSV文件并将其提交给作业管理器,但这有其自身的局限性。
最佳答案
子列表名称未记录,并且不受官方支持,但是您仍可以使用IE的子列表ID“位置”来访问它
//load arbitrary item record
var itemRec = nlapiLoadRecord('inventoryitem', 655009)
//find the line with location internal ID 1
var line = itemRec.findLineItemValue('locations','location',1);
//get that line's location count interval
var countinterval = itemRec.getLineItemValue('locations', 'invtcountinterval', line);
//calculate the next count date as today + interval, set up the
//last count date as a string
var lastCountDate = nlapiDateToString(new Date());
var nextCountDate = new Date() + countInterval*MILLISECONDS_IN_DAY;
nextCountDate = nlapiDateToString(nextCountDate);
//set the values on the item
itemRec.setLineItemValue('locations','lastinvtcountdate', line, lastCountDate);
itemRec.setLineItemvalue('locations','nextinvtcountdate', line, nextCountDate);
nlapiSubmitRecord(itemRec);
您可以通过在子列表界面上使用chrome中的“检查元素”之类的东西来发现子列表的字段名称。例如,右键单击任何项目的位置子列表上的“下一个库存盘点日期”标题,然后单击“检查元素”。查看出现的div.listheader,在其上方,您将看到类似
“nextinvtcountdate”将是您插入到nlapiSetLineItemValue的字段参数中的字段ID。
希望能对某人有所帮助。我真不愿意花时间来第一次自己弄清楚这个问题,尽管现在看来更加明显了。
关于netsuite - 如何访问/公开Suitescript中的“库存 Material 位置”子列表字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34936328/