【问题标题】:Date range in query Dynamics AX查询 Dynamics AX 中的日期范围
【发布时间】:2018-09-07 22:53:09
【问题描述】:

我想建立查询范围,在哪里

ActiveTo 今天。

有没有可能,我试过类似的方法,但它不起作用。

qbdsDimAttrValue = ds.addDataSource(tableNum(DimensionAttributeValue));
qbrMainAccountActiveFrom = qbdsDimAttrValue.addRange(fieldnum(DimensionAttributeValue,ActiveFrom));
qbrMainAccountActiveFrom.value(strFmt('(((%1.%2 != 0) || (%1.%3 != 0)) && ((%1.%2 > %4) || (%1.%3 < %4)))',   
            qbdsDimAttrValue.name(),
            fieldStr(DimensionAttributeValue,ActiveFrom),
            fieldStr(DimensionAttributeValue,ActiveTo),
            today(),
            ));

我写 0,因为在表 DimensionAttributeValue 中,如果字段 ActiveFrom、ActiveTo 为空,它的值为 0,而不是 dateNull()、dateMax()

【问题讨论】:

    标签: date range axapta microsoft-dynamics


    【解决方案1】:

    此类查询中使用的日期值必须采用 dd\MM\yyyy 格式 - 您可以为此目的使用函数 date2StrXpp()

    尝试使用以下范围:

    qbrMainAccountActiveFrom.value(
        strFmt('((%1.%2 > %4) || ((%1.%3 < %4) && (%1.%3 != %5)))',
                qbdsDimAttrValue.name(),
                fieldStr(DimensionAttributeValue, ActiveFrom),
                fieldStr(DimensionAttributeValue, ActiveTo),
                date2StrXpp(systemDateGet()),
                date2StrXpp(dateNull())
                ));
    

    【讨论】:

      【解决方案2】:

      如果你检查Global::dateNull(),你会看到它返回'01\01\1900',你也可以看到数据库没有在这些字段中存储0:

      你可以找到更多细节here

      所以你可以按如下方式简化你的扩展范围

      qbrMainAccountActiveFrom.value(strFmt('((%1.%2 > %4) || (%1.%3 < %4))',   
                                     qbds.name(),
                                     fieldStr(DimensionAttributeValue, ActiveFrom),
                                     fieldStr(DimensionAttributeValue, ActiveTo),
                                     today()
                                     ));
      

      【讨论】:

      • 它不起作用有两个原因:范围错误(如果 ActiveFrom 和 ActiveTo 都为空怎么办?)以及日期格式不正确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      相关资源
      最近更新 更多