用友财务软件数据采集及凭证输出步骤和代码
适用于各种用友财务软件,SQL2008/2000等等
方法/步骤
第一步:账套备份
1.找到用友的系统管理,打开
2.用admin登录,步骤:注册—登录名:admin 密码通常为空
3.账套—备份,可以先在D盘下新建一个文件夹“***备份”,如果在桌面创建文件夹,在备份时选择文件夹的时候会吐血~~因为没有“桌面”这个选项!
4.备份之后打开“***备份”文件夹,发现里面有两个文件,UF2KAct.Lst和UFDATA.BA_,前面的不用管,后面的是个备份压缩文件,需要解压缩。在用友的安装目录下/admin/中有个ufuncomp.exe文件,这个就是解压缩 UFDATA.BA_的,我通常都是直接搜索 ufuncomp,找到 ufuncomp.exe,双击,下面是解压缩为把其中的 UFDATA.BA_直接改为 UFDATA.BAK~~
5.把 “***备份”文件夹拷到自己的U盘中。
登录SQL,数据库右键“还原数据库”,源设备—添加— UFDATA.BAK—还原前面打勾,目标数据库—选择相应的数据库名称—确定,等啊等啊等,还原成功!^_^
其实还有一种方法,是先新建数据库,然后在还原到这个数据库里,这种方法经常会出现一些问题,一会这样,一会那样,还是上面的方法省心!
依次运行以下代码:(只有第二步有不同,其他都是一样的)
--科目代码表
-(1)查看不同的科目代码长度
select distinct LEN(ccode) from code
-(2)整理代码名称(这是根据 1、查看不同的科目代码长度结果来写的)
如科目代码长度有4、6、8、10、12则:
select km.ccode 科目代码,科目全称=k1.ccode_name+
case when len(km.ccode)>4 then --+k2.ccode_name else end
+case when len(km.ccode)>6 then --+k3.ccode_name else end
+case when len(km.ccode)>8 then --+k4.ccode_name else end
+case when len(km.ccode)>10 then --+k5.ccode_name else end
into 科目代码表
from code km
join code k1 on left(km.ccode,4)=k1.ccode
join code k2 on left(km.ccode,6)=k2.ccode
join code k3 on left(km.ccode,8)=k3.ccode
join code k4 on left(km.ccode,10)=k4.ccode
join code k5 on left(km.ccode,12)=k5.ccode
order by 1
--(3)凭证表
select iperiod 月份,ino_id 凭证号,cdigest 摘要,a.ccode 科目代码,
科目全称,金额=case when md<>0 then md else mc end,
借贷方向=case when md=0 then 贷 else 借 end
from gl_accvouch a join 科目代码表 b
on a.ccode=b.科目代码
order by 1,2
--(4)余额表
select iperiod 会计期间,ccode 科目代码,科目全称,cbegind_c 期初方向,mb 期初金额,md 借方发生额,
mc 贷方发生额,cendd_c 期末方向,me 期末余额
from GL_accsum a join 科目代码表 b
on a.ccode=b.科目代码
order by 2,1
4
把运行结果“连同标题一起 ** ”到EXCEL中即可