使用以下代码我尝试使用QBFC从快速书籍中读取项目数据。
但是我收到了错误:
无法将“System .__ ComObject”类型的COM对象强制转换为接口类型“Interop.QBFC11.IItemSalesTaxRetList”。此操作失败,因为对于具有IID'{C53D1081-9FE4-4569-9181-A9D7E0155907}的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))
我在下面看到了链接;
但这是安装软件的问题(安装后)。但是这个问题与问题不同。
让我知道为什么......我使用相同的流程获取客户和供应商数据......我没有收到任何错误....
代码:
IItemSalesTaxRet itemRet = default(IItemSalesTaxRet);
IItemSalesTaxRetList itemRetList = default(IItemSalesTaxRetList);
IResponse response = responseSet.ResponseList.GetAt(0);
if ((response.Detail != null))
{
itemRetList = (IItemSalesTaxRetList)response.Detail; // here i am getting error
if ((itemRetList != null))
{
for (int j = 0; j <= itemRetList.Count - 1; j++)
{
itemRet = itemRetList.GetAt(j);
if ((itemRet != null))
{
if (itemRet.Name != null)
{
Name = GetStringValue(itemRet.Name);
Name = Name.Replace(',', ' ');
}
else
{
Name = string.Empty;
}
}
}
}
答案 0 :(得分:0)
我看到这篇文章很老了,但有成千上万的开发人员使用Intuit的SDK有相同/类似的问题。 不知道这是否会有所帮助,但Quickbooks库中有很多接口不再受支持,即使它们出现在屏幕上的引用上。你甚至可以让intellisense显示一个支持的方法,但是当他们(重新)编译他们的dll时,他们忘了删除一些接口。我多次遇到这个令人抓狂的问题 - “IItemSalesTaxRetList”似乎是他们删除的那些方法之一。