nc用友删除的东西怎么恢复:企业级误删数据找回操作指南

面向NC系统管理员、财务及业务人员的误删数据应急操作手册

发布时间:2026-02-22 11:44:32 作者:
nc用友删除的东西怎么恢复,用友NC数据恢复,NC误删单据找回,NC回收站恢复,NC逻辑删除恢复

结论先看

  • NC中绝大多数删除是逻辑删除,dr=1即具备恢复前提
  • 优先走【显示已删除】→【恢复】路径,无需SQL或重启服务
  • 已结账期间、已生成凭证、主子表不完整三类场景不可安全恢复
  • 恢复前必须校验权限、期间状态与凭证关联性
  • 生产环境禁用裸SQL更新,必须同步刷新ts时间戳字段

最短路径

进模块列表页 → 点【更多】
选【显示已删除】
勾选目标单据 → 点【恢复】
核对状态栏‘恢复成功’提示

问题速览

恢复可行性前提

判断是否具备技术恢复条件的基础门槛

dr字段=1未超90天保留期模块开关已启用

关键状态校验项

执行恢复前必须人工确认的4个运行态

当前期间未结账无下游凭证生成角色含数据恢复权限
🔍 快速判断:打开NC首页右上角【个人中心】→【系统信息】,查看‘删除策略’是否显示‘软删除启用’;若为‘硬删除’或空白,则本次删除不可恢复。

采购入库单删除后恢复触发条件

入库单状态为‘已审核’且未生成应付凭证时,恢复按钮可用

供应商档案删除后权限误判场景

角色未分配【基础资料】→【供应商】→【恢复】权限,导致列表无【显示已删除】入口

应付凭证关联单据恢复异常样本

应付单已生成凭证,恢复后凭证仍存在但单据状态异常,需手工冲销再生成

主子表不一致导致的恢复失败路径

仅恢复ap_payable头表,未同步更新ap_payable_b子表,保存时报‘子表数据丢失’

问答区

Qnc用友删除的东西怎么恢复?有没有一键还原功能?

A:NC系统没有全局‘一键还原’按钮。恢复必须按单据类型进入对应模块,通过【显示已删除】入口操作。该功能本质是前端过滤dr=1记录并允许重置状态,非数据库级快照回滚。

  • 采购/销售/库存类单据:在各自列表页右上角【更多】中启用
  • 基础档案(如部门、岗位):需进入【基础资料】→【组织机构】→【部门管理】后操作
  • 自定义单据:须由实施配置‘软删除’属性后才支持此路径

补充说明:U8+/NC Cloud V6.7起支持【数据快照】模块,但需提前开启并占用额外存储空间,不属于默认功能。

Q在SQL里把dr改成0就能恢复吗?需要改其他字段吗?

A:仅改dr字段可能成功,但极大概率导致校验失败或界面异常。NC强制要求同步更新ts(时间戳)字段,否则保存时触发‘数据已被修改’校验拦截。

正确SQL模板:

UPDATE bd_psndoc SET dr = 0, ts = SYSTIMESTAMP WHERE pk_psndoc = '1001A110000000000001';
  • 必须使用SYSTIMESTAMP而非SYSDATE(适配Oracle时区)
  • 执行后需清空NC应用服务器缓存(重启WebLogic或执行【系统管理】→【缓存管理】→【清除全部缓存】)
  • 严禁在未备份情况下直接更新生产库
Q删除后过了3个月还能恢复吗?NC的删除保留期能调整吗?

A:默认保留期为90天,超期后NC后台任务自动执行物理清理(DELETE FROM),数据永久丢失。保留期可在【系统管理】→【系统参数设置】→【基础设置】中修改参数softdelete.keepdays,但仅对修改后新删除操作生效,无法延长历史删除记录的生命周期。

补救建议:

  1. 立即检查【系统管理】→【日志查询】→筛选‘删除’操作,确认原始删除时间
  2. 若未超90天,立即执行恢复;若已超,转向备份恢复路径
  3. 后续必须建立定期备份机制(每日全量+每小时归档日志)

