【长沙用友U8+】薪资管理-当月多次分段计薪取数不对案例解析
作者:用友软件(广州)客户服务中心
来源:www.ufida168.com
发布时间:2025-10-24
【U8+】薪资管理-当月多次分段计薪取数不对案例解析一、案例背景 (一)实际场景 2021年1月内,某员工(工号 001,人员编码 GY)“基本工资”(工资项目编码‘nbasesalary’)发生 3 次调资,具体变动如下:
(二)原计算公式与条件 内容:工资变动情况表.变动后工资数额/ Daysofmonth( 薪资分段计薪明细表.年, 薪资分段计薪明细表.期间)* 薪资分段计薪明细表.天数 条件:YEAR( 工资变动情况表.起薪日期) 等于 薪资分段计薪明细表.年 并且 MONTH( 工资变动情况表.起薪日期) 等于 薪资分段计薪明细表.期间 并且 工资变动情况表.工资项目 等于 'nbasesalary' 问题发现:分段工资都取的是最后一条数据的 二、案例分析 (一)问题定位 通过维护数据发现,分段计薪时未区分调资区间,统一取 “工资变动情况表” 中最后一条调资数据(即 2021-01-29 变动后工资 30000),导致所有区间分段工资均显示 30000,与实际需求不符。
(二)调资区间与正确取数逻辑(思考一:应该取什么数据?) 1月需拆分为4个计薪区间,各区间对应正确工资数据如下:
(三)数据筛选条件设计(思考二:如何过滤对应数据行?) 发现可以通过工资变动情况表的起薪日期和薪资分段计薪明细表的结束日期和开始日期进行对比,定位各区间对应的数据行: 2021-1-1到2021-1-19 、 2021-1-20到2021-1-26、 2021-1-27到2021-1-28这三段,满足 DayAdd(1, 薪资分段计薪明细表.结束日期)= 工资变动情况表.起薪日期 ,取工资变动情况表.变动后工资数额- 工资变动情况表.变动数额 2021-1-20到2021-1-26、 2021-1-27到2021-1-28、2021-1-29到2021-1-31这三段,满足 薪资分段计薪明细表.开始日期=工资变动情况表.起薪日期,取工资变动情况表.变动后工资数额 三、解决方案 (一)步骤 1:设置数据筛选条件 核心条件: 工资变动情况表.工资项目 等于 'nbasesalary‘ 并且 (薪资分段计薪明细表.开始日期=工资变动情况表.起薪日期 或者 DayAdd(1, 薪资分段计薪明细表.结束日期)= 工资变动情况表.起薪日期) 方式:求值 勾选所有记录,确保精准过滤各区间对应的数据行
(二)步骤 2:设计分情况计算公式 调整公式设置当结束日期小于起薪日期取调整前,结束日期大于起薪日期取调整后,分场景计算分段工资: 分情况 如果 薪资分段计薪明细表.结束日期< 工资变动情况表.起薪日期 那么 工资变动情况表.变动后工资数额- 工资变动情况表.变动数额 如果 薪资分段计薪明细表.结束日期>= 工资变动情况表.起薪日期 那么 工资变动情况表.变动后工资数额 否则 0 结束
调整公式,将分段工资/ Daysofmonth( 薪资分段计薪明细表.年, 薪资分段计薪明细表.期间)* 薪资分段计薪明细表.天数,得到最终的这个区间的工资: 分情况 如果 薪资分段计薪明细表.结束日期< 工资变动情况表.起薪日期 那么 (工资变动情况表.变动后工资数额- 工资变动情况表.变动数额)/ Daysofmonth( 薪资分段计薪明细表.年, 薪资分段计薪明细表.期间)* 薪资分段计薪明细表.天数 如果 薪资分段计薪明细表.结束日期>= 工资变动情况表.起薪日期 那么 工资变动情况表.变动后工资数额/ Daysofmonth( 薪资分段计薪明细表.年, 薪资分段计薪明细表.期间)* 薪资分段计薪明细表.天数 否则 0 结束 条件为:工资变动情况表.工资项目 等于 'nbasesalary‘ 并且 (薪资分段计薪明细表.开始日期=工资变动情况表.起薪日期 或者 DayAdd(1, 薪资分段计薪明细表.结束日期)= 工资变动情况表.起薪日期) 方式:求值 勾选所有记录 (三)步骤 3:验证计算结果 1月各区间分段工资计算结果(2021 年 1 月共 31 天):
四、案例总结 1、取数思路:面对多行数据取数问题,需先明确 “各区间应取什么数据”,再设计 “如何筛选到对应数据行”,避免直接套用默认逻辑 2、操作要点:多行数据取唯一记录数值时,需通过 “勾选所有记录 + 选择求值 + 设置精准条件” 过滤数据行,再结合区间日期关系分情况计算,确保结果准确。
1 END 1
|
关键词: 系统管理,财务管理,用友管理,用友U8 cloud,财务,销售,用友U8c供应链管理软件,采购管理,U8c销售管理软件
相关服务








