从 Quickbooks Desktop 获取所有费用
Getting all expenses from Quickbooks Desktop
我可以使用 QuickBooks SDK 通过 C# 代码从 QuickBooks Desktop 读取所有费用。有了费用后,我需要将它们复制到 Salesforce,当新费用到达时,这些费用也需要转移到 Salesforce。
这样我就可以连接到该应用程序并获得一系列费用。这是代码。
//Connect to QuickBooks and begin a session
sessionManager.OpenConnection("", "test");
connectionOpen = true;
sessionManager.BeginSession(@"C:\TEST.qbw", ENOpenMode.omDontCare);
sessionBegun = true;
ICreditCardChargeQuery creditQuery = requestMsgSet.AppendCreditCardChargeQueryRq();
creditQuery.IncludeLineItems.SetValue(true);
IMsgSetResponse msgSetRs = sessionManager.DoRequests(requestMsgSet);
IResponse response = msgSetRs.ResponseList.GetAt(0);
ICreditCardChargeRetList checkRetList = (ICreditCardChargeRetList)response.Detail;
我有两个问题。
我必须分别阅读 CreditCard 和 Check,还是有办法从一个地方获取所有费用?
有没有办法只获取最新数据?假设我得到了今天的所有费用。明天再增加两个。有没有办法只获得添加的两个?我可以在费用日期之前完成此操作,但我想问是否有处理此问题的系统方法。也许将其标记为已收到并且只阅读已收到的,或者有没有办法说在一个日期范围内给我费用而不是我这样做的方式。
Do I have to read CreditCard and Check separately or is there a way to get all expenses from one place?
QuickBooks 确实支持 TransactionQuery
请求类型,您可以使用该类型在单个请求中获取此数据,但 它仅 return 摘要详细信息-- 它没有 return 详细信息,例如单个订单项等
很有可能,如果您需要任何有意义的详细信息,您可能必须单独联系他们。
可以参考OSR参考:
Is there a way to get only latest data?
您可以使用 ModifiedDateRangeFilter
过滤器来执行此操作。例如:
//Set field value for FromModifiedDate
CheckQueryRq.ORTxnQuery.TxnFilter.ORDateRangeFilter.ModifiedDateRangeFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
//Set field value for ToModifiedDate
CheckQueryRq.ORTxnQuery.TxnFilter.ORDateRangeFilter.ModifiedDateRangeFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
您可以参考 QuickBooks OSR 了解完整详情。
我可以使用 QuickBooks SDK 通过 C# 代码从 QuickBooks Desktop 读取所有费用。有了费用后,我需要将它们复制到 Salesforce,当新费用到达时,这些费用也需要转移到 Salesforce。
这样我就可以连接到该应用程序并获得一系列费用。这是代码。
//Connect to QuickBooks and begin a session
sessionManager.OpenConnection("", "test");
connectionOpen = true;
sessionManager.BeginSession(@"C:\TEST.qbw", ENOpenMode.omDontCare);
sessionBegun = true;
ICreditCardChargeQuery creditQuery = requestMsgSet.AppendCreditCardChargeQueryRq();
creditQuery.IncludeLineItems.SetValue(true);
IMsgSetResponse msgSetRs = sessionManager.DoRequests(requestMsgSet);
IResponse response = msgSetRs.ResponseList.GetAt(0);
ICreditCardChargeRetList checkRetList = (ICreditCardChargeRetList)response.Detail;
我有两个问题。
我必须分别阅读 CreditCard 和 Check,还是有办法从一个地方获取所有费用?
有没有办法只获取最新数据?假设我得到了今天的所有费用。明天再增加两个。有没有办法只获得添加的两个?我可以在费用日期之前完成此操作,但我想问是否有处理此问题的系统方法。也许将其标记为已收到并且只阅读已收到的,或者有没有办法说在一个日期范围内给我费用而不是我这样做的方式。
Do I have to read CreditCard and Check separately or is there a way to get all expenses from one place?
QuickBooks 确实支持 TransactionQuery
请求类型,您可以使用该类型在单个请求中获取此数据,但 它仅 return 摘要详细信息-- 它没有 return 详细信息,例如单个订单项等
很有可能,如果您需要任何有意义的详细信息,您可能必须单独联系他们。
可以参考OSR参考:
Is there a way to get only latest data?
您可以使用 ModifiedDateRangeFilter
过滤器来执行此操作。例如:
//Set field value for FromModifiedDate
CheckQueryRq.ORTxnQuery.TxnFilter.ORDateRangeFilter.ModifiedDateRangeFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
//Set field value for ToModifiedDate
CheckQueryRq.ORTxnQuery.TxnFilter.ORDateRangeFilter.ModifiedDateRangeFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
您可以参考 QuickBooks OSR 了解完整详情。