0

我正在使用下面的代码来提取给定交易日期的检查实体。但是,我收到了与我提供的交易日期不同的其他交易日期的支票。到底是怎么回事?

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'

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

4

1 回答 1

1

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

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

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

于 2013-05-02T14:31:57.780 回答