首页 > 解决方案 > 从 netsuite 为客户获取子列表

问题描述

以下是客户使用的子记录currentRecord.getSublists();

我越来越喜欢["currency","creditcards","grouppricing","itempricing","systemnotes","access","activeworkflows","recmachcustrecord2","recmachcustrecord_2663_parent_cust_ref","subscriptions"]

用于recmachcustrecord2子记录。我想存储到另一个变量中

    var sublistFieldValue = currentRecord.getSubrecord({
        fieldId: 'recmachcustrecord2'
    });

但我越来越喜欢

"type":"error.SuiteScriptError","name":"FIELD_1_IS_NOT_A_SUBRECORD_FIELD","message":"字段 custrecord_acceptable_min_shelf_life 不是子记录字段。","stack":["anonymous(N/serverRecordService)","onAfterSubmit( /SuiteScripts/cus.js:38)"],"cause":{"type":"internal error","code":"FIELD_1_IS_NOT_A_SUBRECORD_FIELD","details":"字段 custrecord_acceptable_min_shelf_life 不是子记录字段。"," userEvent":"aftersubmit","stackTrace":["anonymous(N/serverRecordService)","onAfterSubmit(/SuiteScripts/cus.js:38)"],"notifyOff":false},"id":"", “notifyOff”:假,“userFacing”:假}

提前致谢!

标签: netsuitesuitescript

解决方案


currentRecord.getSublists()用于获取当前记录上的子列表列表,而子列表不是子记录。根据您的示例,您需要使用getSublist如下

sublist = currentrecord.getSublist({ sublistId: 'recmachcustrecord2' });

子列表表示记录,因此您可以直接从子列表本身编辑/读取数据。要读取和编辑子列表中的字段,您可以使用以下命令

// to read values from sublist
currentrecord.getSublistValue({ sublistId: 'recmachcustrecord2', fieldId: SUBLIST_FIELD_ID, line: LINE# });
// to edit values
currentrecord.selectLine({ sublistId: 'recmachcustrecord2', fieldId: SUBLIST_FIELD_ID, line: LINE# });
currentrecord.setCurrentSublistValue({ sublistId: 'recmachcustrecord2', fieldId: SUBLIST_FIELD_ID, line: LINE#, value: VALUE });
currentrecord.commitLine({ sublistId: 'recmachcustrecord2' });

推荐阅读