EAS Cloud 固定资产卡片DEP二开最佳实践
一、业务场景
固定资产卡片贯彻固定资产整个生命流程,从资产取得到资产退出,基本都是围绕着固定资产卡片做业务,做的业务又反应到固定资产卡片上
固定资产标准的场景可能无法完全覆盖到客户的需求,有时候需要客户自己进行二开处理
二开处理大多分为两方面,对卡片的二开处理,对卡片所做业务的二开处理
二、实践思路
固定资产卡片解析
固定资产卡片一共有四种,互有联系,分别是当前卡片(T_FA_FaCurCard)、业务卡片(T_FA_FaBizCard)、备份卡片(T_FA_FaBakCard)、月结卡片(T_FA_FaMonCard)
当前卡片(T_FA_FaCurCard)
一般来说卡片序时薄界面上看到就是当前卡片,当前卡片的信息展示是随着固定资产期间变动而变动的,上面的信息主要是当前期间卡片及卡片所做业务的反应
业务卡片(T_FA_FaBizCard)
卡片做业务(变更、清理等)时,改变后的值保存在业务卡片上,一般业务单据看到的卡片信息是业务卡片的信息,业务审核时会用业务卡片覆盖当前卡片信息,此时当前卡片就反应已经做了这笔业务了
备份卡片(T_FA_FaBakCard)
卡片做业务(变更、清理等)时,改变前的值保存在备份卡片上,以便当单据反审核时,可以用备份卡片上的值去恢复当前卡片
月结卡片(T_FA_FaMonCard)
固定资产做月结时,需要为这一期卡片保留那个期间的卡片状态,以便报表查询或反结账恢复当前卡片数据等用,月结时会生成月结卡片记录,也用于初始化卡片,初始化卡片的月结会计期间为NULL
固定资产卡片联系
如果想找到当前卡片ID,可以通过组织ID和编码在当前卡片表(T_FA_FaCurCard)中找到
如果想找到备份卡片ID,可以通过当前卡片ID在备份卡片表(T_FA_FaBakCard)中找到
如果想找到业务卡片ID,可以通过备份卡片ID在业务卡片表(T_FA_FaBizCard)中找到
如果想找到月结卡片ID,可以通过当前卡片ID在月结卡片表(T_FA_FaMonCard)中找到
对卡片的二开处理
一般涉及对卡片的新增(含效果等同的拆分\组合\调拨\盘盈等业务)、修改、审核、反审核、删除
对卡片所做业务的二开处理
一般涉及对卡片的变更(含效果等同的评估\维修\盘点\减值等业务)
一般涉及对卡片的清理(含效果等同的拆分\组合\调拨\盘亏等业务)
三、详细设计
对卡片的二开处理(以DEP实现新增二开字段为例)
1、新增DEP方案【固定资产测试】,导入【固定资产卡片维护】扩展单元
2、为卡片编辑界面新增字段【固定资产测试】
3、分别导入【备份卡片】、【业务卡片(业务单据的分录)】、【每期月结卡片(包括初始化卡片)】这三个实体
4、分别为【备份卡片】、【业务卡片(业务单据的分录)】、【每期月结卡片(包括初始化卡片)】这三个实体添加DEP新增的字段(注意字段名称、别名、类型、长度须与【固定资产卡片】实体该字段属性保持一致),以备份卡片为例,需要把【业务卡片(业务单据的分录)】、【每期月结卡片(包括初始化卡片)】也添加一下
5、设置好后保存扩展方案,启用,就可以在卡片编辑界面使用这个字段了
6、卡片编辑界面有这个字段后,如何实现在列表界面把该字段显示出来呢?
选到刚才的DEP方案【固定资产测试】-【列表界面】-【固定资产卡片】,右键选择【编辑表信息】,新增一列【固定资产测试】
选到刚才的DEP方案【固定资产测试】-【业务数据源】-【当前卡片Query】,导入查询字段【固定资产测试】
回到刚才的DEP方案【固定资产测试】-【列表界面】-【固定资产卡片】,右键选择【数据绑定】,添加绑定即可
启用DEP,看实现效果,可以在列表界面显示该字段
7、卡片列表界面有这个字段后,如何实现在通用条件查询中对该字段进行过滤、排序等操作呢?
选到刚才的DEP方案【固定资产测试】-【业务数据源】-【当前卡片Query】,选择查询字段【固定资产测试】,新增【扩展属性】即可
启用DEP,看实现效果,可以利用该字段进行过滤和排序
8、该字段如果想要打印,应该怎么配置呢?
选到刚才的DEP方案【固定资产测试】-【编辑界面】-【固定资产卡片】,右键查看【数据绑定】,将对象属性名复制出来【FaCurCard.kDTextField】,从第一个点之后开始复制,即套打字段名【kDTextField】
打开【套打管理】、配置【套打元数据】,【套打模板】,然后打印即可
9、该字段如果想要在BOTP规则中使用到,应该怎么配置呢?
回到刚才的DEP方案【固定资产测试】-【实体】-【固定资产卡片】,修改【字段扩展属性】即可
10、该字段如果想要实现一些校验逻辑,比如校验必录,该怎么实现呢?
编辑界面选到【扩展定义】,选择对提交方法【ActionSubmit】进行扩展,由于我们是要加校验逻辑,所以我们对该方法进行【前置脚本】扩展
// 获取编辑界面该控件的值 var vstatus = pluginCtx.getKDTextField("txtkDTextField").getStringValue(); // 如果值为空,抛出提示 if (vstatus == null){ com.kingdee.eas.util.client.MsgBox.showInfo("请注意,固定资产测试字段不能为空"); com.kingdee.eas.util.SysUtil.abort(); }
列表界面选到【扩展定义】,选择对提交方法【ActionSubmit】进行扩展,由于我们是要加校验逻辑,所以我们对该方法进行【前置脚本】扩展
// 获取页面提交选择的单据 var selectRow = pluginCtx.getKDTable("tblMain").getSelectManager().getActiveRowIndex(); // 获取该单据的ID var vstatus = pluginCtx.getKDTable("tblMain").getCell(selectRow,"id").getValue(); // 通过ID获取该单据【CFKDTextField】字段的值 var sql = "select CFKDTextField from t_fa_facurcard where fid = '" + vstatus + "'"; var rs = com.kingdee.bos.dao.query.SQLExecutorFactory.getRemoteInstance(sql).executeSQL(); var result = null; while(rs.next()) { result = rs.getString("CFKDTextField"); } // 如果该字段值为空,抛出提示 if (result == null) { com.kingdee.eas.util.client.MsgBox.showInfo("请注意,固定资产测试字段不能为空"); com.kingdee.eas.util.SysUtil.abort(); }
对卡片所做业务的二开处理(DEP实现对上面添加字段【固定资产测试】的变更)
基于上面的DEP方案【固定资产测试】,导入【变更单】扩展单元
查看变更单编辑界面,已有一个字段【固定资产测试】
右键选择【数据绑定】,此时绑定的是当前卡片的字段,此时绑定正确
启用DEP方案【固定资产测试】,进行变更操作,由于我们在卡片新增字段时已经把其他三个卡片(备份卡片、业务卡片、月结卡片)相应字段也新增了,所以此时变更单可以正常变更我们添加的字段
1、提交变更单,此时未审核
2、提交变跟单,此时已审核
四、代码样例
无
五、注意事项
1、在进行DEP对卡片进行扩展时,需要注意同时将该字段加入到另外三张卡片(备份卡片、业务卡片、月结卡片)中,再进行下一步扩展
2、对卡片进行字段扩展时,注意卡片字段校验逻辑,避免后续产生数据问题
六、补丁影响
基于已有的补丁进行DEP扩展即可
EAS Cloud 固定资产卡片DEP二开最佳实践
本文2024-09-22 18:50:25发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-103368.html