如何更新日志条目的CreatedFrom由SuiteTalk

本文关键字:CreatedFrom SuiteTalk 日志 何更新 更新 | 更新日期: 2023-09-27 18:10:23

我必须为VendorPayment申请/附加一个日志条目,这样我就尝试了两种方法:

首先是更新日志条目的(RecordRef) createfrom = (RecordRef) vendorPayment

下面是我的代码:
            RecordRef vPaymentRef = new RecordRef();
            vPaymentRef.internalId = "7850";
            vPaymentRef.type = RecordType.vendorPayment;
            vPaymentRef.typeSpecified = true;
            RecordRef currency = new RecordRef();
            currency.internalId = "1";
            currency.type = RecordType.currency;
            RecordRef mySubsidiary = new RecordRef();
            mySubsidiary.internalId = "3";
            mySubsidiary.type = RecordType.subsidiary;

            JournalEntry newJournalEntry = new JournalEntry();
            newJournalEntry.subsidiary = mySubsidiary;
            newJournalEntry.createdFrom = vPaymentRef;
            //newJournalEntry.reversalEntry = "99";
            newJournalEntry.reversalDate = DateTime.Now;
            newJournalEntry.reversalDateSpecified = true;
            //newJournalEntry.reversalDefer = true;
            //newJournalEntry.reversalDeferSpecified = true;
            RecordRef myCurrency = new RecordRef();
            myCurrency.internalId = "1";
            newJournalEntry.currency = myCurrency;
            newJournalEntry.exchangeRate = .911;
            newJournalEntry.exchangeRateSpecified = true;
            RecordRef myDebitAccount = new RecordRef();
            myDebitAccount.internalId = "290"; //account
            RecordRef myCreditAccount = new RecordRef();
            myCreditAccount.internalId = "25"; //a/p account
            newJournalEntry.lineList = new JournalEntryLineList();
            newJournalEntry.lineList.line = new JournalEntryLine[2];
            newJournalEntry.lineList.line[0] = new JournalEntryLine();
            newJournalEntry.lineList.line[0].account = myDebitAccount;
            newJournalEntry.lineList.line[0].debit = 3333;
            newJournalEntry.lineList.line[0].debitSpecified = true;
            newJournalEntry.lineList.line[0].entity = vPayment.entity;
            newJournalEntry.lineList.line[1] = new JournalEntryLine();
            newJournalEntry.lineList.line[1].account = myCreditAccount;
            newJournalEntry.lineList.line[1].credit = 3333;
            newJournalEntry.lineList.line[1].creditSpecified = true;
            newJournalEntry.lineList.line[1].entity = vPayment.entity;
            WriteResponse wr = _service.add(newJournalEntry);

如您所见,我已经添加了一个VendorPayment到CreatedFrom, writerresponse状态返回true, StatusDetail = null。但是当我访问刚刚在Netsuite网站上创建的日志条目时,VOID OF是空的(不显示)。日记账类型为"日记账",必须是"无效日记账",并且在分录号旁边不要有"已申请反转付款"。

然后,我尝试第二种方法:更新VendorPayment的voidJournal以使用刚刚创建的Journal Entry。

下面是我的代码:
            RecordRef recordRef = new RecordRef();
            recordRef.internalId = "7850";
            recordRef.type = RecordType.vendorPayment;
            recordRef.typeSpecified = true;
            ReadResponse response2 = _service.get(recordRef);
            VendorPayment vPayment = (VendorPayment)response2.record;
            RecordRef recordRefJournal = new RecordRef();
            recordRefJournal.internalId = "8356";
            recordRefJournal.type = RecordType.journalEntry;
            recordRefJournal.typeSpecified = true;
            vPayment.voidJournal = recordRefJournal;
            vPayment.status = "VOIDED";
            WriteResponse wr2 = _service.update(vPayment);

通过这种方式,writerresponse状态仍然为真,StatusDetail仍然为空。当我在Netsuite网站上刷新这个vendorPayment时,没有任何变化,void on和Status没有改变。

我的观点是无效的供应商支付的SuiteTalk。

我真的被卡在这里了,请帮忙。非常感谢!

如何更新日志条目的CreatedFrom由SuiteTalk

Create From字段是一个只能由系统设置的字段。只有在转换事务时才填充它。

只有当您单击销售订单的"账单"按钮时,才会填充发票的"创建来源"字段,另一种情况是,当您单击订单上的"接收"按钮时,会填充"项目收据"的"创建来源"字段。 在suitescirpt

nlapiTransformRecord('salesorder', 1, 'invoice');

您要做的是不可能使用标准的Created From字段

的确,前面的评论是对的。

你需要做的是两步:

  1. 创建日记账分录并在实体行中引用供应商。
  2. 将其作为账单的付款。

考虑我写的关于用日记账分录注销客户发票的文章的代码模式。

创始人Marty ZigmanProlecto资源有限公司NetSuite系统集成南加州领先的创新和实施实践