我正在使用下面的代码来提取给定事务日期的检查实体。然而,我得到的支票与其他交易日期比我提供的。怎么一回事?
var date = new DateTime(2013, 3, 1);
var context = _qb.CreateContext();
var entries = new List<Check>();
var page = 1;
do
{
var query = new CheckQuery();
query.PageNumber = page;
query.ResultsPerPage = 100;
query.TxnDate = date;
var results = query.ExecuteQuery<Check>(context).ToList();
if (results.Count == 0) break;
entries.AddRange(results);
page++;
} while (true);
//entries now contains Checks with TxnDate like '4/30/2013'我的最终目标是尝试获取给定一周的所有事务。我似乎找不到这样做的方法,所以我尝试获取日期范围的每一组实体来构建完整的列表。如果有一个更容易的方法,从本质上得到“损益细节”的一个给定的日期范围,请让我知道。
发布于 2013-05-02 14:31:57
在阅读了一些基于Peter的链接进行过滤的文档之后,我发现了对包含扩展命名空间的引用,该名称空间允许我指定一个操作符,使事情如我所期望的那样工作。
using Intuit.Ipp.Data.Extensions;
...
query.SpecifyOperatorOption(FilterProperty.TxnDate, FilterOperatorType.EQUALS);对于使用内置..Query对象进行过滤的其他人,我在使用日期范围筛选器时遇到了问题。有些对象在设置.EQUALS时默认添加TxnDate运算符,而另一些则没有。对于这样做的人(如JournalEntryQuery),我随后无法使用.BEFORE和.AFTER进行日期范围筛选。为了解决这个问题,我开始使用内置的.BEFORE对象而不是查询对象。我找不到关于这个对象的任何文档,但是如果您使用它,使用起来非常简单,而且它对我的需求很有吸引力。
https://stackoverflow.com/questions/16238345
复制相似问题