Как прочитать данные подсписка в netsuite?
Я новичок в suitescript. Открыто говоря, я едва написал два сценария, видя другие сценарии, которые немного просты.
У меня вопрос, как можно прочитать данные из подсписка и вызвать другую форму.
Вот мое требование. Я хочу прочитать данные значений элемента, выделенные желтым цветом
Когда я читаю этот конкретный элемент в переменной, я хочу вызвать ассемблерную форму в netsuite и получить одно значение.
До сих пор я написал, и я не могу двигаться вперед. Пожалуйста, помогите мне.
//Код
function userEventBeforeLoad(тип, форма, запрос) {
nlapiLogExecution ('DEBUG', 'Это событие происходит при', тип);
if(type == 'create' || type == 'copy' || type == 'edit')
{
var recType = nlapiGetRecordType(); //Gets the RecordType
nlapiLogExecution('DEBUG', 'recType', recType);
//
if(recType == 'itemreceipt')
{
nlapiLogExecution('DEBUG', 'The following form is called ',recType);
//var itemfield = nlapiGetFieldValue('item')
//nlapiLogExecution('DEBUG','This value is = ',itemfield);
var formname = nlapiLoadRecord('itemreceipt',itemfield);
nlapiLogExecution('DEBUG','This value is = ',formname);
}
}
}
Пожалуйста, помогите мне, как продолжить.
1 ответ
Я рекомендую заглянуть на страницу "API списков" в справке NetSuite; в нем должны быть описаны многие методы, с которыми вы будете работать.
В частности, вы хотите посмотреть на nlobjRecord.getLineItemValue()
,
Вот видео о том, как работать с подсписками в версии 1.0 и 2.0: https://www.youtube.com/watch?v=n05OiKYDxhI
Я пытался достичь своей цели и добился успеха. Вот ответ.
function userEventBeforeLoad (тип, форма, запрос) {
if(type=='copy'|| type =='edit' || type=='create'){
var recType = nlapiGetRecordType(); //Gets the RecordType
nlapiLogExecution('DEBUG', 'recType', recType);
//
if(recType == 'itemreceipt')
{
nlapiLogExecution('DEBUG', 'The following form is called ',recType);
var itemcount = nlapiGetLineItemCount('item');
nlapiLogExecution('DEBUG','This value is = ',+itemcount);
for(var i=1;i<=itemcount;i++)
{
var itemvalue = nlapiGetLineItemValue('item','itemkey',i);
nlapiLogExecution('DEBUG','LineItemInternalID = ',itemvalue);
var itemrecord = nlapiLoadRecord('assemblyitem', itemvalue);
nlapiLogExecution('DEBUG','BOM= ',itemrecord);
if(itemrecord == null){
var itemrecord = nlapiLoadRecord('inventoryitem', itemvalue);
nlapiLogExecution('DEBUG','BOM= ',itemrecord);
}
var value = itemrecord.getFieldValue('custitem_mf_approved_for_dock_to_stock');
nlapiLogExecution('DEBUG',"Checkboxvalue = ",value);
if(value == 'F'){
nlapiSetLineItemValue('item','location',i,9);
nlapiSetLineItemDisabled ('item','location',false,i );
}
else{
nlapiSetLineItemValue('item','location',i,1);
nlapiSetLineItemDisabled ('item','location',true,i );
}
}
}
}
}