不支持QBXML版本错误

时间:2014-07-16 13:29:17

标签: c# quickbooks

我正在使用QB 12,我使用RSS总线将quickbooks与我的项目集成。

插入BillPaymentCheck时出现错误,因为不支持QBXML版本。

如果您查看此链接,则表示支持QBXML版本6或更高版本。

我将版本更改为6,但这不起作用。

以下是我的代码以获取更多详细信息:

foreach (DAL.ACHTransaction dalTransaction in lstTransactions)
            {
                string PayeeId = dbCntxt.TechnicianBillingRecords.Where(c => c.BillId == dalTransaction.BillId).FirstOrDefault().TechnicianBilling.TechnicianTripDetail.Technician.QBId;
                QuickBooks qbCntxt = new QuickBooks();
                Bill qbBill = qbCntxt.Bills.Where(c => c.ID == dalTransaction.BillId).FirstOrDefault();
                BillPaymentCheck billCheck = new BillPaymentCheck();

                string bankAccntId = dbCntxt.Configurations.Where(c => c.ConfigKey == "BankId").FirstOrDefault().ConfigValues;


                billCheck.Amount = dalTransaction.Amount;
                billCheck.PayeeId = PayeeId;
                billCheck.ReferenceNumber = "ACH";
                billCheck.BankAccountId = bankAccntId;
                string appliedTo = "<BillPaymentChecksAppliedTo><Row><AppliedToRefId>" + dalTransaction.BillId + "</AppliedToRefId><AppliedToAmount>" + dalTransaction.Amount.ToString() + "</AppliedToAmount></Row></BillPaymentChecksAppliedTo>";
                billCheck.AppliedToAggregate = appliedTo;
                qbCntxt.AddToBillPaymentChecks(billCheck);
                qbBill.IsPaid = 1;
                qbCntxt.SaveChanges();
                dalTransaction.IsProccessedInQB = true;
                dbCntxt.SaveChanges();
            }

任何人都可以帮助我。

谢谢, Dhaval Shukla

1 个答案:

答案 0 :(得分:0)

我不知道RSS总线,所以情况可能并非如此,但事务中的某些功能需要比基本事务更高的级别。例如,BillPaymentCheckAdd至少需要版本2,但如果您使用备注字段,则至少需要版本3.如果您使用的是ExchangeRate,则至少需要版本8,ExternalGUID需要9,DiscountAmount需要10,而DiscountClassRef需要11。

如果您将版本设置为版本11(这是BillPaymentCheckAdd的所有组件中最高版本),并且错误消失,那么RSS总线可能会在内部设置您未指定的其中一个字段,导致它需要更高版本的QBXML。