CR计算公式时读取最后一条记录

时间:2019-01-25 19:06:43

标签: crystal-reports report record

Error Message Shown

我有一个计算字段,用于创建日期值。我有另一个字段,用于在返回响应时评估计算出的日期值。 CR在计算周年日期值时正在读取最后一个记录值,这会在第二次评估中产生错误。

我试图定义各种组,以将记录分组在一起。

我的第一个计算是在当年内创建“周年纪念日”

[if {vHEmployee.EmployeeID}={vDaily.EmployeeID}then

if date(year(date({?End})),month({vHEmployee.AdjSeniorityDate}),day({vHEmployee.AdjSeniorityDate}))<=date({?End}) then
 date(year(date({?End})),month({vHEmployee.AdjSeniorityDate}),day({vHEmployee.AdjSeniorityDate})) else
 date((year(date({?End}))-1),month({vHEmployee.AdjSeniorityDate}),day({vHEmployee.AdjSeniorityDate}))]

第二次评估是确定一个基于“周年纪念日”的预设值

[if {vHEmployee.EmployeeID}={vDaily.EmployeeID}then
(if date(datetime({@Chgdate})<if date(datetime({@Anniversary Date}))then{vDaily.ActualHours} else 0)]

我遇到的错误是由于最后一位雇员的调整后的资历日期落在“ chgdate”之后,系统在计算“重置前时间”时打h了无效功能。

我试图在此处粘贴错误,但显然无法插入图像。显示为#2018-05-07#的周年纪念日来自Employeeid 2622之前的员工。由于记录CHGDATE显示为#2018-01-17#,因此系统无法评估。我曾试图为声明的错误方面强加一个日期,但它不接受日期。

我试图按部门,按部门将员工在一段时间范围内的病假时间进行分组。如果他们的周年纪念日和月份落入选择范围之内,我将累积他们的周年纪念日和日期前后的小时数(因此重置其累加器)。只要先前的记录不是该范围内的新员工,报告就可以工作。对于那些在新员工提前安排工龄前生病的员工,此方法将失败。

0 个答案:

没有答案
相关问题