找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 9042|回复: 0

[技巧] NC5版本误增下级科目删除脚本

[复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:5
  • 打卡月天数:3
  • 打卡总奖励:20
  • 最近打卡:2024-11-13 21:14:02
发表于 2021-4-6 16:19:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
本帖最后由 stonys 于 2021-4-10 10:50 编辑

如何把非末级科目变成末级科目

请一定备份数据,验试通过后使用。


在实施过程中有时会碰到这样的情况,举例说明吧:

1001公司的科目1002科目的级次是这样的:1002-100201-10020101,现在末级科目已使用,用户在调整的时候发现科目1002不想有下级,从前台删除肯定是删不掉的,那要实现这种需求可以用下面的脚本。



1)必须先保留要删除的末级科目的主键:

  1. select pk_accsubj from bd_accsubj where pk_corp='单位主键' and subjcode ='末级科目编码'
复制代码


切记把结果保存下来

如:

  1. select pk_accsubj from bd_accsubj where pk_corp='1001' and subjcode ='10020101'
复制代码

保存下1001公司的10020101科目的主键“1001XXXXXXXXXXXXXXXX”

2)删除中间级科目以下的科目:

  1. delete from bd_accsubj where pk_corp='单位主键' and subjcode like'中间级科目以下的科目编码%'
复制代码


如:

  1. delete from bd_accsubj where pk_corp='1001' and subjcode like'100201%'
复制代码


删除1001公司的100201和10020101科目

3)中间级科目置为末级,第一步保留的原末级科目主键置给原中间级

  1. update bd_accsubj set pk_accsubj='原末级科目主键' ,endflag='Y'where pk_corp='单位主键' and subjcode ='中间级编码'
复制代码


如:

  1. update bd_accsubj set pk_accsubj='1001XXXXXXXXXXXXXXXX' ,endflag='Y'where pk_corp='1001' and subjcode ='1002'
复制代码


1001公司的1002科目置为末级,同时1002科目的业务数据自动转给1002科目。


您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-20 19:47 , Processed in 0.057527 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表