我如何在SuiteScript 2.0中获得recordRef?

问题描述 投票:0回答:1

我正在尝试编写一个Restlet来在NetSuite中创建销售订单,并且需要在字段中输入item recordRef类型,但是我不知道如何获得它,或者如何编写它。拜托,你能帮我吗?

这里是recordRef模式https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2017_1/schema/other/recordref.html?mode=package

下一个我的脚本=>

function CreateNetSuiteOrder(requestBody) {

        var salesOrder = record.create({
            type: record.Type.SALES_ORDER,
            isDynamic: true,
            defaultValues: {
                entity: 9999999999
            }
        });

        salesOrder.setValue({ fieldId: 'trandate', value: new Date('5/07/2020') });

        var subrec = salesOrder.getSubrecord({
            fieldId: 'shippingaddress'
        });

        subrec.setValue({ fieldId: 'addr1', value: '123 street' });
        subrec.setValue({ fieldId: 'city', value: 'city' });
        subrec.setValue({ fieldId: 'state', value: 'state' });
        subrec.setValue({ fieldId: 'zip', value: 'CA' });
        subrec.setValue({ fieldId: 'addressee', value: 'John' });
        subrec.setValue({ fieldId: 'attention', value: 'John' });


        salesOrder.selectNewLine({
            sublistId: 'item'
        });

        salesOrder.setCurrentSublistValue({
                sublistId: 'item',
                fieldId: 'item',
                value: // i should put RecordRef here
        });

            salesOrder.setCurrentSublistValue({
                sublistId: 'item',
                fieldId: 'quantity',
                // value: item.quantity_order
                value: 3
            });

            salesOrder.setCurrentSublistValue({
                sublistId: 'item',
                fieldId: 'rate',
                value: 34.0
            });

            salesOrder.commitLine({
                sublistId: 'item'

            });

            salesOrder.save(
                {
                 enableSourcing: false,
                ignoreMandatoryFields: true

})

netsuite suitescript2.0 abrecordref
1个回答
0
投票

A RecordRef是在NetSuite wsdl中导出的另一个类。它主要用于选择类型字段,您可以在其中指定内部ID或要在该字段中输入的值的文本。

salesOrder.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'item',
    value: new RecordRef() {
       internalId: "123"
    }
});

我使用一些扩展方法来简化RecordRef的使用。他们看起来像这样:

public static class NsExtensions
{
    public static RecordRef ToRecordRef(this int value)
    {
        return new RecordRef
        {
            internalId = value.ToString()
        };
    }
}

有了此扩展名,上面的代码将如下所示:

salesOrder.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'item',
    value: 123.ToRecordRef()
});
© www.soinside.com 2019 - 2024. All rights reserved.