Netsuite-无法获得子列表行数

时间:2018-09-04 18:44:40

标签: netsuite suitescript suitescript2.0

我正在使用计划脚本来获取客户记录上子列表的行数,因此可以遍历该列表。列表项是自定义记录类型(SOW_rec),并且是客户的子级。我能够加载记录,但是无论我尝试使用哪个子列表ID,lineCount都只会返回-1。如何在子列表具有父子关系的地方找到子列表ID?我试过在&XML = T中查找,但是那里没有子列表数据。

 var companyRecord = record.load({
        type: record.Type.CUSTOMER, 
        id: company,
        isDynamic: true,
    });
    log.debug({
        title: 'companyrecord', 
        details: companyRecord
     });
    var lineCount = companyRecord.getLineCount('SOW_Rec');

    log.debug({
        title: 'linecount', 
        details: lineCount
     });

4 个答案:

答案 0 :(得分:1)

您的行数代码不正确。您缺少子列表所需的参数。如果这是子记录,则将通过选中“记录为父”的字段进行链接。

var lineCount = companyRecord.getLineCount({sublistId:"RECMACHCUSTRECORD...."});

答案 1 :(得分:0)

当我查看客户记录的XML结构(使用附加到URL的&xml = T)时,我可以在那里看到子列表数据。但是,为了进行彻底有效的混淆,NetSuite调用了相关的XML元素<machine>而不是<sublist>或您可能自然想到的东西。因此,在使用&xml = T加载客户记录后,尝试在“客户记录”上搜索“机器”-您应该看到对其的多个引用(每个子列表的打开和关闭标签),每个引用都带有<line>子元素。

找到<machine>元素后,您将看到每个元素都有一个name属性,这是您要查找的子列表ID。

答案 2 :(得分:0)

选中要使用.getLineCount命令访问的子记录上的“允许子记录编辑”复选框。

此外,如dcrs所述,linecount命令应为var lineCount = companyRecord.getLineCount({sublistId:"RECMACHCUSTRECORD...."});

答案 3 :(得分:0)

NetSuite帮助文章65795详细介绍了自定义子记录子列表ID的命名约定

  

自定义子记录子列表的内部ID是recmach +> field_id_for_the_parent_field(例如:recmachcustrecord111)。

NetSuite期望ID的所有小写字母。