2017-01-27 4 views
0

Я обычно не использую объекты JS, но тестировал этот chrome-плагин (экспорт как скрипт), где вы можете в основном генерировать код сценария из поиска. У меня проблемы с синтаксисом.NetSuite - проблема поиска

function GetEmployee() 
 
{ 
 
\t var columns = []; 
 
\t var employeeSearch = nlapiSearchRecord('employee'[['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]], [columns[0] = new nlobjSearchColumn('internalid'), ]); 
 
\t if(employeeSearch) 
 
\t { 
 
\t \t for (var i = 0; employeeSearch != null && i < employeeSearch.length; i++) 
 
\t \t { 
 
\t \t \t var record = nlapiLoadRecord('employee', employeeSearch[0].getValue(columns[0])); 
 
\t \t \t var id = record.getId(); 
 
\t \t \t nlapiLogExecution('DEBUG', 'return id', id) 
 
\t \t } 
 
\t } 
 
\t return true; 
 
}

Ошибка: Этот поиск или массовое обновление не существует. Мой сохраненный поиск возвращает запись, поэтому я ожидал, что код будет делать то же самое ...

ответ

2

Неправильные параметры вашего nlapiSearchRecord. Вы забыли запятую после «employee», а второй paramenter - поисковый фильтр.

var employeeSearch = nlapiSearchRecord('employee', null, [['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]], [new nlobjSearchColumn('internalid') ]); 

Кроме того, у вас уже есть internalid сотрудника, почему вы хотите использовать поиск?

И вы всегда получаете «internalid», вам не нужно снова добавлять столбец для этого.

var employeeSearch = nlapiSearchRecord('employee', [['access', 'is', 'T'], "AND", ["internalid", "anyof", "121212"]]); 
if(employeeSearch.length){ 
    for(var i = 0; i < employeeSearch.length; ++i){ 
     nlapiLogExecution('AUDIT', 'id', employeeSearch[i].id); 
    } 
} 

Вы можете непосредственно использовать nlobjSearchResult.id

+0

Спасибо за это. – MG2016

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