二开资产卡片使用分配页签,去除唯一性校验,将自定义字段携带到
背景:最近两次客户支持中,发现存在一种特殊客户需求,卡片使用分配页签,去除标准产品的唯一性校验,只有自定义字段不同,希望能自动携带到折旧调整单使用分配页签。测试数据和结果如下:
通用二开方案:(记得一定要在测试环境测试通过后,才可以在正式环境做相同配置,正式环境配置前记得备份表(T_FA_Allocation)) 1.扩展单据-资产卡片,去除资产编码+使用部门+使用人+费用项目的唯一性校验2.在资产卡片使用分配页签,添加一个基础资料字段,另外再添加自定字段(一个或多个均可),本文以添加一个辅助基础资料作为例子3.修改并隐藏原来的使用人字段4.配置测试用的辅助基础资料字段(基础资料,文本等,都可以)5.扩展折旧调整单同样添加一个基础资料字段,并添加相同的扩展字段6.隐藏原来的使用人字段,配置和卡片稍有区别7.扩展字段相同配置即可。8.最重要的一步,也是最后一步,执行脚本,为卡片使用分配添加自增列,配置完成后。sql环境:执行以下脚本:
UPDATE T_FA_ALLOCATION SET FUSERID1=FUSERID WHERE FUSERID>0;
ALTER TABLE T_FA_ALLOCATION DROP DF__T_FA_ALLO__FUSER__751B966C
ALTER TABLE T_FA_ALLOCATION DROP COLUMN FUSERID
ALTER TABLE T_FA_ALLOCATION ADD FUSERID INT IDENTITY(1,1)
oracle环境:执行以下脚本:UPDATE T_FA_ALLOCATION SET FUSERID1=FUSERID WHERE FUSERID>0;
CREATE SEQUENCE Z_FA_USERID
MINVALUE 1
START WITH 1
INCREMENT BY 1
NOCACHE;
CREATE OR REPLACE TRIGGER TRI_ALLOCATION_USERID
BEFORE INSERT ON T_FA_ALLOCATION
FOR EACH ROW
DECLARE
NEXTID NUMBER;
BEGIN
IF :NEW.FUSERID IS NULL OR :NEW.FUSERID=0 THEN
SELECT Z_FA_USERID.NEXTVAL
INTO NEXTID
FROM SYS.DUAL;
:NEW.FUSERID:=NEXTID;
END IF;
END TRI_ALLOCATION_USERID;
UPDATE T_FA_ALLOCATION SET FUSERID=-FID WHERE FUSERID=0;
二开资产卡片使用分配页签,去除唯一性校验,将自定义字段携带到
本文2024-09-23 02:21:33发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-151893.html