【发布时间】:2015-12-30 11:13:25
【问题描述】:
我上一个问题的继续:Suitescript Code stops for no apparent Reason
子记录(子列表项)未保存/创建并链接到父记录。代码如下。
try {
var vendorid = nlapiGetRecordId(); console.dir('Vendor ID: #'+vendorid);
var vprRecordID = create_VPR_record(vendorid); console.dir('Record Created: #'+vprRecordID);
var newVprRecord = nlapiLoadRecord('customrecordvendorpricereview', vprRecordID);
var vendorItems = getVendorItems(vendorid);
var numberItems = vendorItems.length;
for (var i=1; i<numberItems; i++ ) {
newVprRecord.selectNewLineItem(SUBLIST_Items);
var itemID = parseInt(vendorItems[i].getId());
var iType = itemType(itemID);
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_item',itemID);
var avgCost = Round(nlapiLookupField(iType,itemID,'averagecost'),4);
var stdCost = Round(nlapiLookupField(iType,itemID,'custitem_costrepl'),4);
var lastCost = Round(nlapiLookupField(iType,itemID,'lastpurchaseprice'),4);
if (isNaN(avgCost)) { avgCost = '' };
if (isNaN(stdCost)) { stdCost = '' };
if (isNaN(lastCost)) { lastCost = '' };
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_costavg', avgCost );
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_costlast', lastCost );
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_coststd', stdCost );
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_vendorcurrency',vendorItems[i].getValue('vendorpricecurrency'));
newVprRecord.setCurrentLineItemValue(SUBLIST_Items,'custrecordvpri_currentprice',vendorItems[i].getValue('vendorcost'));
newVprRecord.commitLineItem(SUBLIST_Items);
log('Commit Line #'+i+' Item ID: '+itemID+' '+vendorItems[i].getValue('itemid'));
}
var linecount = newVprRecord.getLineItemCount(SUBLIST_Items); console.dir('Line Count #'+linecount );
nlapiSubmitRecord(newVprRecord); console.dir('Resubmitting Record #'+vprRecordID+'\n\n'+newVprRecord );
var url = nlapiResolveURL('record', 'customrecordvendorpricereview', vprRecordID, 'edit');
window.open(url, "New Vendor Price Review");
} catch (err) {
logError(err,'Create_VPR_Main')
}
将子记录链接到主记录的字段是custrecordvpri_header,输入为子列表名称recmachcustrecordvpri_header。
for 循环后的行数显示为 -1
【问题讨论】:
-
我知道我的代码有点凌乱,但一旦我得到它的关键功能,我会解决这个问题。
-
子记录中也没有创建“子”记录。我目前没有使用 nlapiAttachRecord,它的成本为 10 点,所以我希望有另一种方法来链接它们。
-
您的意思是您已将自定义子列表应用于标准供应商记录,并且使用子列表 API 您无法将其记录插入供应商?
-
“父”记录是
customrecordvendorpricereview,该记录的父是供应商,因此这些行不直接链接到标准供应商记录 -
您在哪种记录类型上运行此客户端脚本?看起来您正在在浏览器上打开的当前客户记录上设置子列表,并且您正在
nlobjRecord上提交。
标签: netsuite suitescript