1/5用友股份-LE支持服务业务本部产品方案--《会计平台中凭证类别的设置》建立日期:2013-08-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-CP-2013-06792/5文档控制创建记录适用范围审阅人日期审阅签字所属部门发布范围内部员工伙伴客户发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-08-01崔树成产品支持部V1.0版本领域模块备注3/5目录会计平台中凭证类别的设置....................................................................................4一、需求描述............................................................................................................4二、需求分析及解决................................................................................................4三、注意事项............................................................................................................54/5会计平台中凭证类别的设置一、需求描述客户需求:对角色设置了凭证类别的资源权限和权限分配,在报销单据的凭证模板定义中设置了按录入人员条件的判断条件取不同的凭证类别.二、需求分析及解决问题分析:在会计平台模板设置中我们只能选取到录入人,要根据录入人的主键去定位该用户的角色,然后通过iif公式对角色的编码进行判断来取对应凭证类别的值。首先我们要通过人员主键找到对应角色的主键AA->getColValue(sm_user_role,pk_role,cuserid,@录入人0@);然后通过角色主键取到角色编码BB->getColValue(sm_role,role_code,pk_role,A);然后通过iff函数做判断取相应的凭证类别iif(B="nc",getBDPk("凭证类别","进贤记账凭证","10051110000000000Y0E"),getBDPk("凭证类别","记账凭证","0001DEFAULT000000001"))将以上公式结合起来:A->getColValue(sm_user_role,pk_role,cuserid,@录入人0@);B->getColValue(sm_role,role_code,pk_role,A);5/5iif(B="nc",getBDPk("凭证类别","进贤记账凭证","10051110000000000Y0E"),getBDPk("凭证类别","记账凭证","0001DEFAULT000000001"))三、注意事项此时一般这样设置完之后,然后生成凭证时会报错:凭证类别不存在或该类别未分配权限这是因为我们在权限管理的给用户分配角色时,系统会默认将公司管理员的角色给分配上了,导致在B->getColValue(sm_role,role_code,pk_role,A);返回的值是公司管理员我们可以在权限分配中将公司管理员的就角色去掉就可以了。