业务员基础资料业务员编码的应用变化说明原创
金蝶云社区-hansenchu
hansenchu
24人赞赏了该文章 4,334次浏览 未经作者许可,禁止转载编辑于2020年09月08日 18:24:43
summary-icon摘要由AI智能服务提供

本文讲述了业务系统升级后,为适应一人多岗情况,将业务员编码从员工编码改为唯一性的员工任岗编码。此举解决了因员工编码重复导致的数据匹配错误问题。文章还提供了若客户无需多岗应用或暂不改二开程序,可将业务员编码恢复为员工编码的变通方案,并介绍了具体操作步骤。同时,对于未来可能的一人多岗应用,也给出了相应的转换建议。

       在以往的版本中,业务员的业务员编码就是员工编码,但在新的版本中,标准产品修改为使用具有唯一性的员工任岗编码作为业务员编码。这个修改主要背景是随着业务应用的多元化,有不少企业中会有一人任多个岗位的情况,如果依然使用员工编码做业务员编码,那么多个岗位下业务员,业务员编码是一样的,在引入单据时候,通过编码引入销售员等,就会引入数据不准确。

       举个例子,员工Y的员工编码是001,Y在A、B两个组织下都有任岗,且都是销售员,此时,这两个销售员的业务员编码都是001。通过API接口或者Excel引入,导入客户资料的时候,使用编码001引入客户的销售员,此时,由于编码重复,系统每次都只能匹配到其中一个组织下的销售员,如A组织下的销售员。如果此时导入的客户是B组织的,那么导入完毕之后,客户的销售员是A组织下的销售员001,对应的销售部门也是A组织的,这种数据就是错误的,在销售订单上选择客户之后,会带不出默认的销售员和销售部门。

       因此,在这个背景之下,标准产品对此作出了改进,使用具有唯一性的员工任岗编码作为业务员编码,以适应新的业务编码。相关的应用介绍也可以参阅以下相关帖子:https://vip.kingdee.com/article/181797 

       不过,这个改进,多少会影响客户部分使用到销售员的二开程序,如二开报表过滤取值,API接口的销售员字段传值等。建议客户优先考虑对二开的程序相应的做出改进,以适应新的业务变化可能的出现。但是,也确实有部分客户是不会应用一人任多岗的场景,又或者一些其他因素,暂不方便对二开程序做出修改,对于这类客户,也有变通的方案可以将业务员的业务员编码恢复为使用员工编码,具体的方案如下介绍。

       第一步:在BOS设计器中,打开业务员的元数据单据,在职员字段的值更新里新增一条值更新携带服务事件,功能是将职员的员工编码携带赋值到业务员编码字段,如下图所示:

图片.png


       第二步,对于现有的历史数据,业务员编码的值已变更为员工任岗编码了,可以使用以下的脚本,在数据库中直接进行数据刷新,将业务员编码刷新为员工编码:

Merge into T_BD_OPERATORENTRY T
using
(
   select T1.FENTRYID,S.FNUMBER from T_BD_OPERATORENTRY T1 inner join T_BD_STAFF S on T1.FSTAFFID=S.FSTAFFID
) T0 on T.FENTRYID=T0.FENTRYID
when matched then update set T.FNUMBER=T0.FNUMBER;

      

       通过上述两步变通操作,系统的业务员编码就会恢复为员工编码。

      如果后续启用一人多岗的应用,建议再次将业务员编码再度改为使用具有唯一性的员工任岗编码,以适应新的业务编码。此时的处理方案是将第一步中新增的值更新事件取消或删除,然后再用以下脚本将业务员编码刷新为员工任岗编码即可:

Merge into T_BD_OPERATORENTRY T
using
(
   select T1.FENTRYID,S.FSTAFFNUMBER from T_BD_OPERATORENTRY T1 inner join T_BD_STAFF S on T1.FSTAFFID=S.FSTAFFID
) T0 on T.FENTRYID=T0.FENTRYID
when matched then update set T.FNUMBER=T0.FSTAFFNUMBER;

赞 24