вы не можете получить целые записи в то время. Тем не менее, вы можете сортировать результаты с помощью internalid и запоминать последний internalId первого результата поиска и использовать дополнительный фильтр в вашем следующем результатах поиска.
var totalResults = [];
var res = nlapiSearchRecord('contact', null, null, new nlobjSearchColumn('internalid').setSort()) || [];
lastId = res[res.length - 1].getId();
copyAndPushToArray(totalResult, res);
while(res.length < 1000)
{
res = nlapiSearchRecord('contact', null, ['internalidnumber', 'greaterthan', lastId], new nlobjSearchColumn('internalid').setSort());
copyAndPushToArray(totalResult, res);
lastId = res[res.length - 1].getId();
}
Опасайтесь, если количество записей велико, вы можете злоупотреблять лимитом управления с точки зрения времени и использования.
Если вы помните lastId, вы можете написать логику в RESTlet, чтобы принять id в качестве параметра, а затем использовать его как дополнительный фильтр для возврата nextPage.
Вы можете написать логику, чтобы получить nth pageresult, но вам, возможно, придется запускать поиск бесполезно n-1 раз.
Кроме того, я хотел бы предложить использовать nlapiCreateSearch().runSearch()
как он может вернуть до 4000 записей
Поможет ли это? https://gist.github.com/Rhaseven7h/8573669 –