vb.net - QuickBooks 公司数据文件已打开,但与请求的文件不同

标签 vb.net quickbooks qbfc

使用用 vb.net 编写的应用程序并使用 qbfc8 连接到 QB Enterprise 11。我正在对公司文件进行简单调用以打开然后关闭连接。这应该会导致 QB 应用程序弹出一条消息,询问是否允许该应用程序访问该文件,然后我就可以将其分配给特定用户进行登录。

这一切都很好,除了在这台特定的服务器上,我还没有让它弹出访问 QB 的应用程序请求。始终会返回错误,指出“QuickBooks 公司数据文件已打开,但与请求的文件不同。”,错误代码为-2147220470。。 p>

我正在使用这些说明来访问文件:http://support.quickbooks.intuit.com/support/pages/inproducthelp/Core/QB2K12/ContentPackage/Verticals/Retail/rr_sdkapp_access_preferences.html

此外,我在执行此操作时处于单用户模式:http://support.quickbooks.intuit.com/support/articles/SLN41168

在此服务器上有一些 QB 文件,但现在都不应该使用它们,但是有没有办法查明在保持弹出窗口的服务器上是否有任何 QB 文件正在被访问出现吗?

非常感谢!

最佳答案

据我所知,没有一种直接方法可以在不调用 BeginSession 并检查错误的情况下查看当前打开的公司文件(如果有)。如果您提供公司文件名并且打开了另一家公司,您将收到“QuickBooks 公司数据文件已打开,但与请求的文件不同。”错误。

如果您在调用 BeginSession 时省略公司名称,QuickBooks 将使用打开的任何公司文件并显示提示(假设尚未授予权限)。但是,如果没有打开公司文件,则会出现错误“无法启动 QuickBooks。”(如果 QuickBooks 根本没有运行),或“如果 QuickBooks 公司数据文件未打开,对“BeginSession”方法的调用必须包含数据文件的名称。”如果 QuickBooks 已打开,但没有打开公司文件,则会出现错误。

大多数程序都会保存已链接到的公司文件,因此它们会在 BeginSession 调用中传递文件名,然后检查“QuickBooks 公司数据文件已打开且不同来自请求的。”错误,并以干净的方式向客户呈现信息。例如,QuickBooks POS 软件将提示客户是否要继续使用之前设置的旧文件,或者是否要链接到当前打开的文件。

关于vb.net - QuickBooks 公司数据文件已打开,但与请求的文件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20955967/

相关文章:

QuickBooks QBFC说明

quickbooks - QuickBooks SDK 中 checkin 的姓名

quickbooks - 在 QBSDK 12 中将 InventorySite 添加到 Quickbooks 发票时出错

.net - 在 vb.net 应用程序中打开图像后无法删除图像

mysql - 如何在引导表中查看 mySql 中的数据?

vb.net - 将位图对象传递给需要位图文件的文件名字符串的 Interop Word 函数

python - Quickbooks Desktop 如何与 Python 集成

c# - QBO SDK C# - 异步批处理创建多个客户

vb.net - 如何在 WHERE 中使用 2 个文本框?

r - 根据前导空格的数量将列分成新列