CheckQuery不通过TxnDate过滤

时间:2013-04-26 13:58:24

标签: intuit-partner-platform

我正在使用下面的代码为给定的交易日期提取检查实体。但是,我正在使用其他交易日期进行检查,而不是我提供的交易日期。发生了什么事?

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'

我的最终目标是尝试获取给定周的所有交易。我似乎找不到这样做的方法,所以我试图让日期范围的每组实体构建完整的列表。如果有一种更简单的方法可以获得给定日期范围内的“盈亏细节”,请告诉我。

1 个答案:

答案 0 :(得分:1)

在阅读了有关基于Peter链接的过滤的一些文档之后,我找到了一个包含Extensions命名空间的参考,这个命名空间允许我指定一个操作符,使其按预期工作。

using Intuit.Ipp.Data.Extensions;
...
query.SpecifyOperatorOption(FilterProperty.TxnDate, FilterOperatorType.EQUALS);

对于使用内置..Query对象进行过滤的其他人,我在尝试使用日期范围过滤器时遇到了问题。有些对象默认在设置TxnDate时添加.EQUALS运算符,其他对象则没有。对于那些(例如JournalEntryQuery)我不能随后使用.BEFORE和.AFTER进行日期范围过滤。为了解决这个问题,我开始使用内置的 RestRequestHandler 对象而不是Query对象。我找不到关于这个对象的任何文档,但是如果你玩它就很简单,它就像我的需要一样有魅力。