注意:调整该参数需重启NC应用服务才生效,且不建议设为0(禁用软删除),将丧失所有恢复能力。

正文内容

先确认是不是真删了——区分逻辑删除与物理删除

在NC系统中,95%以上的‘删除’操作实际为逻辑删除:系统仅将记录状态字段(如dr)置为1,并未从数据库表中清除数据。此类操作可通过后台还原或回收站功能恢复;而执行DELETE FROM语句、清空表、或启用‘彻底删除’插件后的操作属于物理删除,无备份则无法恢复。

⚠️ 关键判断依据:登录NC管理控制台 → 进入【系统管理】→【SQL执行器】,执行SELECT * FROM bd_psndoc WHERE dr = 1 AND code = 'XXX'(替换为具体编码)。若能查出记录且dr=1,即为逻辑删除,具备恢复条件。

最短恢复路径:3步定位+2步执行

针对常规业务单据(如采购入库单、应付凭证)和基础档案(如供应商、会计科目),优先采用以下最小干预路径:

  1. 进入对应模块列表页(如【供应链】→【采购管理】→【采购入库单】)
  2. 点击右上角【更多】→【显示已删除】(部分版本显示为【查看历史】或【回收站】)
  3. 勾选目标单据 → 点击【恢复】按钮(非【还原】或【反审核】)

注:该路径仅对开启‘软删除开关’且未超保留周期(默认90天)的单据生效。

为什么点【恢复】没反应?检查这4类权限与配置

  • 角色权限缺失:用户所属角色未授予【数据恢复】功能权限(路径:【系统管理】→【角色管理】→编辑角色→【功能权限】→勾选‘数据恢复’)
  • 模块开关关闭:【系统管理】→【系统参数设置】→【基础设置】中‘启用删除数据查看与恢复’未勾选
  • 单据状态锁定:被删除单据关联了已生成凭证、已结账期间、或存在下游审批流未终结,系统强制禁止恢复
  • 客户端缓存异常:浏览器缓存导致列表未刷新,需按Ctrl+F5硬刷新或更换Chrome无痕窗口重试

高频原因拆解:6类典型不可恢复场景

并非所有‘删除’都可逆。以下场景即使满足逻辑删除条件,系统仍会拒绝恢复或导致数据不一致:

期间已结账:跨月/跨年删除后无法回退

若删除操作发生在已结账期间(如2024年3月已结账),恢复该期间单据将破坏账务连续性。NC系统自动拦截恢复动作,并提示‘当前期间已结账,不能恢复历史期间单据’。

凭证已生成:财务链路断裂风险

删除前已生成凭证的单据(如应付单生成了应付凭证),恢复后凭证不会自动更新,导致‘单据有、凭证无’或‘金额不匹配’。此时必须同步手工冲销原凭证并重新生成,否则引发总账差异。

主子表级联删除:只恢复头表,子表丢失

NC中部分单据采用主子表结构(如销售订单含订单行、费用明细)。若通过SQL直接更新dr字段恢复头表,但未同步处理子表(如saleorder_b表),将导致界面报错‘子表数据不存在’或保存失败。

推荐做法:分角色执行的标准操作流程

不同岗位人员应遵循职责边界操作,避免越权或误操作扩大影响:

  • 业务员:仅限在本模块列表页使用【显示已删除】→【恢复】,禁止接触SQL或系统参数
  • 财务会计:恢复前须核对关联凭证状态(路径:【财务会计】→【总账】→【凭证查询】输入单据号),确认未结账且凭证未记账
  • 系统管理员:需先备份当前库(expdp导出对应表),再执行SQL恢复(UPDATE bd_psndoc SET dr = 0 WHERE pk_psndoc = 'xxx'),并立即执行【数据稽核】→【单据完整性校验】

回退方案:当标准恢复失败时的替代路径

