2013-01-31 7 views
2

코드가 실행되는 것 같습니다. 오류 메시지가 표시되지 않지만 동기화 후 QB에 인보이스가 표시되지 않습니다. 코드는 기본적으로이 (http://pastebin.com/y7QENxeX)이며 약간의 (아마도) 사소한 변경이 명시되어 있습니다. 계정 및 고객을 만들 수 있으므로 내 앱의 기본 인프라가 훌륭하다고 생각합니다. 나는 왜 내가 청구서에 갇혀 있는지 이해하지 못한다. 내 customerID가 2 인 것 같아. 지금 내 회사에 5 명 밖에 없다. 그리고 나는 지금 QB에 하나 밖에 없기 때문에 itemID가 1이라고 생각합니다.C# Dev Kit에서 인보이스가 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 = "detro[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); 

동기화가 제대로 실행 한 경우 객체는 오류가 발생한 상태에서 어떻게 해결하는 경우 크리스

는 Windows 동기화 관리자에 대한 QuickBooks에 작동 방법에 대한 다음과 같은 정보를 읽을 필요가

답변

1


, 어떻게 볼. 그것은 여러 가지 일 수 있습니다. 레코드가 클라우드에 삽입되면 데스크톱의 QuickBooks로 비동기 적으로 다운로드되며, 비즈니스 로직이 적용되고 레코드가 클라우드에서 데스크탑으로 일치합니다. 문제가있는 경우 동기화 관리자는 실패한 개체의 기록, 실패한 이유 및 개체가 오류 상태에 있음을 표시합니다.

이 시점에서 오류를 검토하고 되돌리기, 업데이트 및 다시 제출과 같은 수정 조치를 취할 수 있습니다. 아래 문서에 대한 링크.



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



관련 · 병

+0

아름다운! 자레드 감사합니다. IntuitSyncManagerLogger.log 파일을 사용하여 내 항목에 연결된 계정이 없는지 확인할 수있었습니다. – user2008632