解决方案: |
如果想要科目帐都平有三种处理方式: 第一种:在05年总帐中选择“查询客户往来帐”、“查询供应商往来帐”,然后在05年总帐的期初余额--“补录”中选择“引入”,将应收应付的客户供应商明细纪录自动引入到总帐中,保存后,重新建立年度账,重新结转即可。 第二种方式:在06年总帐中选择“查询客户往来帐”、“查询供应商往来帐”,然后在06年总帐的期初余额--“补录”中选择“引入”,将应收应付的客户供应商明细纪录自动引入到总帐中,由于应收应付的科目期初和总帐的总数不同,所以需要根据保存时提示不平的差额增加纪录,使得可以保存。 但是前面这两种方式只是改变了应收应付科目帐的查询方式,应收应付表中的数据并没有变化,所以应收应付的业务帐如果按科目查询仍然是与上年不同的,但是这两种方式会使得以后的年度再结转后应收应付中的科目帐表是正确的(当然业务帐表按科目查仍然会因为上面的原因而不正确)。 第三种方式:根据附件的语句中查询出来的差额手工在06年的应收应付的期初中补录应收应付单据,那么应收应付的业务帐按科目查询和科目帐都会与上年平。但是如果您做业务时仍有上面的现象,那么以后的年度结转后仍可能不平,需要补录单据。 use ufdata_001_2005 update ap_detail set ccode='218103' where auto_id in ('18754','18762') update ap_detail set ccode='2121' where auto_id in ('15946','15942') --05年的所有科目的余额 select ccode,sum(isnull(idamount,0)-isnull(icamount,0)) as ye,cflag,cdwcode,cdeptcode into tmp01 from ufdata_001_2005..ap_detail where (cpzid is not null or iperiod=0) and ccode in (select ccode from ufdata_001_2005..code where cother in ('ar','ap')) group by ccode,cflag,cdwcode,cdeptcode order by cflag,ccode,cdwcode,cdeptcode --06年的所有科目的期初余额 select ccode,sum(isnull(idamount,0)-isnull(icamount,0)) as qc,cflag,cdwcode,cdeptcode into tmp02 from ufdata_001_2006..ap_detail where (cpzid is not null or iperiod=0) and ccode in (select ccode from ufdata_001_2006..code where cother in ('ar','ap')) and iperiod=0 group by ccode,cflag,cdwcode,cdeptcode order by cflag,ccode,cdwcode,cdeptcode --05年和06年不等的纪录 select (case when a.cflag='ap' then -(isnull(ye,0)-isnull(qc,0)) else isnull(ye,0)-isnull(qc,0) end) as 差额,* from tmp01 a full join tmp02 b on a.ccode=b.ccode and a.cflag=b.cflag and a.cdwcode=b.cdwcode and isnull(a.cdeptcode,'')=isnull(b.cdeptcode,'') where isnull(ye,0)<>isnull(qc,0) order by a.cflag,a.ccode,a.cdwcode,a.cdeptcode --都补录之后再执行下面的语句将临时的数据删除 update ufdata_001_2005..ap_detail set ccode='1001' where auto_id in ('15946','15942','18754','18762') drop table tmp02,tmp01 |