可能是错误的原因“此功能未在此版本的quickbooks中启用或不可用”

时间:2014-06-09 21:28:40

标签: c# .net quickbooks qbxml qbfc

我收到错误“此功能未在此版本的quickbooks中启用或不可用”。我正在尝试将客户添加到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 *表示我输入了一个字符串来代替它。  * digit * ==&gt;我输入了数字。

其他可能有助于详细了解我的代码的配置:

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

如果您需要更多信息,请与我们联系。 我google了很多,但无法找到解决这个问题的方法。 甚至重新启动系统,因为它是作为解决方案之一给出的,据我所知,验证了XML中的所有字段值,我希望它们是正确的。

我在XML中获取数据的原因是因为这个问题:https://stackoverflow.com/a/20500250/2738630

在XML数据中没有任何敏感信息,我添加了关于网球运动员的信息,这与任何形式的敏感度无关。

解决 我可以解决这个错误。出错的原因是因为在quickbooks版本中未启用属性<ClassRef>Roger classref</ClassRef>。我已从QBXML请求中删除了此属性,并且应用程序已成功添加了客户。我正在研究样本数据库文件,名为:sample rock castle construction,这是一个基于产品的公司文件。 如果有的话,请提供您的信息。

1 个答案:

答案 0 :(得分:2)

您正在使用的QuickBooks公司文件未设置为允许将类分配给名称。必须启用此首选项才能包含XML的<ClassRef>部分。

您可以转到修改&gt;来查看此偏好设置。偏好&gt;帐户&gt;公司偏好。应该在“将类分配给名称”旁边进行检查。如果您关闭此选项,或者如果您没有将其设置为名称,则会收到错误消息。

您可以通过创建IPreferencesQuery来检查公司文件的首选项。在回复中,您需要检查IsUsingClassTracking并将AssignClassesTo设置为actNames