适用于返回所选物料的供应商价格的说明

Suitescript to return a the vendor prices for a selected item

本文关键字:供应商 说明 返回 适用于      更新时间:2023-09-26

大家晚上好,圣诞快乐!!

我觉得我在撞天。。。

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

我试过搜索,但就是不起作用。

同样,我也尝试过为项目记录中的搜索"行"寻找子列表内部id,但没有成功。我确实读过一些关于"itemvendor"子列表的内容,但itemRecord.getItemLineCount("itemvender")无法识别。

有什么想法吗?

干杯

Steve

编辑:我用以下代码(基本上与@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;
    }
}

您也可以在搜索中执行此操作。该领域是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'));
});

您的正确之处在于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);
}