2017-05-26 123 views
0

我试图使用nlapiGetLineItemText('item','units',i)获取suitescript 1.0中销售订单的单位文本。这适用于其他选择字段,如'item',但'units'总是返回一个空字符串。 nlapiGetLineItemValue('item','units',i)返回一个似乎与特定单位类型相对应的整数,但我不确定它是如何相关的,或者我是否可以使用它来提取单位文本。Suitescript 1.0 - 获取销售订单中的行项目单位

下面的代码:

var lineCount = nlapiGetLineItemCount('item'); 
var items = []; 
var itemObj = {}; 

var invTypes = ['InvtPart','NonInvtPart','Assembly','Kit']; 

for(let i = 1; i <= lineCount; i++) { 

    let itemType = nlapiGetLineItemValue('item','itemtype',i); 

    if(invTypes.indexOf(itemType) != -1) { 
     let itemObj = { 
      name:nlapiGetLineItemValue('item','description',i), 
      qty:nlapiGetLineItemValue('item','quantity',i), 
      units:nlapiGetLineItemValue('item','units',i), 
      panel_qty:nlapiGetLineItemValue('item','custcol_panelqty',i), 
      panel_ft:nlapiGetLineItemValue('item','custcol_feet',i), 
      panel_in:nlapiGetLineItemValue('item','custcol_inch',i) 
     }; 
     console.log(itemObj); 
     items.push(itemObj); 
    } 
} 

回答

0

可以通过加载它提取从单位类型的记录文本: nlapiLoadRecord('unitstype', nlapiGetLineItemValue('item','units',i)).getFieldValue('name')或通过搜索。

+0

嗯,这是返回错误的价值。我们已经启用了多个测量单位,可能会丢掉东西。 'nlapiGetlineItemValue('item','units',i)'返回单位类型id,而'nlapiLoadRecord('unitstype',value).getFieldValue('name')'返回该单位的度量单位。 –

+0

您可以在列表>计费>计量单位下查看单位。单元记录上的哪个字段是你想要获得的? –