-1

这就是我可以在编码部分提供的内容:

function beforeSubmit(scriptContext) { var salesorder = scriptContext.newRecord;

    var discount = salesorder.getValue('discountitem');
    if(discount == ''){

        log.debug('Hi');

        var discountSearch = search.load({
            id   : 'customsearch_cg_ue_discount_in_order'    // ID of the saved search created.
        });
                    var searchResult = discountSearch.run().getRange({
            start: 0,
            end: 5
            });

                            for (var i = 0; i < searchResult.length; i++) {
                var  item = searchResult[i].getValue('itemid');
                log.debug('I am here ' + item);
                if(item == 'z10% Discount'){                      // Assigning this discount line on SO form.
                    log.debug('I should print :' + item);

                  salesorder.setText('discountitem',item.id);

                }
            }  

    }

}
4

2 回答 2

0

我们曾经在我的公司这样做,直到我们放弃额外的折扣线(它会扼杀大笔交易的表现)。但是,我们这样做的方式是获取所有行并根据项目行信息向后更新/创建折扣行。

不过,不确定您在代码上的位置。如果您包含代码以及您遇到的问题,查看器将能够更轻松、更快地为您提供帮助。;)

于 2018-04-03T11:54:42.667 回答
-1

有多种方法可以做到这一点,因为这会影响性能。如果行项目较少,那么您可以使用“提交前”。

var count = nlapiGetLineItemCount('item'); for(var i=1;i<=count;i++){ //Insert new lines for each discount }

于 2018-04-04T07:09:25.243 回答