Netsuite - Невозможно получить количество строк подсписка - PullRequest
0 голосов
/ 04 сентября 2018

Я использую запланированный сценарий, чтобы получить количество строк в подсписке в записи клиента, чтобы я мог просмотреть список по списку. Элементы списка имеют пользовательский тип записи (SOW_rec) и являются дочерними элементами клиента. Я могу загрузить запись, но lineCount возвращает только -1 независимо от того, какой идентификатор подсписка я пытаюсь использовать. Как мне найти идентификатор подсписка, где подсписок находится в родительско-дочерних отношениях? Я пробовал искать в & 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 голосов
/ 20 ноября 2018

В справочной статье NetSuite 65795 подробно описывается соглашение об именах для идентификаторов пользовательских дочерних записей

Внутренний идентификатор для пользовательского дочернего подсписка записей: recmach +> field_id_for_the_parent_field (например, recmachcustrecord111).

NetSuite ожидает все строчные буквы для идентификатора.

0 голосов
/ 05 сентября 2018

Ваш код для количества строк неверен. Вам не хватает параметра, необходимого для подсписка. Если это дочерняя запись, она будет связана с полем, перечисленным с пометкой «запись является родительской».

var lineCount = companyRecord.getLineCount({sublistId:"RECMACHCUSTRECORD...."});
0 голосов
/ 05 сентября 2018

Установите флажок «Разрешить редактирование дочерней записи» в дочерней записи, к которой вы пытаетесь обратиться с помощью команды .getLineCount.

Также, как упоминалось в dcrs, команда linecount должна быть var lineCount = companyRecord.getLineCount({sublistId:"RECMACHCUSTRECORD...."});

0 голосов
/ 05 сентября 2018

Когда я смотрю на XML-структуру записи о клиенте (используя & xml = T, добавленную к URL-адресу), я вижу там данные подсписка. Тем не менее, пытаясь запутаться, NetSuite назвал соответствующий XML-элемент <machine>, а не <sublist> или что-то, о чем вы могли бы подумать. Поэтому попробуйте поискать «machine» в записи клиента после загрузки ее с & xml = T - вы должны увидеть несколько ссылок на нее (открывать и закрывать теги для каждого подсписка), каждая из которых содержит <line> подэлементов.

Найдя элементы <machine>, вы увидите, что каждый из них имеет атрибут name, который представляет собой идентификатор подсписка, который вы ищете.

...