如何更新日志条目的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。
我真的被卡在这里了,请帮忙。非常感谢!Create From字段是一个只能由系统设置的字段。只有在转换事务时才填充它。
只有当您单击销售订单的"账单"按钮时,才会填充发票的"创建来源"字段,另一种情况是,当您单击订单上的"接收"按钮时,会填充"项目收据"的"创建来源"字段。 在suitescirptnlapiTransformRecord('salesorder', 1, 'invoice');
您要做的是不可能使用标准的Created From字段
的确,前面的评论是对的。
你需要做的是两步:
- 创建日记账分录并在实体行中引用供应商。
- 将其作为账单的付款。
考虑我写的关于用日记账分录注销客户发票的文章的代码模式。
创始人Marty ZigmanProlecto资源有限公司NetSuite系统集成南加州领先的创新和实施实践