2

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

我觉得我在这上面撞到了我的屁股......

我知道每件商品的供应商价格都在每件商品下的子列表中,但我一生都无法弄清楚如何检索所述信息。

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

同样,我尝试在项目记录中为搜索“行”寻找子列表内部 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;
    }
}
4

2 回答 2

2

您也可以在搜索中执行此操作。该字段是供应商成本。请注意,如果您只使用“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'));
});
于 2015-12-23T20:06:43.710 回答
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);
}
于 2015-12-23T15:59:22.090 回答