晚上好,圣诞快乐!
我觉得我在天空中碰到了我的屁股......
我知道每个项目的供应商价格都在每个项目下的子列表中,但我不能在我的生活中知道如何检索所述信息。
我尝试过搜索,但它只是拒绝工作。
同样,我尝试在项目记录中寻找搜索“行”的子列表内部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;
}
}
答案 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);
}