NC用户自定义属性删除及修改某自定义项脚本

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服务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡图图爸爸胡英俊

文章自得方为贵,衣钵相传岂是

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值