SUMSEN

Oracle&Sql爱好者,用友NC管理员

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、刚刚同事很随意的在集团增加了一个会计科目,11330106,其他应收款-应收外部单位款-山东莒南房地产公司,然后财务在做账的时候发现查询科目余额表的时候科目显示不完整,科目前的编码不显示。

我很快注意到同事增加科目的时候犯了两个错误:

1,这个科目是三级的,我们NC已经使用了四年,集团下面只有1133的下一级,也就是直到了二级,他不应该增加在集团增加3级科目。

2,即使增加科目, 也应该从11330101开始,可是他直接来了一个11330106.

二、下面说我的纠错过程。

1,我首先在集团取消分配这个会计科目,可是提示总部机关核定被引用。

我于是sql查询

select gl_detail.explanation,
       bd_accsubj.dispname,
       gl_detail.debitamount 借方,
       gl_detail.creditamount 贷方,
       gl_detail.prepareddatev 制单日期,
       gl_voucher.no 凭证号,
        wmsys.wm_concat(bd_bdinfo.bdname)辅助名,
       wmsys.wm_concat(gl_freevalue.valuecode) valuecode,
       wmsys.wm_concat(gl_freevalue.valuename) valuename,
       gl_detail.pk_systemv,
       gl_detail.detailindex
  from bd_accsubj
  join gl_detail
    on gl_detail.pk_accsubj = bd_accsubj.pk_accsubj
  join bd_glorgbook
    on bd_glorgbook.pk_glorgbook = bd_accsubj.pk_glorgbook
  join gl_voucher
    on gl_detail.pk_voucher = gl_voucher.pk_voucher
  left join gl_freevalue
    on gl_detail.assid = gl_freevalue.freevalueid
  left join  bd_bdinfo
    on gl_freevalue.checktype=bd_bdinfo.pk_bdinfo
 where 
    
    bd_glorgbook.glorgbookcode like'010102%'
   and gl_detail.explanation<>'期初'
  /* and gl_detail.explanation='付财大凤凰楼项目人工费(洪荣森)'*/
 and bd_accsubj.subjcode = '11330106'
 group by gl_detail.explanation,
          bd_accsubj.dispname,
          gl_detail.creditamount,
          gl_detail.debitamount,
          gl_detail.prepareddatev,
          gl_voucher.no,
          gl_detail.pk_systemv,
          gl_detail.detailindex
 order by gl_detail.prepareddatev, gl_voucher.no

可是发现结果为空。说明同事已经更改了制单的科目。

2,查询客户化的财务会计信息-其他信息-基本档案引用查询,发现11330106被什么所谓的折算表引用了。

这里会在引用表主键给出信息。

3,根据上面的主键,结合数据字典,写sql for update,把dr改成1

select * from gl_convertref b where b.pk_convertmap='1037N510000000000A22' for update

 

之后查询过程2发现结果为空了,然后从集团取消分配会计科目,然后删除,搞定。

2014-12-24 更新 核定>查账 内蒙古科目删除

事实证明即使是带有辅助的,也不需要从辅助表删除东西

 2016-04-06 10:05:53

部门档案关联到了gl_freevalue辅助核算表

直接从gl_freevalue找到这个字符串(条件从查询的长字符串,红色方框)之后dr为1

 

2016-05-20 17:49:26  这个靠谱

 

select * from gl_freevalue d where d.pk_freevalue='1045N51000000000AM59' for update

 

 

 

 

 2012.8.23更新:

发现NC凭证和期初的数据删除之后,后台凭证没有了,可是期初的gl_detail还在


update gl_detail set dr='1'  where pk_glorgbook in
       (select pk_glorgbook
          from bd_glorgbook
         where glorgbookcode = '0112331101-0001')
   and dr = '0'

 

2013-03-29 16:59:00 更新

周聪问我北京小瓦房项目的会计科目删除

这里仅需要保留集团,410402下的全部需要删除。

因为这个项目账没有做多少,我打算PL/SQL Developer下直接干掉其下级会计科目

select * from bd_accsubj where pk_glorgbook='0001X11000000000EXGC' order by subjcode for update

可是发现删除之后,进入NC虽然科目是末级了,但是制单引用不让选择(不是末级),急

问了几个人之后没有反应,突然想到了一个endflag标志,直接改成Y搞定

但是肯定的是辅助表这里还有信息,不理会了

posted on 2012-05-31 11:14  sumsen  阅读(9017)  评论(2编辑  收藏  举报