我正在使用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
答案 0 :(得分:0)
我不知道RSS总线,所以情况可能并非如此,但事务中的某些功能需要比基本事务更高的级别。例如,BillPaymentCheckAdd至少需要版本2,但如果您使用备注字段,则至少需要版本3.如果您使用的是ExchangeRate,则至少需要版本8,ExternalGUID需要9,DiscountAmount需要10,而DiscountClassRef需要11。
如果您将版本设置为版本11(这是BillPaymentCheckAdd的所有组件中最高版本),并且错误消失,那么RSS总线可能会在内部设置您未指定的其中一个字段,导致它需要更高版本的QBXML。