更新2:此代码工作pt不会显示原始值,我认为它是因为它在提交之前和提交之后,不知道这是否可以解决
//outputs all items remaining on an realocate thingy
var STOIC = STOIC || {};
STOIC.example = (function () {
var exports= {};
// shows original values, does not work, only shows new value.
function beforeSubmit(type, form, request) {
var record = nlapiGetOldRecord();
var itemID = nlapiGetFieldValue('item');
var lineCount = nlapiGetLineItemCount('order');
var totalqtyCom = nlapiGetFieldValue('quantitycommitted');
for ( var i = 1; i < lineCount + 1; i++ )
{
var qtyCom = nlapiGetLineItemValue('order', 'quantitycommitted', i);
var orderNum = nlapiGetLineItemValue('order', 'ordernumber', i);
var qtyRem = nlapiGetLineItemValue('order', 'quantityremaining', i);
if(i == 1)
{
nlapiLogExecution("DEBUG", "STOIC.example.beforeSubmit",
"START-BEFORE:" + itemID + ":Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
else
if(i == lineCount)
{
nlapiLogExecution("DEBUG", "STOIC.example.beforeSubmit",
"END-BEFORE:" + ":Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
else
nlapiLogExecution("DEBUG", "STOIC.example.beforeSubmit",
"Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
}
//shows the new value
function afterSubmit(type, form, request) {
var record = nlapiGetOldRecord();
var itemID = nlapiGetFieldValue('item');
var lineCount = nlapiGetLineItemCount('order');
var totalqtyCom = nlapiGetFieldValue('quantitycommitted');
for ( var i = 1; i < lineCount + 1; i++ )
{
var qtyCom = nlapiGetLineItemValue('order', 'quantitycommitted', i);
var orderNum = nlapiGetLineItemValue('order', 'ordernumber', i);
var qtyRem = nlapiGetLineItemValue('order', 'quantityremaining', i);
if(i == 1)
{
nlapiLogExecution("DEBUG", "STOIC.example.afterSubmit",
"START-AFTER:" + itemID + ":Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
else
if(i == lineCount)
{
nlapiLogExecution("DEBUG", "STOIC.example.afterSubmit",
"END-AFTER:" + ":Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
else
nlapiLogExecution("DEBUG", "STOIC.example.afterSubmit",
"Order " + orderNum + ", qtyRem " + qtyRem + ", qtyCom" + qtyCom);
}
}
function beforeLoad() { // will not fire
nlapiLogExecution("DEBUG", "STOIC.example.beforeLoad",
"testing?");
}
exports.beforeSubmit = beforeSubmit;
exports.afterSubmit = afterSubmit;
exports.beforeLoad = beforeLoad;
return exports;
}
)();
更新:所以对于重新分配页面id想要它 - 计算行数 - 使用for循环输出订单号,客户和数量。 - 我希望在提交之前和提交之后运行。这应该让它向我展示承诺的原始数量以及现在承诺的新数量。 期运用 var lineCount = nlapiGetLineItemCount('quantitycommitted');
原 我是一个新的管理员,我一直在努力找出我们一直有的这个长期问题。 我需要在重新分配项目页面中编写一个脚本,以便每当有人更改该页面上的值时, 执行日志吐出已更改的项,提交的qty的先前值和提交的qty的新值。 我看了看网络,支持网站和论坛,并没有发现任何有用的东西。 我不确定内部的netsuite会调用qty。
这是我已经得到的 api 1.0
var STOIC = STOIC || {};
STOIC.example = (function () {
var exports= { };
function beforeSubmit(item) {
var NumLines= nlapisGetLineItemCount(‘item’);
for ( var I = 1; i < NumLines + 1; i++)
// something along the lines of…
// if ( original quantity* != current qty*)
//nlapiLogExecution(“debug”, ???, itemname* “old:” + original qty + “ new:” + new qty*);
})();
* netsuite在内部调用这些内容是什么?
非常感谢
答案 0 :(得分:0)
您可以在记录浏览器中找到SuiteScript可用的标准字段和子列表。 Here是有关Reallocate Items事务类型的文档。