将销售订单记录转换为物料履行的问题&现金出售

时间:2017-03-03 04:21:54

标签: javascript transform netsuite suitescript

我正在尝试创建一个简单的afterSubmit用户事件脚本,该脚本可立即为销售订单上的礼品券项目创建项目履行记录和现金销售。但是,我在项目履行部分遇到问题,其中显示了其他项目,但没有显示礼品证书。例如,我将有4个项目,其中两个是礼品券。物品履行中只显示两个项目。两者都不是礼品卡。

现金销售转换也不允许我删除订单项。我甚至尝试在创建之后直接开放新创建的现金销售,但没有运气。

有什么想法吗?

function main(type){
    if (type == 'create'){
        //transform for cashsale
        var soId = nlapiGetRecordId();
        var csRec = nlapiTransformRecord('salesorder', soId, 'cashsale');
        var lcount = csRec.getLineItemCount('item');
        for (var i = 1; i <= lcount; i++){
            csRec.selectLineItem('item', i);
            var itemType = csRec.getCurrentLineItemValue('item', 'itemtype', i);
            if (itemType != 'GiftCert') {
                csRec.removeLineItem('item', i);
            }
        }
        nlapiSubmitRecord(csRec);

        //transform for item fulfillment
        var ifRec = nlapiTransformRecord('salesorder', soId, 'itemfulfillment');
        var lcounttwo = ifRec.getLineItemCount('item');

        for (var i = 1; i <= lcounttwo; i++){
            ifRec.selectLineItem('item', i);
            var ifType = ifRec.getCurrentLineItemValue('item', 'itemtype', i);
            if (ifType != 'GiftCert') {
                ifRec.removeLineItem('item', i);
            }
        }
        nlapiSubmitRecord(ifRec);
    }
}

1 个答案:

答案 0 :(得分:1)

根据您的礼品证书的设置方式,可能的问题是礼品证书的设置是为了不能满足/接收。

如果您转到销售订单并创建现金销售,您应该在那里看到礼品证书,如果您这样做,那么您的脚本应该只计算礼品证书,而不是尝试实现它