本文介绍了如何在系统中新建一个业务员类型(如“技术支持”)的步骤,包括在BOS中添加枚举值、在数据库中创建相关表视图,并复制现有基础资料(如“采购员”)进行修改以适配新业务员类型。同时提及了新增类型在单据上的应用方法,并探讨了复制基础资料时可能附带的SCM列表插件的潜在影响。
【概述】标准系统预置的业务员类型:采购员、销售员、计划员等,不满足我的实际需求,我想新建一个业务员类型,如何操作?
【思路】
1、在BOS中【业务员】单据【业务员类型】的枚举中,添加一个枚举值;
2、在数据库中,创建新增的业务员类型的主表视图、多语言表视图、明细表视图;
3、复制【采购员】(以这个为例)新增一个基础资料,该基础资料的表名修改为创建的主表视图名,单据体表名修改为创建的明细表视图即可。
【详细操作】
下面以创建一个【技术支持】业务员类型为例:
第一步、在BOS中【业务员】单据【业务员类型】的枚举中,添加一个枚举值(该枚举值需记下来,创建视图需要用到);
第二步、在数据库中,创建新增的业务员类型的主表视图、多语言表视图、明细表视图;视图的名称可自定义取,但建议取个有意义的名称,如:V_BD_SUPPORT,V_BD_SUPPORT_L(多语言的视图要注意,为主表视图名_L,这个非常重要),V_BD_SUPPORTENTRY
示例中创建的SQL代码如下(可供参考):
/*创建【技术支持】主表视图*/
CREATE VIEW V_BD_Support AS
SELECT B.FENTRYID fid,
B.FENTRYID fmasterid,
C.FNUMBER,
C.FSTAFFID,
C.FDOCUMENTSTATUS,
C.FFORBIDSTATUS,
A.FCREATORID,
A.FCREATEDATE,
A.FMODIFIERID,
A.FMODIFYDATE,
B.FBIZORGID,
B.FISUSE,
C.FDEPTID
FROM T_BD_OPERATOR A
INNER JOIN T_BD_OPERATORENTRY B
ON A.FOPERATORID = B.FOPERATORID
INNER JOIN T_BD_STAFF C
ON B.FSTAFFID = C.FSTAFFID
WHERE B.FOPERATORTYPE = 'JSZC'
/*创建【技术支持】主表多语言视图,注意多语言视图名为主表视图名+【_L】*/
CREATE VIEW V_BD_Support_L AS
SELECT A.FENTRYID fid,
C.FPKID,
A.FSTAFFID,
C.FLOCALEID,
C.FDESCRIPTION,
C.FNAME
FROM T_BD_OPERATORENTRY A
INNER JOIN T_BD_STAFF B
ON A.FSTAFFID = B.FSTAFFID
INNER JOIN T_HR_EMPINFO_L C
ON B.FEMPINFOID = C.FID
WHERE A.FOPERATORTYPE = 'JSZC'
/*创建【技术支持】明细视图*/
CREATE VIEW V_BD_SupportENTRY AS
SELECT A.FENTRYID fid,
B.FSUBENTRYID fentryid,
B.FOPERATORGROUPID,
B.FISDEFAULT
FROM T_BD_OPERATORENTRY A
INNER JOIN T_BD_OPERATORDETAILS B
ON A.FENTRYID = B.FENTRYID
WHERE A.FOPERATORTYPE = 'JSZC'
第三步、复制【采购员】(以这个为例)新增一个基础资料,该基础资料的表名修改为创建的主表视图名,单据体表名修改为创建的明细表视图。
1、复制【销售员】新建一个基础资料;
2、复制后打开的新窗口,不要急着保存,修改完相关属性再保存,具体如下:
修改完成后,保存BOS即可完成。
【实现后的效果】
【实际应用】
如果希望在单据上添加这个新增的业务员类型,如何操作?
以上为所有的步骤。如对操作过程有疑问或步骤有错漏之处,可在后面跟帖回复,或者私信我。感谢您的支持!
【待思考确定】
复制【采购员】新建的基础资料,会带上一个SCM的列表插件,不确定是否会有什么影响,在目前测试中,我尝试启用跟停用,都不影响我F8的选择,有兴趣的小伙伴可以自行研究下,或者遇到有影响的情况,欢迎分享交流!
推荐阅读