【053】自定义值集与实体值集互换
侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计收到 2 条评论

【053】自定义值集与实体值集互换

秋驰雪隙
2025-05-08 / 0 评论 / 8 阅读 / 正在检测是否收录...
值集设置好之后,如果有单据引用了就不允许修改了,测试后台进行修改可行,特此记录
以朗圣应收单头的私有段15发票别为例,一开始设置的ST014为自定义值集值

旧的值集值

值集ST014

新增一个要替换的新的值集(记住值集编码)

例如这里我想改成实体值集,编码为ST019

值集ST019

数据库执行以下语句

n.Code要等于新的值集编码'ST019',old.Code就是要修改的值集编码'ST014'
sql语句中的old.xxx=n.xxx左右两边保持一致,这里只是展示了实体值集可能需要用到的字段复制
如果需要复制别的字段值过来,在查询方案的栏目中找到对应字段,然后复制一个赋值的语句(包括前面的,号),把左右两边的字段名更改为你要复制值得字段名即可
UPDATE old
SET  old.ValidateType=n.ValidateType
    ,old.ValueType=n.ValueType
    ,old.EntityType=n.EntityType
    ,old.IDAttribute=n.IDAttribute
    ,old.CodeAttribute=n.CodeAttribute
    ,old.NameAttribute=n.NameAttribute
    ,old.Condition=n.Condition
    ,old.ConditionDisplayName=n.ConditionDisplayName
    ,old.OQL=n.OQL
    ,old.SQL=n.SQL
    ,old.DependantAttribute=n.DependantAttribute
    ,old.IsDependant=n.IsDependant
    ,old.DependantValueSet=n.DependantValueSet
    ,old.DependantDefaultValue=n.DependantDefaultValue
FROM Base_ValueSetDef AS old
INNER JOIN Base_ValueSetDef AS n ON n.Code = 'ST019'  -- 新的值集,覆盖完之后删除
WHERE old.Code = 'ST014';    -- 要覆盖的值集

执行SQL后的ST014

image.png

检查引用单据能正确选择与保存

应收单可以正确弹出选择,并且保存成功

image.png

删除临时新增的值集

值集'ST019'仅仅是为了能够取值覆盖到'ST014',用完检查引用单据无操作异常即可删除
0

评论 (0)

取消