У меня есть следующий код, который выполняет поиск, а затем просто останавливается.
for (var i=1; i<=numberItems; i++ ) {
nlapiInsertLineItem(SUBLIST_Items,1);
var itemID = vendorItems[i].getId();
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_item',itemID );
var avgCost = Round(nlapiLookupField(itemType,itemID,'averagecost'),4);
var stdCost = Round(nlapiLookupField(itemType,itemID,'custitem_costrepl'),4);
var lastCost = Round(nlapiLookupField(itemType,itemID,'lastpurchaseprice'),4);
if (isNaN(avgCost)) { avgCost = '' };
if (isNaN(stdCost)) { stdCost = '' };
if (isNaN(lastCost)) { lastCost = '' };
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_costavg', avgCost );
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_costlast', lastCost );
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_coststd', stdCost );
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_vendorcurrency',vendorItems[i].getValue('vendorpricecurrency'));
nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_currentprice',vendorItems[i].getValue('vendorcost'));
nlapiCommitLineItem(SUBLIST_Items);
}
Все это выполняется как клиентский сценарий, запускаемый кнопкой в записи поставщика.
В этой функции есть несколько подфункций (например, поиск и т. Д.).
Я не могу найти причину, по которой код останавливался.
если я закомментирую цикл «while», он запускает новое окно и т. д., и создается основная запись (VprRecord), но без элементов подсписка.
Что-то мне здесь не хватает? Я не опытный JS-программист, но основы есть. Разрешено ли ограниченное количество вложенных функций или что-то в этом роде?
У меня есть только одна запись, так что управление не должно быть проблемой.
Добавление моей функции поиска, которая возвращает объект результата поиска:
function getVendorItems(vendorid) {
try {
var filters = new Array();
var columns = new Array();
filters[0] = new nlobjSearchFilter('vendorcost', null, 'greaterthan', 0);
filters[1] = new nlobjSearchFilter('internalid', 'vendor', 'anyof', vendorid );
columns[0] = new nlobjSearchColumn('itemid');
columns[1] = new nlobjSearchColumn('entityid', 'vendor');
columns[2] = new nlobjSearchColumn('vendorcost');
columns[3] = new nlobjSearchColumn('vendorcode');
columns[4] = new nlobjSearchColumn('vendorpricecurrency');
//columns[5] = new nlobjSearchColumn('preferredvendor');
var searchresults = nlapiSearchRecord('item', null, filters, columns );
return searchresults;
} catch (err) { logError(err,'VPR_getVendorItems: (Vendor: '+vendorid+')' ) }
}
try { ...} catch(e){console.dir(e);}
. Похоже, что на стороне клиента есть ошибка JS, которая блокирует выполнение остальной части кода. Используйте консоль браузера с помощью F12, чтобы увидеть ошибку - person prasun   schedule 30.12.2015searchResultls[numberItem].getValue(FIELD_ID)
- person prasun   schedule 30.12.2015