若【显示已删除】不可见或恢复按钮灰显,按优先级尝试以下路径:

  1. 联系实施顾问调取最近一次RMAN/EXPDP备份,在测试环境验证后恢复生产库指定表(需停机窗口)
  2. 启用NC内置【数据快照】功能(如已部署),选择删除前1小时快照进行局部回滚
  3. 向用友支持提交工单,提供单据号+删除时间+NC版本号+数据库类型,申请日志级数据提取(仅限U8+/NC Cloud V6.7+)

注意事项与风险红线

恢复操作不是无风险‘撤销键’,必须严守以下底线:

❗ 恢复操作不可逆:一旦点击【恢复】成功,再次删除将计入新删除周期,原删除记录失效;多次恢复/删除易导致状态字段混乱,建议单据恢复后立即完成审核与后续流程,避免二次滞留。

特别提醒:
• 不得在生产环境直接执行UPDATE ... SET dr = 0语句,必须配合UPDATE ... SET ts = SYSDATE更新时间戳,否则触发NC校验失败
• NC V6.5以下版本无图形化回收站,必须依赖SQL+备份双轨操作
• 所有恢复操作需在【系统日志】中留存记录(路径:【系统管理】→【日志查询】→筛选‘数据恢复’操作类型)

改完后的校验清单

  • 确认当前NC版本支持软删除(V6.0+默认启用,V5.x需手动配置)
  • 检查【系统参数设置】中‘启用删除数据查看与恢复’已勾选
  • 核实用户角色已授权‘数据恢复’功能权限
  • 验证目标单据所在会计期间未执行【结账】操作
  • 查询关联凭证状态(凭证查询页输入单据号),确认无已记账凭证

排查模板

问题:采购入库单已删除,但在【显示已删除】中不可见
目标字段:dr(逻辑删除标记)、ts(时间戳)、pk_invstockio(单据主键)
期间:2024年5月(当前期间未结账)
状态:单据在【采购入库单】列表中完全消失,SQL查dr=1存在
现象:【更多】菜单无【显示已删除】选项
下一步:检查角色权限是否包含【采购管理】→【采购入库单】→【数据恢复】,并确认【系统参数】中‘采购模块软删除开关’已启用

反馈 这篇内容对你有帮助吗?
页面反馈已按本地浏览器记录

nc用友删除的东西怎么恢复:企业级误删数据找回操作指南

面向NC系统管理员、财务及业务人员的误删数据应急操作手册

结论先看

  • NC中绝大多数删除是逻辑删除,dr=1即具备恢复前提
  • 优先走【显示已删除】→【恢复】路径,无需SQL或重启服务
  • 已结账期间、已生成凭证、主子表不完整三类场景不可安全恢复
  • 恢复前必须校验权限、期间状态与凭证关联性
  • 生产环境禁用裸SQL更新,必须同步刷新ts时间戳字段

最短路径

进模块列表页 → 点【更多】
选【显示已删除】
勾选目标单据 → 点【恢复】
核对状态栏‘恢复成功’提示

问题速览

恢复可行性前提

判断是否具备技术恢复条件的基础门槛

dr字段=1未超90天保留期模块开关已启用

关键状态校验项

执行恢复前必须人工确认的4个运行态

当前期间未结账无下游凭证生成角色含数据恢复权限
🔍 快速判断:打开NC首页右上角【个人中心】→【系统信息】,查看‘删除策略’是否显示‘软删除启用’;若为‘硬删除’或空白,则本次删除不可恢复。

采购入库单删除后恢复触发条件

入库单状态为‘已审核’且未生成应付凭证时,恢复按钮可用

供应商档案删除后权限误判场景

角色未分配【基础资料】→【供应商】→【恢复】权限,导致列表无【显示已删除】入口

应付凭证关联单据恢复异常样本

应付单已生成凭证,恢复后凭证仍存在但单据状态异常,需手工冲销再生成

主子表不一致导致的恢复失败路径

仅恢复ap_payable头表,未同步更新ap_payable_b子表,保存时报‘子表数据丢失’

问答区

Qnc用友删除的东西怎么恢复?有没有一键还原功能?

