更新发票行字段

时间:2019-07-19 15:22:57

标签: netsuite suitescript2.0

我们所有客户的发票都是按月订阅,基于当月数量(每个月的发票都不同)。我们已将SalesForce的每月数量链接到NetSuite客户记录,我希望每个月的发票自动更新为正确的数量。

我们当前通过csv导入更新数量。每个发票只有一个订单项,我认为这会使此过程相对容易。我目前有保存的搜索,如下面的代码所示,带来了数量字段,因此我们可以重新导入。

/**
 *@NApiVersion 2.x
 *@NScriptType ScheduledScript
 */
define(['N/search', 'N/record', 'N/email', 'N/runtime'],
/**
 * 
 * @param {search} search 
 * @param {record} record 
 * @param {email} email 
 * @param {runtime} runtime 
 */
function(search, record, email, runtime) {
    function execute(context) {

        var searchid = runtime.getCurrentScript().getParameter({'name': 'custscript_customsearch630'});

        search.load({'id': searchid}).run().each(function(result){
            var newQuantity = result.getValue({'name': 'custentitynumber_lives.customer'});
            var internalId = result.getValue({'name': 'internalid'});


        var invoice = record.load({'type': record.Type.INVOICE,'id': internalId,'isDynamic': true});
        var sublistId = 'item';

        invoice.selectLine({'sublistId': sublistId, 'line' : 1});
        invoice.setCurrentSublistValue({'sublistId': sublistId, 'fieldId':'quantity', 'value': newQuantity});
        invoice.commitLine({'sublistId': sublistId});

        invoice = invoice.save({'ignoreMandatoryFields': true})

        return true;

        });
    }

    return {
        'execute': execute
    };
});

我目前为此收到以下错误:

{"type":"error.SuiteScriptError","name":"USER_ERROR","message":"Please choose an item to add","stack":["anonymous(N/serverRecordService)"

0 个答案:

没有答案