javascript - 将销售订单记录转换为 Material 履行和现金销售的问题

标签 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);
    }
}

最佳答案

根据您的礼品证书的设置方式,可能的问题是礼品证书的设置可能无法履行/接收。

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

关于javascript - 将销售订单记录转换为 Material 履行和现金销售的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42570600/

相关文章:

javascript - 选择数组中的项目 - Javascript - 使用 Filter 方法

javascript - 如何将事件传递给 setState 回调函数?

xml - XSLT 使用命名空间转换 XML

jquery - 将鼠标悬停在按钮上时按精确变换度数旋转对象

CSS3 webkit 动画 2d 问题

c# - 尝试获取带有链接到代码和名称的枚举值的 NetSuite 国家/地区列表

javascript - 如何将项目推送到 Vuejs 中数据对象的数组中? Vue 似乎没有在看 .push() 方法

javascript - 命名匿名函数安全吗?

javascript - 有没有办法编写使子列表字段列变灰的客户端脚本(Netsuite 2.0)?

netsuite - 验证 Netsuite 中的内联编辑