IT0009中的payment method

一般来说,设置为‘Bank Transfer’ ‘Check’ 或者其他方式时,
在payroll的P0009 X050步骤中,最后的payment会进入/558, /559这些wagetype。
只有当选择了‘Cash Payment’时,会进如/557

但是,当你观察PCRule 'X050'的写法时,会发现一个奇怪的地方。
在判断Payment Method Code: P0009-ZLSCH ( VARKEYZLSCH)的分支处,hard code了code = '2' 为Cash Payment。

但实际上,Cash Payment的code是blank' '。而其他payment method也是在V_T042ZL中配置的,并且未找到code = '2'的配置。
通过查看operation VARKEY的源代码,我们可以发现,在代码里当ZLSCH为空的时候,hard code了返回值‘2’。
这也是X050这段分支为什么可以work的原因。

网友评论