1.用户自定义属性删除
--启用的用户定义属性一旦做了数据之后是不允许删除的,因为一旦删除那么该字段所作的数据就失效了,如果需--要修改可按以下步骤,操作数据库:
--1.根据用户定义属性中左侧树节点的code查询出pk_userdefrule
select * from bd_userdefrule where code='paybill_head'
--2.根据1中查出的pk查询启用的用户定义属性
select * from bd_userdefitem where pk_userdefrule='1001Z61000000000ZCDR'
--3.从2中的查询结果找出需要删除的记录
select * from bd_userdefitem where pk_userdefitem='xxxx'
--4.到3中结果导出成SQL备份
--5.删除
delete from bd_userdefitem where pk_userdefitem='xxxx'
--6.提交
commit;
2.修改某自定义项脚本
-- 1、更改表中字段长度--可修改数据库表的字段长度
alter table 表名 modify 字段名 varchar2(字段长度);
-- 2、查询md_column中要改单据元数据中的所有字段信息
select * from MD_COLUMN where tableid = '表名'
-- 3、修改要修改的元数据字段长度
update MD_COLUMN set columnlength = 字段长度 where id = '表名@@@字段名'
--4、在md_class表中查找对应的id
示例:
select * from md_class where defaulttablename='er_bxzb'
在结果集中,查找displayname为‘报销单’的id的值 d9b9f860-4dc7-47fa-a7d5-7a5d91f39290
--5、查看在表md_property字段attrlength长度并修改
select * from md_property where classid='d9b9f860-4dc7-47fa-a7d5-7a5d91f39290' and name = 'zyx1';
update md_property set attrlength=500 where classid = 'd9b9f860-4dc7-47fa-a7d5-7a5d91f39290' and name = 'zyx1';
--6、库存的单据修改后需要更改流水表和流水历史表(以表头自定义项三为例)
-- 流水表
alter table ic_flow modify vheaduserdef3 varchar(2000);
update md_property set attrlength=2000 where classid in (select id from md_class where defaulttablename in ('ic_flow')) and name in ('vheaduserdef3');
update md_column set columnlength=2000 where tableid in ('ic_flow') and name in ('vheaduserdef3');
-- 流水历史表
alter table ic_flowaccount_his modify vheaduserdef3 varchar(2000);
update md_property set attrlength=2000 where classid in (select id from md_class where defaulttablename in ('ic_flowaccount_his')) and name in ('vheaduserdef3');
update md_column set columnlength=2000 where tableid in ('ic_flowaccount_his') and name in ('vheaduserdef3');
--7、提交事务
commit;
--8、最后需要重启中间件生效(重启服务器NC服务)
---下面的可以不执行
-- 4、修改用户定义属性表中的长度(如果没有设置用户定义属性不需要改这条)
-- 4.1 找到单据对应的用户定义属性组主键
select pk_userdefrule,name from bd_userdefrule WHERE name like '%单据名称%'
-- 4.2 找到单据对应的用户定义属性并修改字段输入长度
update bd_userdefitem set inputlength = 字段长度 WHERE pk_userdefitem in (select pk_userdefitem from bd_userdefitem WHERE pk_userdefrule = '用户定义属性组主键' and propindex in ('单据字段位置'))
-- 5、重启服务器NC服务