Netsuite重新分配日志问题

时间:2017-12-12 21:39:55

标签: javascript logging netsuite

更新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');

似乎它会让我获得行数,但却取而代之的是“-1”。

原 我是一个新的管理员,我一直在努力找出我们一直有的这个长期问题。 我需要在重新分配项目页面中编写一个脚本,以便每当有人更改该页面上的值时, 执行日志吐出已更改的项,提交的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在内部调用这些内容是什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以在记录浏览器中找到SuiteScript可用的标准字段和子列表。 Here是有关Reallocate Items事务类型的文档。

  • 注意:该链接使用的是标准的system.netsuite.com / .... url。相应地修改它以适用于您登录的任何数据中心(即system.na1,system.na2,system.sandbox等)