Как прочитать данные подсписка в netsuite? - PullRequest
0 голосов
/ 30 ноября 2018

Я новичок в suitescript.Откровенно говоря, я едва написал два сценария, увидев другие сценарии, которые немного просты.

Мой вопрос заключается в том, как прочитать данные из подсписка и вызвать другую форму.

Вот мое требование.

Я хочу прочитать данные о значениях элементов, выделенные желтым цветом

Когда я читаю этот конкретный элемент в переменной, я хочу вызвать форму ассемблера в netsuite и получить одинзначение.

//Code

function userEventBeforeLoad(type, form, request)
{

nlapiLogExecution('DEBUG', 'This event is occured while ', type);

    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);

                }

        }

}

Как я могу продолжить?

Я хочу прочитать значение поля флажка на следующем изображении, когда получу значение элемента сверху

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я пытался достичь своей цели и добился успеха.Вот ответ.

функция 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 );

                    }

                }

        }

}

}

0 голосов
/ 30 ноября 2018

Я рекомендую заглянуть на страницу «API списков» в справке NetSuite;в нем должны быть описаны многие методы, с которыми вы будете работать.

В частности, вы захотите взглянуть на nlobjRecord.getLineItemValue().

Вот видео, как работать с подсписками в 1.0против 2.0: https://www.youtube.com/watch?v=n05OiKYDxhI

...