找回密码
 立即注册

QQ登录

只需一步,快速开始

蓝色树叶熊

注册会员

2

主题

12

帖子

54

积分

注册会员

积分
54
最新发帖
蓝色树叶熊
注册会员   /  发表于:2024-1-24 11:37  /   查看:4705  /  回复:16
1金币
效果图.png
目前就做事假,迟到,早退的情况
应出勤天数=当月减去当月的周日合计
实际出勤天数=应出勤天数-事假
迟到=实际上班时间-正常上班时间
早退=实际下班时间-正常下班时间
正常一天上班时间是8-12和13-17点共8h,表中出勤情况的单位是天,迟到/早退的单位是分钟
这个是我做的一部分,出现了问题,它每一天的打卡情况没办法在一行中显示,应出勤天数以及事假、迟到/早退不太会算


考勤报表.zip

8.83 MB, 阅读权限: 1, 下载次数: 1699

16 个回复

正序浏览
Bella.YuanWyn认证
超级版主   /  发表于:2024-1-30 10:22:37
17#
蓝色树叶熊 发表于 2024-1-30 10:13
好的,谢谢,关掉帖子吧

回复 使用道具 举报
蓝色树叶熊
注册会员   /  发表于:2024-1-30 10:13:03
16#
Bella.Yuan 发表于 2024-1-29 17:07
您好,根据您现有数据集的字段,当月星期7的个数确实无法计算,其次您说的迟到早退的情况直接在报表中写 ...

好的,谢谢,关掉帖子吧
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2024-1-29 17:07:40
15#
蓝色树叶熊 发表于 2024-1-29 13:27
这个星期7的话就是当月天数-当月星期7的个数,这里没有一个单独的字段来记录本月星期7的总个数,这样还能 ...

您好,根据您现有数据集的字段,当月星期7的个数确实无法计算,其次您说的迟到早退的情况直接在报表中写表达式过于复杂,针对这2个情况,我推荐您使用系统后台的自定义函数的功能来计算这个值。针对自定义函数您可以参考这个链接:https://www.grapecity.com.cn/solutions/wyn/help/docs/back-stage/system-settings/reports-settings/user-functions
自定义函数编写正确后,在对应的单元格使用Code.自定义函数名称,根据实际函数传递对应的参数就可以实现。您可以根据您的实际需求,查找一下相关的资料实现一下这2个功能。


回复 使用道具 举报
蓝色树叶熊
注册会员   /  发表于:2024-1-29 13:27:31
14#
Bella.Yuan 发表于 2024-1-29 10:28
您好,应出勤天数我是直接粘贴的您的demo,所以您需要检查一下您demo中的写法,我是根据您提供的demo进行 ...

这个星期7的话就是当月天数-当月星期7的个数,这里没有一个单独的字段来记录本月星期7的总个数,这样还能算出来吗,还有迟到早退的情况,您demo里边的公式是计算应打卡时间和实际打卡时间的差值,我现在这个应该是通过iff进行判断了,情况很多,还涉及到固定时间8点,12点,13点,17点,我就不太会写公式了
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2024-1-29 10:28:55
13#
蓝色树叶熊 发表于 2024-1-27 09:52
还有迟到早退的计算也比较麻烦,这俩怎么计算出来?(最终出来的单位为分钟)
如果请假类别不为空或者实 ...

您好,应出勤天数我是直接粘贴的您的demo,所以您需要检查一下您demo中的写法,我是根据您提供的demo进行的修改,其次我查看了您的数据,确实有星期这个字段,但是数据集会跟根据日期参数进行数据过来,所以这个月的星期七的天数应该如何计算呢,这个需要您确认一下。我理解本月的星期七的天数应该是一个独立字段,不依赖数据集的参数,且应该有星期七天数这一列,此时就可以用本月天数直接去减本月的星期七的天数,就可以算出应出勤的天数。至于您说的迟到早退的计算,我demo中是根据您说的状态去进行的时间计算,计算结果是分钟,但我看您的需求又变化了,且您已经把对应的条件描述清楚了,您直接在我的demo上使用您现在的条件用对应的表达式计算应该就可以出来了,您目前是遇到什么问题呢?
回复 使用道具 举报
蓝色树叶熊
注册会员   /  发表于:2024-1-27 09:52:08
12#
Bella.Yuan 发表于 2024-1-26 13:39
不客气,您看看,如果本贴的问题已经解决了,那我就把帖子关闭啦,有其他问题您在另开新帖~

还有迟到早退的计算也比较麻烦,这俩怎么计算出来?(最终出来的单位为分钟)
如果请假类别不为空或者实际上班时间不满足以下三种情况,那么迟到为空。
1.如果请假类别为空,且8:00:00<实际上班时间<=12:00:00,则迟到=实际上班时间-正常上班时间。
2.如果请假类别为空,且12:00:00<实际上班时间<13:00:00,则实际上班时间按照当天12点计算,迟到=当天12点-正常上班时间。
3.如果请假类别为空,且13:00:00<=实际上班时间<17:00:00,则迟到=4h+(实际上班时间-当天13点)
如果请假类别不为空或者实际下班时间不满足以下三种情况,那么早退为空。
1.如果请假类别为空,且8:00:00<实际下班班时间<=12:00:00,则早退=(当天12点-实际下班时间)+4h
2.如果请假类别为空,且12:00:00<实际下班班时间<13:00:00,则实际下班时间按照13点计算,早退=正常下班时间-当天13点
3.如果请假类别为空,且13:00:00<=实际下班班时间<17:00:00,则早退=正常下班时间-实际下班时间

还有应出勤天数不对,应该是当月天数减去星期7的天数,数据集里边有个星期的字段,这个计算不出来吗?
image.png179038390.png

回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2024-1-26 13:39:08
11#

不客气,您看看,如果本贴的问题已经解决了,那我就把帖子关闭啦,有其他问题您在另开新帖~
回复 使用道具 举报
蓝色树叶熊
注册会员   /  发表于:2024-1-26 13:18:17
10#
Bella.Yuan 发表于 2024-1-26 12:17
您好,因为您的数据有上班状态和下班状态2个字段,没办法用一个字段判断迟到还是早退,所以我用了2个列分 ...

OK,可以了,谢谢
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2024-1-26 12:17:02
9#
本帖最后由 Bella.Yuan 于 2024-1-26 12:22 编辑
蓝色树叶熊 发表于 2024-1-26 11:28
就是这里的迟到早退这列如何让他一直显示,我发现他在预览的时候没有迟到/早退显示这列。还有这里每天的话 ...

您好,因为您的数据有上班状态和下班状态2个字段,没办法用一个字段判断迟到还是早退,所以我用了2个列分组加过滤来做迟到和早退。您可以点开报表设计具体看一下这一块的设计。
image.png758059081.png
您说的数据展示问题,这个可以给对应的分组设置排序规则就可以,您试试。
image.png828302917.png
回复 使用道具 举报
蓝色树叶熊
注册会员   /  发表于:2024-1-26 11:28:57
8#
就是这里的迟到早退这列如何让他一直显示,我发现他在预览的时候没有迟到/早退显示这列。还有这里每天的话如何让他按照顺序排下去呢?我用我们真正数据的时候,他这里天数是乱序的。
image.png854648132.png
image.png126468810.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部