2013-01-31 41 views
2

代碼似乎運行。我沒有收到任何錯誤消息,但在同步後,發票不會出現在QB中。代碼基本上就是這樣(http://pastebin.com/y7QENxeX),並且有一些(可能是)如前所述的小改動。我可以創建帳戶和客戶,所以我相信我的應用程序的基礎架構很好。我不明白爲什麼我卡在發票上。我認爲我的客戶ID是2.我現在只有5個在我的公司。我認爲我的itemID是1,因爲我現在只有一個QB。使用C#開發工具包,未在QB中顯示發票

任何和所有的幫助,非常感謝。

Intuit.Ipp.Data.Qbd.PhysicalAddress physicalAddress = new Intuit.Ipp.Data.Qbd.PhysicalAddress(); 
physicalAddress.Line1 = "123 Main St."; 
physicalAddress.Line2 = "Apt. 12"; 
physicalAddress.City = "Mountain View"; 
physicalAddress.CountrySubDivisionCode = "CA"; 
physicalAddress.Country = "USA"; 
physicalAddress.PostalCode = "94043"; 
physicalAddress.Tag = new string[] { "Billing" }; 

Intuit.Ipp.Data.Qbd.InvoiceHeader invoiceHeader = new Intuit.Ipp.Data.Qbd.InvoiceHeader(); 
invoiceHeader.ARAccountId = new Intuit.Ipp.Data.Qbd.IdType() { idDomain = Intuit.Ipp.Data.Qbd.idDomainEnum.QB, Value = "37" }; 
invoiceHeader.ARAccountName = "Accounts Receivable"; 
// original code : invoiceHeader.CustomerId = new IdType() { idDomain = idDomainEnum.NG, Value = "3291253" }; 
invoiceHeader.CustomerId = new Intuit.Ipp.Data.Qbd.IdType() { idDomain = Intuit.Ipp.Data.Qbd.idDomainEnum.QB, Value = "2" }; 
invoiceHeader.Balance = (decimal)100.00; 
invoiceHeader.BillAddr = physicalAddress; 
invoiceHeader.BillEmail = "[email protected]"; 
invoiceHeader.CustomerName = "Detroit Tigers"; 
invoiceHeader.DocNumber = "1234567"; 
invoiceHeader.DueDate = DateTime.Now; 
invoiceHeader.ShipAddr = physicalAddress; 
invoiceHeader.ShipDate = DateTime.Now; 
invoiceHeader.TaxAmt = (decimal)5; 
invoiceHeader.TaxRate = (decimal).05; 
invoiceHeader.ToBeEmailed = false; 
invoiceHeader.TotalAmt = (decimal)105.00; 

List<Intuit.Ipp.Data.Qbd.InvoiceLine> listLine = new List<Intuit.Ipp.Data.Qbd.InvoiceLine>(); 

//Loop for multiple invoice lines could be added here 
Intuit.Ipp.Data.Qbd.ItemsChoiceType2[] invoiceItemAttributes = { Intuit.Ipp.Data.Qbd.ItemsChoiceType2.ItemId, Intuit.Ipp.Data.Qbd.ItemsChoiceType2.UnitPrice, Intuit.Ipp.Data.Qbd.ItemsChoiceType2.Qty }; 
// original code : object[] invoiceItemValues = { new IdType() { idDomain = idDomainEnum.QB, Value = "5" }, new decimal(33), new decimal(2) }; 
object[] invoiceItemValues = { new Intuit.Ipp.Data.Qbd.IdType() { idDomain = Intuit.Ipp.Data.Qbd.idDomainEnum.QB, Value = "1" }, new decimal(33), new decimal(2) }; 
var invoiceLine = new Intuit.Ipp.Data.Qbd.InvoiceLine(); 
invoiceLine.Amount = 66; 
invoiceLine.AmountSpecified = true; 
invoiceLine.Desc = "test " + DateTime.Now.ToShortDateString(); 
invoiceLine.ItemsElementName = invoiceItemAttributes; 
invoiceLine.Items = invoiceItemValues; 
invoiceLine.ServiceDate = DateTime.Now; 
invoiceLine.ServiceDateSpecified = true; 
listLine.Add(invoiceLine); 

Intuit.Ipp.Data.Qbd.Invoice invoice = new Intuit.Ipp.Data.Qbd.Invoice(); 
invoice.Header = invoiceHeader; 
invoice.Line = listLine.ToArray(); 

Intuit.Ipp.Data.Qbd.Invoice addedInvoice = commonService.Add(invoice); 

克里斯

回答

1


您需要閱讀有關Windows同步管理器的QuickBooks是如何工作的以下信息,怎麼樣,看是否同步運行正確,如果對象是處於錯誤狀態,以及如何解決。它可以是任何數量的東西。一旦將記錄插入到雲中,它將異步地下載到桌面上的QuickBooks,在此時應用業務邏輯並將記錄從雲端匹配到桌面。如果出現問題,同步管理器將顯示失敗的對象記錄,失敗的原因以及對象現在處於錯誤狀態。

此時您可以查看錯誤並採取步驟進行修復,例如恢復或更新並重新提交。鏈接到下面的文檔。



QuickBooks Sync Manager
Data Sync
Objects in Errored State
Sync Activity
Sync Status



問候 震動

+0

美麗!謝謝你Jarred。我能夠使用IntuitSyncManagerLogger.log文件來確定我的項目沒有與其關聯的帳戶。 – user2008632

相關問題