【问题标题】:Relate/link vendor bill to purchase order in Netsuite将供应商账单关联/链接到 Netsuite 中的采购订单
【发布时间】:2018-12-28 22:06:22
【问题描述】:

我已经使用 nlapiCreateRecord 创建了供应商账单,我可以在系统中看到包含我想要的所有项目的账单记录,但我无法将其关联/链接到本机的特定采购订单。当我使用 nlapiTransformRecord 时,我首先从 PO 中删除所有记录,然后从 CSV 添加新行项目,但是 PO 和供应商 Bill 之间的本地链接/关系缺失。这是我为从 CSV 导入账单创建的代码:

function BillImport() {

var fromrecord;
  var fromid;
  var torecord;
  var record;
  var qty;

  fromrecord = 'purchaseorder';
  fromid = 23664;
  torecord = 'vendorbill';

var loadedBillFile = nlapiLoadFile(5034);
var loadedBillString = loadedBillFile.getValue();
var BillLines = loadedBillString.split('\r\n'); //split on newlines

  record = nlapiTransformRecord(fromrecord, fromid, torecord);
  //trecord.setFieldValue('location', 1);
  //trecord.setFieldValue('tranid', 'TEST!');

  //var record = nlapiCreateRecord('vendorbill');

    for (var j = record.getLineItemCount('item'); j>=1; j--)
   {

       record.removeLineItem('item',j);

   }

    for (var i = 1; i < BillLines.length; i++) {
     var cols = BillLines[i].split(';');

     var dsplit = cols[4].split(".");
     var date = new Date(dsplit[2],dsplit[1],dsplit[0]);
     currentDate = date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear();


  var entity = cols[0]; // OK HEAD
  var currency = cols[1]; // OK LINE
  var taxcode = cols[2]; // SKIP
  var tranid = cols[3]; // OK HEAD
  var trandate = currentDate; // OK HEAD FORMAT 11/3/2016
  var location = 21;//cols[5]; // OK HEAD (ID of Location)
  var item = cols[6]; // OK LINE
  var quantity = cols[7];
  var rate = parseFloat(cols[8]); // FLOAT
  var amount = parseFloat(cols[9]);
  var po = cols[10];


  record.selectNewLineItem('item');

  // Head Level
  record.setFieldValue('createdfromstatus','');
  record.setFieldValue('entity', entity);
  record.setFieldValue('tranid', tranid);
  record.setFieldValue('trandate', trandate);
  record.setFieldValue('location', location);

  // Line Level
  record.setCurrentLineItemValue('item','item', item); 
  record.setCurrentLineItemValue('item','quantity', quantity); 
  record.setCurrentLineItemValue('item','rate', rate);
  record.setCurrentLineItemValue('item','amount', amount);
  //record.setCurrentLineItemValue('item','orderdoc', po);
  //record.setCurrentLineItemValue('item','podocnum', po);

  record.commitLineItem('item');   

  }

  var id = nlapiSubmitRecord(record, true);

  //trecord.setLineItemValue('item', 'amount', 1, 3 );
  //var idl = nlapiSubmitRecord(trecord, true);
}

这是示例 CSV 文件:

Entity;Currency;Taxcode;Tranid;TranDate;Location;Item;Quantity;Rate;Amount;PO Internal ID
2449;USD;0.00 ;224676;11.3.2016;21;885;1;10;50;23664
2449;USD;0.00 ;224676;11.3.2016;21;870;2;10;120;23664
2449;USD;0.00 ;224676;11.3.2016;21;890;3;3;45;23664
2449;USD;0.00 ;224676;11.3.2016;21;948;4;4,66;38,5;23664
2449;USD;0.00 ;224676;11.3.2016;21;886;5;19,54;720;23664

我是

【问题讨论】:

  • 为什么不使用 nlapiTransformRecord()?
  • 因为它会自动导入采购订单的所有项目。我可以在没有项目的情况下转换它吗?

标签: netsuite suitescript


【解决方案1】:

如果您不希望它转换为供应商账单(可能是为了避免 PO 更改状态),那么您需要创建自定义关系。你这样做:

  1. 在“列表/记录”类型的供应商账单表单上创建一个自定义字段,并将其设置为“交易”类型并选中“记录为父项”。保存自定义字段。
  2. 返回自定义字段并对其进行编辑。转到显示选项卡并选择“父子选项卡”,我通常选择“相关记录”。保存。
  3. 现在您只需要从头开始创建一个新的供应商账单,并使用新的自定义字段将采购订单的记录 ID 保存在供应商账单中。将“创建自”字段留空,否则您将在本机链接它们。账单应列在“相关记录”选项卡或您在采购订单上选择的任何子选项卡下。

【讨论】:

  • 我想链接使用 nlapiCreateRecord('vendorbil') 创建的账单;本地记录类型“purchaseorder”。账单创建成功,但未链接。当我使用 nlapiTransformRecord 将账单转换为采购订单时,我可以在新转换的账单中使用 CSV 中的 selectNewLineItem 插入新行,但无法删除来自采购订单的行 - 采购订单的行位于账单。
  • 你必须使用 nlapiTransformRecord 并且如果你想本地链接它,你必须从 PO 中至少保留 1 行,如果你删除所有行,那么它不再是本地链接。
  • 要从转换记录中删除一些项目,请使用类似: var transform = nlapiTransformRecord('purchaseorder', 12345, 'vendorbil'); transform.removeLineItem('费用',1) ; //对于第 1 行
  • 谢谢,这是一个很好的信息。我不知道我需要从 PO 中至少保留 1 行才能进行本地链接。
  • @scheppsr77 是的,我刚刚使用了 orderdoc 和 orderline 我创建了函数来查找账单中每一行的行 ID。
【解决方案2】:

通过 CSV 方法导入供应商账单是可行的,但您可以对采购订单进行完全而非部分计费,即,如果您尝试导入提及其中任何引用的采购订单链接的账单,它将为所有剩余的未开票创建账单采购订单的数量,而不是您提到的数量。 实际上,如果您在 CSV 文件中同时提及任何数量和采购订单链接,则会引发错误。 下面是我从 SuiteAnswers 中找到的部分,答案 id 为 10020。

Refer the supporting image here

【讨论】:

    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多