「このバージョンのクイックブックでは、この機能が有効になっていないか、利用できません」というエラーが表示されます。QuickBooks に顧客を追加しようとしています。このエラーの考えられる理由を教えてください。SDK の詳細は次のとおりです。
shortVerion:13
Major Version:0
ENRreleaseLevel:rlRelease
releaseNumber:3
QBXML リクエストは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError = "continueOnError">
<CustomerAddRq requestID = "0">
<CustomerAdd>
<Name>Roger Federer</Name>
<IsActive>1</IsActive>
<ClassRef>
<FullName>Roger classref</FullName> **<-- error was here. I removed it and could run the application.
</ClassRef>
<ParentRef>
<FullName>Abercrombie, Kristy</FullName>
</ParentRef>
<CompanyName>Tennis</CompanyName>
<Salutation>WorldNo1</Salutation>
<FirstName>Roger</FirstName>
<MiddleName>M</MiddleName>
<LastName>Federer</LastName>
<JobTitle>Tennis Player</JobTitle>
<BillAddress>
<Addr1>*String*</Addr1>
<Addr2>*String*</Addr2>
<Addr3>*String*</Addr3>
<Addr4>*String*</Addr4>
<Addr5>*numbers*</Addr5>
</BillAddress>
<ShipAddress>
<Addr1>*String*</Addr1>
<Addr2>*String*</Addr2>
<Addr3>*String*</Addr3>
<Addr4>*String*</Addr4>
<Addr5>*numbers*</Addr5>
</ShipAddress>
<Phone>*********</Phone>
<AltPhone>**********</AltPhone>
<Fax>None</Fax>
<Email>rf@netirrigate.com</Email>
<Cc>rf@gmail.com</Cc>
<Contact>Roger</Contact>
<CustomerTypeRef>
<FullName>Residential</FullName>
</CustomerTypeRef>
<TermsRef>
<FullName>Net 30</FullName>
</TermsRef>
<OpenBalance>10.01</OpenBalance>
<OpenBalanceDate>2007-12-15</OpenBalanceDate>
<ResaleNumber>2</ResaleNumber>
<AccountNumber>numbers</AccountNumber>
<CreditLimit>10065.01</CreditLimit>
<PreferredPaymentMethodRef>
<FullName>Master Card</FullName>
</PreferredPaymentMethodRef>
<CreditCardInfo>
<CreditCardNumber>*16 digits*</CreditCardNumber>
<ExpirationMonth>6</ExpirationMonth>
<ExpirationYear>2023</ExpirationYear>
<NameOnCard>Roger Federer</NameOnCard>
<CreditCardAddress>*string*</CreditCardAddress>
<CreditCardPostalCode>*digits*</CreditCardPostalCode>
</CreditCardInfo>
<JobStatus>Awarded</JobStatus>
<JobStartDate>2014-12-15</JobStartDate>
<JobProjectedEndDate>2014-12-15</JobProjectedEndDate>
<JobEndDate>2014-12-15</JobEndDate>
<JobDesc>job descrip</JobDesc>
<JobTypeRef>
<FullName>Remodel</FullName>
</JobTypeRef>
<Notes>Notes</Notes>
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>
*String * は、代わりに文字列を入力したことを表します。*数字 * ==> 数字を入力しました。
私のコードを詳細に理解するのに役立つその他の構成:
IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest
("US",shortVersion, MajorVersion);
shortversion and MajorVersion values are given at the top.
I am using Intuit QuickBooks Enterprise Solutions: Manufacturing and Wholesale 14.0
さらに情報が必要な場合はお知らせください。私はたくさんグーグルで検索しましたが、この問題の解決策を思い付くことができませんでした。解決策の 1 つとしてシステムを再起動しても、私の知る限り、XML のすべてのフィールド値が検証されました。それらが正しいことを願っています。
私が XML にデータを持っていた理由は、この質問のためです: https://stackoverflow.com/a/20500250/2738630
そして、その XML データには機密情報は何もありません。私はテニス プレーヤーに関する情報を追加しましたが、機密情報とはまったく関係ありません。
解決済み
このエラーを解決できました。エラーの理由は<ClassRef>Roger classref</ClassRef>
、クイックブックのバージョンでプロパティが有効になっていないためです。このプロパティを QBXML リクエストから削除し、アプリケーションが顧客を正常に追加しました。私は、製品ベースの会社ファイルであるサンプル ロック キャッスル コンストラクションと呼ばれるサンプル データベース ファイルに取り組んでいます。もしあれば、皆さんがこれについて持っている情報を提供してください。