点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,专家!
我正在尝试使用DI-API为SAP B1(Hana 9.20.210 PL11)做一个插件。 在此插件中,我要添加"收款汇票草稿"并选择"发票,日记帐分录和贷方通知单"文档。 只需在" oPaymentsDrafts"对象上的"发票"字段即可。
我还想设置付款方式,因为有时我会用支票付款,有时用现金付款。 也很容易,没问题。
问题出在什么时候我需要在帐户上添加付款。 有人告诉我,当您增加的金额大于总金额时,超出的金额即为"帐户付款"。
好吧,我尝试收款10美元,并付了15美元,它奏效了。 我做了同样的事情,但是10美元现在是一张发票,并且可以用。 但是,如果同时我想支付15美元作为支票,帐户上的付款将变为空白,多余的5美元将变为负数的"到期应付"字段。
由于我无法控制"帐户付款"字段,因此无法正确执行。
这是我的代码的摘录:
paymentSAP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPaymentsDrafts); paymentSAP.DocObjectCode = SAPbobsCOM.BoPaymentsObjectType.bopot_IncomingPayments; paymentSAP.CardCode = payment.cardCode; 切换(payment.paymentMode) { case PaymentModeType.cash://Pago en efectivo 如果(payment.docTotal> 0) { paymentSAP.CashSum = payment.docTotal; paymentSAP.CashAccount = payment.bankCode; paymentSAP.TaxDate = payment.checkDueDate; } 打破; case PaymentModeType.check://帕果检查 paymentSAP.Checks.CheckSum = payment.docTotal; paymentSAP.Checks.Details = payment.checkNumber; paymentSAP.Checks.DueDate = payment.checkDueDate; BPPaymentModelpaymentInfo = SAPBPPaymentInfo.GetBPPaymentInfo(oCompany,payment.cardCode); paymentSAP.Checks.CheckAccount = paymentInfo.CCCAccount; paymentSAP.Checks.BankCode = paymentInfo.CCCBankCode; paymentSAP.Checks.Branch = paymentInfo.CCCBranch; paymentSAP.Checks.AccounttNum = paymentInfo.CCCAccount; 打破; } //为任何发票设置其余值 为(int i = 0; i0) paymentSAP.Invoices.Add(); 开关(payment.invoicesList [i] .docType) { 案例TipoDocumentoEnum.Abono: paymentSAP.Invoices.InvoiceType = BoRcptInvTypes.it_CredItnote; paymentSAP.Invoices.DocEntry = int.Parse(payment.invoicesList [i] .invoiceID); 打破; 案例TipoDocumentoEnum.Asiento: paymentSAP.Invoices.InvoiceType = BoRcptInvTypes.it_JournalEntry; paymentSAP.Invoices.DocEntry = payment.invoicesList [i] .invoiceID; paymentSAP.Invoices.DocLine = payment.invoicesList [i] .invoiceLine; 打破; 默认: paymentSAP.Invoices.InvoiceType = BoRcptInvTypes.it_Invoice; paymentSAP.Invoices.DocEntry = int.Parse(payment.invoicesList [i] .invoiceID); 打破; } paymentSAP.Invoices.SumApplied = payment.invoicesList [i] .paid; } paymentSAP.Add(); oCompany.GetLastError(out iError,out _error);
正如我说的那样,如果我不使用现金或支票字段,或者我不向payaseSAP.Invoice添加任何东西,那笔额外的5美元将转到"帐户付款"中,但不会同时使用。
在程序上,我必须激活"帐户付款"复选框,但是在DI-API上,我不知道。
我在寻找答案,但发现的所有问题都没有答案。
我做错了什么? 谢谢。
您好 ManuelGarcía,
您是否提到了此讨论?我认为您在项目代码中缺少以下行:
希望有帮助!
亲切的问候,
ANKIT CHAUHAN
SAP Business One支持
很抱歉碰到这个线程,但是我没有解决这个问题, =" nofollow" hraf=" https://people.sap.com/ankit.chauhan1"> ANKIT CHAUHAN 答案也不起作用。
还有更多可以尝试的想法吗?
谢谢。
是的,我尝试过,因为我之前看到过这个问题,所以将以下代码添加到我的代码中:
即使只使用DocTypte行,也给我一个-10错误:无法使用帐户[ORCT.DocType] [??? 3524-88]付款来支付发票。
我现在正在做的是保存文档的收款,然后仅使用"帐户付款"额进行另一笔收款,但是我被告知要在同一文档中将这两项都加入。
一周热门 更多>