首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickBooks Intuit问题检查

QuickBooks Intuit问题检查
EN

Stack Overflow用户
提问于 2013-07-23 21:28:06
回答 1查看 300关注 0票数 0

我试图使用以下代码通过Intuit.IPP API (Interop.QBFC12)向供应商发出检查:

代码语言:javascript
复制
    IMsgSetRequest messageSet = session.CreateMsgSetRequest("US", 7, 0);
    ICheckAdd cheque = messageSet.AppendCheckAddRq();
    cheque.AccountRef.ListID.SetValue(vendor.ListID.GetValue());
    cheque.AccountRef.FullName.SetValue("myAccountName");
    cheque.TxnDate.SetValue(DateTime.Today);

    IMsgSetResponse responseSet = session.DoRequests(messageSet);
    IResponse response = responseSet.ResponseList.GetAt(0);
    responseType = (ENResponseType)response.Type.GetValue();
    if (responseType == ENResponseType.rtCheckAddRq)
        returnMessage = response.StatusMessage;

结果response.StatusMessage =“无法找到请求中指定的对象80000005-1374598713”。指定的对象ID是我为供应商提取的ListID。

我的编码非常盲目,因为我发现IPP文档对版本12并没有很大帮助,或者是最新的。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 00:58:01

这是:

代码语言:javascript
复制
cheque.AccountRef.ListID.SetValue(vendor.ListID.GetValue());
cheque.AccountRef.FullName.SetValue("myAccountName");

是什么导致了你的问题。

AccountRef节点用于指定帐户,而不是供应商。帐户是QuickBooks帐户图表( " Account“对象)中的内容。供应商是供应商列表中的内容(“供应商”对象),它们不是可互换的对象。

因为您已经设置了AccountRef/FullName:

代码语言:javascript
复制
cheque.AccountRef.FullName.SetValue("myAccountName");

您不需要设置AccountRef/ListID。

您应该始终设置一个ListID或一个FullName --没有理由同时设置它们(这只是引用同一个对象的替代方法--它们都是QuickBooks的“外键”)。

您可能要做的是像您想要的那样设置AccountRef,但也要设置PayeeEntityRef。例如:

代码语言:javascript
复制
cheque.PayeeEntityRef.ListID.SetValue(vendor.ListID.GetValue());

此外,关于这一点:

我的编码非常盲目,因为我发现IPP文档对版本12并没有很大帮助,或者是最新的。

IPP是一个与您所使用的完全不同的API。IPP文档不会对您有用,因为它与您使用的API不太接近。

您应该参考的是QuickBooks OSR:

还有QuickBooks SDK可下载的.EXE,它有大量相关的.EXE文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17821405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档