Dim stime As Double = dt.compute("sum(计件工时)", "日期=#" & ary(0) & "# and 生产形式='" & ary(1) & "' and (规格 <> '机动' or 规格 is null)")规格不等于机动或规格为空值,把统计计件工时赋值于stime变量,也就是统计打砂员工的计时工时赋值给stime变量,我的题:“规定4个人打砂,配置一名机动人员,机动人员工资占计件工资23%;6人打砂配置2名机动人员,机动人员工资占计件工资26%。 即如果生产形式为安比例计提,当天总人数大于等于8人,打砂人员分配后应得金额等于计件金额乘74%,2名机动人员按当天各自的工作时间长短分配当天26%的计件总金额,如果当天总人数小于8人,打砂员工分配后应得金额等于计件金额乘77%,2名机动人员按当天各自的工作时间长短分配当天23%的计件总金额。如果生产形式为集体直接分配(不同人组成不同组,生产形式以集体直倿分配1、集体直倿分配2、集体直倿分配3等识别),分配后应得金额等于计件金额除于这个组的人数平分,生产形式为个人,分配后应得金额等于数量乘单价,如果备注列显示客户返工,按价目表中该规格对应单价2倍计算,如果备注列显示喷涂返工,按价目表中该规格对应单价3倍计算。”打砂员工是不需要安生产时间比例分配的,安生产时间比例分配的是机动人员。
Dim dj As Double = smoney * bl / stime
统计同一天,生产形式相同的金额,乘于分配比率,再除于打砂员工计件工时合计,赋值给变量dj,我的表计件工时列不会有打砂员工工时,只有机动员工生产工时,因为只对机动人员有用,打砂员工安比例分配的分配后金额等于计件金额乘分配比率,不用再除计件工时合计。
从题可知生产形式有3种:一种是金额乘分配比例的安比例分配,另一种是当天金额汇总除于当天不重复人数的集体直接分配(这种方法分配,重名的工资只显示一次。),第三种数量乘单价的个人分配,因此分配后金额列的程序应分别情况计算,你的程序未完成。
[此贴子已经被作者于2016/2/26 21:47:12编辑过]