Фильтр поиска Netsuite в скрипте

#netsuite

Вопрос:

У меня есть сценарий действия рабочего процесса с переменной «сборка», которая содержит внутренний идентификатор элемента (тип всегда сборка). Теперь я хочу найти спецификации для этого товара. Однако мой поиск возвращает «Фильтр nlobjsearch содержит недопустимые критерии поиска: идентификатор». Попытка «internalid» также не работает. Если кто-нибудь может помочь, это было бы здорово.

     var filters = new Array();
            filters[filters.length] = new nlobjSearchFilter('internalid', 'assemblyitem', 'is', assembly);

    var columns = new Array();
    columns[columns.length] = new nlobjSearchColumn('internalid');

    var searchResults = nlapiSearchRecord('bom', null, filters, columns);

    var internalId = searchResults[1].getId();
    var bom = searchResults[1].getValue('internalid');
 

Ответ №1:

Вы подтвердили, что значение переменной assembly является допустимым внутренним идентификатором элемента сборки?

Также иногда, хотя, возможно, только в прошлом, у меня возникали проблемы с поиском внутренних идентификаторов, когда скалярный тест не работает, но работает следующее:

 var filters = [
    new nlobjSearchFilter('internalid', 'assemblyitem', 'anyof', [assembly])
];
 

Также следует попробовать еще одну вещь (даже если в словаре данных ее нет)::

 var filters = [
    new nlobjSearchFilter('assemblyitem', null, 'anyof', [assembly])
];