将QuickBooks导出到QuickBooks Desktop公司可以是一个参与的过程。使用适用于QuickBooks的CData Cmdlet,您可以使用SendQBXMLFile
存储过程轻松地将已保存的QuickBooks Online数据的QBXML文件导入QuickBooks Desktop Company 。
在本文中,我们将逐步下载您的QuickBooks Online数据,讨论 SendQBXMLFile
存储过程,并逐步完成PowerShell脚本以将文件导入QuickBooks Desktop Company。
导出QuickBooks在线数据
首先,将QuickBooks Online数据下载为QBXML文件:登录QuickBooks Online并单击“设置”菜单中的“导出数据”()。请注意,您当前只能从Internet Explorer将数据导出为QBXML文件。
在“导出数据”向导中,按照前四个步骤操作:
-
第1步:准备出口
-
第2步:选择您的数据
-
步骤3:请求您的数据 - 下载完成后,单击继续下载
-
步骤4:为Windows公司文件创建QuickBooks - 单击“下载”
此时,本机导出过程变得乏味且涉及。相反,我们在这里停止进程并使用CData Cmdlet for QuickBooks导入QBXML文件。
SendQBXMLFile存储过程
该 SendQBXMLFile
存储过程允许您导入一个QBXMLFile到QuickBooks的台式机公司。存储过程的主要用例是执行大量插入,使其成为将整个QuickBooks Online公司作为QBXML文件导入QuickBooks Desktop的可行方法。
请注意,执行存储过程会覆盖现有的公司文件数据。
输入参数
存储过程具有以下输入:
-
File(String):要提交给QuickBooks的QBXML文件的URL或路径。
-
ContinueOnError(String):是否在达到错误后继续执行插入。默认值是true'。
-
IncludeInfoMessages(String):是否在输出中打印信息消息。默认值为“false”,这意味着您只能获得有关失败的信息。设置为“true”时,结果还包括有关成功请求的信息。
若要使用PowerShell cmdlet调用存储过程,请使用 Invoke-QB
cmdlet。注意反斜杠的双重转义。
Invoke-QB - Connection $ connection - 查询 “EXEC SendQBXMLFile @ File ='C:\\\\ Path \\\\ To \\\\ QBXMLFile.qbxml',@ ContinueOnError ='true'”
存储过程返回下面描述的输出参数。
输出参数
存储过程具有以下输出参数,这些参数仅在默认情况下可用于故障:
-
RequestId(String):与消息关联的请求ID。
-
Severity(String):消息的严重性。
-
StatusCode(String):输出消息的状态代码。
-
StatusMessage(String):状态消息,提供有关发生的情况的详细信息。
Invoke-QB
当用于调用存储过程时, cmdlet返回QueryResult PSObject。对于上面的示例,结果显示为表格,其中包含上述参数的列和质量插入的每个结果的行:
RequestId Severity SatusCode StatusMessage
--------- -------- --------- -------------
2错误3100列表元素的名称“Opening Balance Equity”已在使用中。
3错误3100列表元素的名称“正在检查”已在使用中。
4错误3100列表元素的名称“Savings”已在使用中。
...
在PowerShell中将QBXML文件导入QuickBooks桌面
下载QBXML文件后,您就可以将数据导入QuickBooks公司。为此,请在保存QBXML文件的计算机上安装适用于QuickBooks的CData Cmdlet,并在托管QuickBooks Desktop的计算机上安装远程连接器(包含在Cmdlet的安装程序中)。
在适当的计算机上安装Cmdlet和远程连接器后,可以将QBXML文件导入QuickBooks Desktop。下面是一个示例PowerShell脚本,它将导入您的QBXML文件。下载并运行我们的交互式PowerShell脚本(ImportQBXMLFile.ps1),并提示所需的变量以完成相同的任务。
#$ user =远程连接器用户名
#$ password =远程连接器密码
#$ server =远程连接器名称/地址
#$ port =远程连接器端口(默认为8166)
#$ QBXMLFile = QBXML文件的完整路径,反斜杠双重转义
#Build Connect-QB的URL参数
$ URL = $ server + ':' + $ port
#Connect to QuickBooks Desktop
$ qbConn = Connect-QB - URL $ URL - 用户 $ user - 密码 $ password
#Construct查询以调用存储过程
$ query = “EXEC SendQBXMLFile @ File =' $ QBXMLFile ',@ ContinueOnError ='true'”
#Call存储过程并存储结果
$ results = Invoke-QB - Connection $ qbConn - 查询 $ query
此时,$results
包含导入结果的表, 其中包含任何失败导入的请求ID,严重性,状态代码和状态消息的列,如上所述。要管理失败的导入,请编辑QuickBooks Desktop公司并重试,编辑带有更正的QBXML文件,或手动添加更新。
要在Powershell中使用Quickbooks数据,请立即下载针对QuickBooks的CData Cmdlet和我们的示例PowerShell脚本的30天免费试用版。如果您有任何疑问,请联系我们的支持团队。