A:NC系统没有全局‘一键还原’按钮。恢复必须按单据类型进入对应模块,通过【显示已删除】入口操作。该功能本质是前端过滤dr=1记录并允许重置状态,非数据库级快照回滚。

  • 采购/销售/库存类单据:在各自列表页右上角【更多】中启用
  • 基础档案(如部门、岗位):需进入【基础资料】→【组织机构】→【部门管理】后操作
  • 自定义单据:须由实施配置‘软删除’属性后才支持此路径

补充说明:U8+/NC Cloud V6.7起支持【数据快照】模块,但需提前开启并占用额外存储空间,不属于默认功能。

Q在SQL里把dr改成0就能恢复吗?需要改其他字段吗?

A:仅改dr字段可能成功,但极大概率导致校验失败或界面异常。NC强制要求同步更新ts(时间戳)字段,否则保存时触发‘数据已被修改’校验拦截。

正确SQL模板:

UPDATE bd_psndoc SET dr = 0, ts = SYSTIMESTAMP WHERE pk_psndoc = '1001A110000000000001';
  • 必须使用SYSTIMESTAMP而非SYSDATE(适配Oracle时区)
  • 执行后需清空NC应用服务器缓存(重启WebLogic或执行【系统管理】→【缓存管理】→【清除全部缓存】)
  • 严禁在未备份情况下直接更新生产库
Q删除后过了3个月还能恢复吗?NC的删除保留期能调整吗?

A:默认保留期为90天,超期后NC后台任务自动执行物理清理(DELETE FROM),数据永久丢失。保留期可在【系统管理】→【系统参数设置】→【基础设置】中修改参数softdelete.keepdays,但仅对修改后新删除操作生效,无法延长历史删除记录的生命周期。

补救建议:

  1. 立即检查【系统管理】→【日志查询】→筛选‘删除’操作,确认原始删除时间
  2. 若未超90天,立即执行恢复;若已超,转向备份恢复路径
  3. 后续必须建立定期备份机制(每日全量+每小时归档日志)

注意:调整该参数需重启NC应用服务才生效,且不建议设为0(禁用软删除),将丧失所有恢复能力。

正文内容

先确认是不是真删了——区分逻辑删除与物理删除

在NC系统中,95%以上的‘删除’操作实际为逻辑删除:系统仅将记录状态字段(如dr)置为1,并未从数据库表中清除数据。此类操作可通过后台还原或回收站功能恢复;而执行DELETE FROM语句、清空表、或启用‘彻底删除’插件后的操作属于物理删除,无备份则无法恢复。

⚠️ 关键判断依据:登录NC管理控制台 → 进入【系统管理】→【SQL执行器】,执行SELECT * FROM bd_psndoc WHERE dr = 1 AND code = 'XXX'(替换为具体编码)。若能查出记录且dr=1,即为逻辑删除,具备恢复条件。

最短恢复路径:3步定位+2步执行

针对常规业务单据(如采购入库单、应付凭证)和基础档案(如供应商、会计科目),优先采用以下最小干预路径:

  1. 进入对应模块列表页(如【供应链】→【采购管理】→【采购入库单】)
  2. 点击右上角【更多】→【显示已删除】(部分版本显示为【查看历史】或【回收站】)
  3. 勾选目标单据 → 点击【恢复】按钮(非【还原】或【反审核】)

注:该路径仅对开启‘软删除开关’且未超保留周期(默认90天)的单据生效。

为什么点【恢复】没反应?检查这4类权限与配置

  • 角色权限缺失:用户所属角色未授予【数据恢复】功能权限(路径:【系统管理】→【角色管理】→编辑角色→【功能权限】→勾选‘数据恢复’)
  • 模块开关关闭:【系统管理】→【系统参数设置】→【基础设置】中‘启用删除数据查看与恢复’未勾选
  • 单据状态锁定:被删除单据关联了已生成凭证、已结账期间、或存在下游审批流未终结,系统强制禁止恢复
  • 客户端缓存异常:浏览器缓存导致列表未刷新,需按Ctrl+F5硬刷新或更换Chrome无痕窗口重试

