【问题标题】:Report Designer Work Calendar Date Difference报表设计器工作日历日期差异
【发布时间】:2017-05-17 18:38:53
【问题描述】:

我有一个使用 DateDiff 函数将今天与我们称为 ShipBy 的自定义字段进行比较的报告显示订单的延迟天数。它工作得很好,因为我得到了逾期的总天数,包括周末和节假日,但客户需要在逾期的工作日看到它。换句话说,排除周末和节假日,以便仅显示订单逾期的实际工作日。

报表设计器是否有内置的东西可以使用 Acumatica 工作日历计算 DateDiff?除了创建自定义函数和填充了可用工作日期的 DAC 之外,在报表设计器中还有其他方法可以解决这个问题吗?

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    据我所知,没有任何公式函数可以做到这一点。报表公式对原始类型进行操作,Acumatica 工作日历是一种复杂类型。拥有适用于 Acumatica 程序集复杂类型的脚本函数对于图形函数来说是多余的。

    您可以在此处查找日期/时间公式函数: https://help.acumatica.com/(W(25))/Wiki/ShowWiki.aspx?pageid=00a69dbb-c06b-4ce4-8b29-e86ee0e8ed47

    报表设计器中的查询生成器也不适合复杂的业务规则。我相信您应该为业务规则代码使用适当的层,即图表。

    【讨论】:

      【解决方案2】:

      我在 GI 中使用过这个。

      =(DateDiff('d', [PeriodStart], [Now])) + 1 - DateDiff('w', DateAdd([PeriodStart], 'd' , 0 -(DayOfWeek([PeriodStart]) -1)) , DateAdd([Now], 'd', 2 - DayOfWeek( [PeriodStart]) )) * 2 - Switch((DateDiff('d', [PeriodStart], [Now]) + 1) % 7 > 0 And DayOfWeek([PeriodStart]) = 1, 1,(DateDiff('d', [PeriodStart], [Now]) + 1) % 7 + DayOfWeek( [PeriodStart]) = 8, 1,(DateDiff('d', [PeriodStart], [Now]) + 1) % 7 + DayOfWeek( [PeriodStart]) > 8, 2,True, 0)
      

      【讨论】:

        猜你喜欢
        • 2018-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多