2017-01-10 8 views
2

Я хочу получить список или tranids custitem1 из подстроки предметов, которые соответствуют моим критериям.Как использовать элемент подписок в моем фильтре поиска netsuite 1.0? Я попытался сделать item.fieldname, но это вызвало ошибку

var filter = new Array(); 
filter[0] = new nlobjSearchFilter('mainline', null, 'is', 'T'); 
filter[1] = new nlobjSearchFilter('item.custitem1', null, 'is', 'myItems'); // this is not working 
var column = new Array(); 
column[0] = new nlobjSearchColumn('tranid'); 
column[1] = new nlobjSearchColumn('createdfrom'); 
var fulFillSOInternalIDs = nlapiSearchRecord('itemfulfillment', null, filter, column); 

ответ

1

Если ваше поле не поддерживает фильтрацию с помощью «anyof», вам нужно будет искать выражения. Кроме того, если вы ищете значения подписок, вам необходимо, чтобы mainline была ложной, поэтому mainline true возвращает только поля тела. Вот как это работает:

var columns = []; 
columns.push(new nlobjSearchColumn("tranid")); 
columns.push(new nlobjSearchColumn("createdfrom")); 

var filters = []; 
filters.push(["mainline", "is", "F"]); 
filters.push("AND"); 
//PARENTHESIS START 
//Looping through myItems array to create the expression 
var parens = []; 
for (var i in myItems){ 
    parens.push(["item.custitem1", "is", myItems[i]]); 
    parens.push("OR"); 
} 
parens.pop();//Remove the last OR 
filters.push(parens); 
//PARENTHESIS END 

var transactionSearch = nlapiSearchRecord("itemfulfillment", null, filters, columns); 
1

Вы должны присоединиться к своему фильтру. вставьте фильтр ниже в код @adolfos.

filter[1] = new nlobjSearchFilter('custitem1', 'item', 'is', 'myItems'); 

 Смежные вопросы

  • Нет связанных вопросов^_^