高频原因拆解:6类典型不可恢复场景

并非所有‘删除’都可逆。以下场景即使满足逻辑删除条件,系统仍会拒绝恢复或导致数据不一致:

期间已结账:跨月/跨年删除后无法回退

若删除操作发生在已结账期间(如2024年3月已结账),恢复该期间单据将破坏账务连续性。NC系统自动拦截恢复动作,并提示‘当前期间已结账,不能恢复历史期间单据’。

凭证已生成:财务链路断裂风险

删除前已生成凭证的单据(如应付单生成了应付凭证),恢复后凭证不会自动更新,导致‘单据有、凭证无’或‘金额不匹配’。此时必须同步手工冲销原凭证并重新生成,否则引发总账差异。

主子表级联删除:只恢复头表,子表丢失

NC中部分单据采用主子表结构(如销售订单含订单行、费用明细)。若通过SQL直接更新dr字段恢复头表,但未同步处理子表(如saleorder_b表),将导致界面报错‘子表数据不存在’或保存失败。

推荐做法:分角色执行的标准操作流程

不同岗位人员应遵循职责边界操作,避免越权或误操作扩大影响:

  • 业务员:仅限在本模块列表页使用【显示已删除】→【恢复】,禁止接触SQL或系统参数
  • 财务会计:恢复前须核对关联凭证状态(路径:【财务会计】→【总账】→【凭证查询】输入单据号),确认未结账且凭证未记账
  • 系统管理员:需先备份当前库(expdp导出对应表),再执行SQL恢复(UPDATE bd_psndoc SET dr = 0 WHERE pk_psndoc = 'xxx'),并立即执行【数据稽核】→【单据完整性校验】

回退方案:当标准恢复失败时的替代路径

若【显示已删除】不可见或恢复按钮灰显,按优先级尝试以下路径:

  1. 联系实施顾问调取最近一次RMAN/EXPDP备份,在测试环境验证后恢复生产库指定表(需停机窗口)
  2. 启用NC内置【数据快照】功能(如已部署),选择删除前1小时快照进行局部回滚
  3. 向用友支持提交工单,提供单据号+删除时间+NC版本号+数据库类型,申请日志级数据提取(仅限U8+/NC Cloud V6.7+)

注意事项与风险红线

恢复操作不是无风险‘撤销键’,必须严守以下底线:

❗ 恢复操作不可逆:一旦点击【恢复】成功,再次删除将计入新删除周期,原删除记录失效;多次恢复/删除易导致状态字段混乱,建议单据恢复后立即完成审核与后续流程,避免二次滞留。

特别提醒:
• 不得在生产环境直接执行UPDATE ... SET dr = 0语句,必须配合UPDATE ... SET ts = SYSDATE更新时间戳,否则触发NC校验失败
• NC V6.5以下版本无图形化回收站,必须依赖SQL+备份双轨操作
• 所有恢复操作需在【系统日志】中留存记录(路径:【系统管理】→【日志查询】→筛选‘数据恢复’操作类型)

改完后的校验清单

  • 确认当前NC版本支持软删除(V6.0+默认启用,V5.x需手动配置)
  • 检查【系统参数设置】中‘启用删除数据查看与恢复’已勾选
  • 核实用户角色已授权‘数据恢复’功能权限
  • 验证目标单据所在会计期间未执行【结账】操作
  • 查询关联凭证状态(凭证查询页输入单据号),确认无已记账凭证

排查模板

问题:采购入库单已删除,但在【显示已删除】中不可见
目标字段:dr(逻辑删除标记)、ts(时间戳)、pk_invstockio(单据主键)
期间:2024年5月(当前期间未结账)
状态:单据在【采购入库单】列表中完全消失,SQL查dr=1存在
现象:【更多】菜单无【显示已删除】选项
下一步:检查角色权限是否包含【采购管理】→【采购入库单】→【数据恢复】,并确认【系统参数】中‘采购模块软删除开关’已启用