Suitescript返回所选项目的供应商价格

时间:2015-12-23 10:37:52

标签: javascript netsuite suitescript

晚上好,圣诞快乐!

我觉得我在天空中碰到了我的屁股......

我知道每个项目的供应商价格都在每个项目下的子列表中,但我不能在我的生活中知道如何检索所述信息。

我尝试过搜索,但它只是拒绝工作。

同样,我尝试在项目记录中寻找搜索“行”的子列表内部ID,但没有运气。我确实读过有关'itemvendor'子列表的地方,但是无法识别itemRecord.getItemLineCount('itemvendor')。

有人想过吗?

干杯

史蒂夫

编辑:我能够使用以下代码实现所需的结果(与@Mike Robbins代码示例基本相同):

var itemRecord = nlapiLoadRecord('inventoryitem',itemID);
var lines = itemRecord.getLineItemCount('itemvendor');
for (var i=1; i <= lines; i++) {
    var vendor = itemRecord.getLineItemValue ('itemvendor','vendor',i);
    if (vendor == vendorID ) {
        nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_currentprice',itemRecord.getLineItemValue('itemvendor','purchaseprice',i))
        nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_vendorcurrency',itemRecord.getLineItemValue('itemvendor','vendorcurrencyname',i))
        nlapiSetCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_prefer',itemRecord.getLineItemValue('itemvendor','preferredvendor',i))
        i = lines + 1;
    }
}

2 个答案:

答案 0 :(得分:2)

您也可以在搜索中执行此操作。该字段是vendorcost。请注意,如果您只使用“vendor”而不是“entityid”,“vendor”,您将获得首选供应商信息:

nlapiSearchRecord('item', null, [
    new nlobjSearchFilter('vendorcost', null, 'greaterthan', 0),
    new nlobjSearchFilter('itemid', null, 'contains', 'cable')
], [
    new nlobjSearchColumn('itemid'),
    new nlobjSearchColumn('entityid', 'vendor'),
    new nlobjSearchColumn('vendorcost')
]).forEach(function(it) {
    console.log(it.getValue('itemid') + ' ' + it.getValue('entityid', 'vendor') + ' ' + it.getValue('vendorcost'));
});

答案 1 :(得分:0)

您的正确性是itemvendor子列表具有供应商购买价格。这段代码对我有用:

var item = nlapiLoadRecord('inventoryitem', 122)
var lineItemCount = item.getLineItemCount('itemvendor');
for (var i = 1; i <= lineItemCount; i++) {
    var cost = item.getLineItemValue('itemvendor', 'purchaseprice', i);
    nlapiLogExecution('debug', 'cost', cost);
}