利用AO采集金蝶K3财务软件数据库数据的步骤与方法_第1页
利用AO采集金蝶K3财务软件数据库数据的步骤与方法_第2页
利用AO采集金蝶K3财务软件数据库数据的步骤与方法_第3页
利用AO采集金蝶K3财务软件数据库数据的步骤与方法_第4页
利用AO采集金蝶K3财务软件数据库数据的步骤与方法_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

某市某公司使用的是金蝶软件公司开发的K3财务管理系统,其版本为v10.4,后台数据库为MicrosoftSQLServer2000。该公司于2007年建账,当时使用的是KIS标准版,在2009年的时候,账套由标准版升级到K3。另从2010年开始,重新建了帐套。这样,同一个公司,需要采集两个账套的数据,一个是07年到09年由KIS标准版升级而来的账套,一个是2010年新建的账套。但在使用AO进行数据采集时,审计人员仅能通过AO中的金蝶K39.31SQL备份模板,转换该公司2010年的财务软件备份数据,而2007年至2009年的备份文件却显示数据源不匹配。现通过采集软件数据库方式将其财务数据导入入。。采集转换的步骤与方法如下:一、采集原始财务软件数据库根据所需要的财务软件备份数据文件,通过K3的账套管理工具,找到该账套相对应的数据实体(即后台数据库),查找其存储路径,请对方计算机管理人员复制此数据库文件(该公司2007到2009年的账套文件,名称为:E:\K3账套\AIS20091104164640_data.mdf和E:\K3账套_|度制名根目录MicrosoftSQLServeisl3刘LSerutr担-(1ocal)(Windovs_|度制名根目录MicrosoftSQLServeisl3刘LSerutr担-(1ocal)(WindovsNT)■Jitgl;问*u壮新混数据厚EB)…,Ct关系囹13表S幌囹寿推炫程用户同Will(U)puH|1thpdb口仕*和LHO而…剧折化)所有任务少)备伽据阵®・_还原欺捉厚®…导入默锯(D…导出皴提隹),…RSQLServerEnterprigManager-[控制台根目录\MicroscftSQL$也国XnS*0遂匝宋■:>EU□®C3馋乂件也国XnS*0遂匝宋■:>EU□®C3二、简化数据库(一)找到所需要的源数据表使用SQL企业管理器,打开刚才附加的数据库,这里面有2500多个项目表。其中t_TableDescription为表描述表,说明了各张表的含义。根据它,我们可以轻松地找到t_Balance(余额表),t_Voucher(凭证表),t_VoucherEntry(凭证分录表),t_Account(科目表)。为方便使用,

我们可以将上述表名分别改为yyeb(源余额表)、ypzb(源凭证表)、ypzfb(源凭证附表)、ykmb(源科目表)。W勤LU11::29=It:11200^1-lZ堰回所有斤wI.hILIE::29=IB:32:返回童向@用户FBn2Q06-1-I2i-L-12rl-127DUS-L-I2200fi-l-l2200^1-122006^1-122006-1-122006-1-12?006-l*l2200^1*12ZOOS-1-122006-1-12W勤LU11::29=It:11200^1-lZ堰回所有斤wI.hILIE::29=IB:32:返回童向@用户FBn2Q06-1-I2i-L-12rl-127DUS-L-I2200fi-l-l2200^1-122006^1-122006-1-122006-1-12?006-l*l2200^1*12ZOOS-1-122006-1-12T*bleD«$eiifkii设计四IT开g#11:2%邨1曰期2006-1-1?Z0Q6-L-I2200(-1-122D0d-l-!2?O06-L-l2所材旺身■<!)*室文件E£)椎作豆■理)工乂(P苗口►UCI3)'ujwjfio7«SQLServerEnterpriscManager[.控制合根目录\iKcrosoftSQLServers\SQLSer\尸尸户户户户尸mEk-=A也13乂电*空匿带□:养」剧吾般目柔『[JKmmMQEtScrvtrr-弓皿S»fviot也-B(1PC41)(WindswjNT)-_|处据屈(j|abc-U岫书美芹A3□表3弃捕建建电用尸京麻色JWIS1二]妣认岳用户本又的勤盛布JS金用户本浦函喊.'(Jh(JkAdAL*u»sdbrUHorthwuui,Upubi-Ut»iwdb,I兆据舛"务SupplyEiittySi^pporte-dFrocSysFuMlionSyite^ProflieThirdPartyCowww#夷型dbo用户dbo用户dbd用?dbo用户dbo用mTe址谆眼eklln也TEmsInitBailanVnitCfCmpVnUsedAeeessUUUtdiUseiDstaFlwPrVr»rD«fmeKailUmrDAfxn申玲tUserDetailFurtcU»rDictUserPrivileteUrerProfileFF^iay^MVaPnKii-mm更利蜡mm■宙aKtt(K>(二)修改数据表的字段名金蝶K3的数据库中,表的列名都是英文的,对于不熟悉的审计人员来说,不方便识别。如果没有数据字典,我们可以从数据库中找到t_FieldDescription这张表。它是表字段描述表,说明了一些字段的含义。根据它,我们可以在表设计界面里,对照字段含义将上述几张表里的常用的列名分别由英文改为中文,注意不要变动各列的数据类型,改完保存即可。嬴SQLServerEnterpriseManager-[设计表"ykm偷文件(E)窗口包)帮助但)HOE明"至鸵&耳幼4叩回L契名nr数据类型r^FT允许空►int料目代码vtrehur40料目名舔charSO盲目龈次sxtialliM2娜科目bit1上级科目内码4FRootlDint4科目类别内码iM4偕贷方向int4助记码vtrchir40V桔别内码iM4期末调江bit1FEarfiAccountIDlAt4VFQumtibitIFUmtCrouplD4(三)新建简化数据库原数据库里数据太多,不方便查找且很多数据审计人员并不需要。我们可以新建一个数据库如:cssj(测试数据),再将原来的企业数据库中的4张表yyeb、ypzb、ypzfb、ykmb导入测试数据库。

曰金(local)(WindowsNT)lJ敷据庠Mi0abc•(Jhhg客—QC^SJ号美系图HS所有任务(K)导人敏据⑴…即带菱看(V)日苦从这里创建窗口敏鼻用刷新促)—任用导曰金所有任务(K)导人敏据⑴…即带菱看(V)日苦从这里创建窗口敏鼻用刷新促)—任用导出列表(。_・+Uj^ZK隹|Jnast«常助(H)由日modeld导出数据(8)…*■-syjtuiitesrtcaralogs—1sysfulltextnotify二]sysmdexes-Isysindexkeys_jsysniembers.._jsysabjectsiFsyspermissionsh™1e*TFff*Tiirrtrvar■+n三、分析整理三张表在新建的cssj数据库中,我们可以通过查询分析,对需要导入AO的3张表进行整理。(一)整理科目表分析科目表ykmb中的“科目代码”字段,发现其编制不是很规则。它用小数点作为分隔符,共分4级,但有的级次编码位数不固定,如有的是,有的是等。(查询语句如下图)为了使科目表能顺利导入AO,须对“科目代码”字段进行修改,首先使编码统一为4-3-3-3,其次要去掉分隔符(测试时,如果不去掉会出错)。举例说明:查找二级科目的位数,发现科目代码有的是7位,如:5502.07,有的是8位,如:1002.001。这时,需将7位的变成8位,即在5502.后面加0,变成5502.007(SQL语句见下图)。

PCT(H】011916】2.abgPGk20llQll91&12\H.iiiUjti■典陌无标圈I*J[口供dirtinct^^^^070^'Stop-fra*yk・bEwruIfMHIs叫心"同eh料目代用门ft.dirtinct^^^^070^'Stop-fra*yk・bEwruIfMHIs叫心"同eh料目代用门ft.科目iA-7ehi」由用HUii陆翊&料©上强目BJFUHFKootip目口哉刑内死谱莅方问助记E&542.0?止甫■招偷匏2L]6371(37迎IN(JLL&5fl2.P32118371637网1般ILL2116)7]S375D31MULL加3£5帷.L4车(1W.国关2116371«3T&D31HULLB5A2.3I尹老仔隐曩2tJ557163T朗1皿LMM55(12.57支业飓;黄21id?1S3?跆1MULL冲6&M2.3?底序保建步2L1637163?5D31HULLmi&5Q2.JJ「代怦唉史211637搏其冲1HUJLLM7855械.弟生盲娜掉21]6S71«37迎1MULLms&5fl2.Ifl21iS371637母呻iMILL冲口5M2.?g吏遇黄i1I6J?1037&D11HUU.2MIS5fl%05弁公■茕2L1S37JS31B03!HULL2491油5的妃.皿鱼SS手婿妙55(12.L1笠隙我21mn1637嚣网]637网1WILL&D31HULL2flS655帷.网花卉■理it曲21les?lfi3?&931HULL网卯&502.3?荣桥注珊哭211537163TW31HULLfjiis&5D2.[ft水蜘21姑IT]fi3?岳帕IMULL*9&UJW.吓宣仰我2116371fi375031HBLLv采用同样的方法,可将三级和四级科目都统一编制成为规则的代码。语句示例如下:selectdistinctlen(科目代码)fromykmbwhere科目级次='3'(返回结果为11、12)select*fromykmbwherelen(科目代码)=11and科目级次='3'updateykmbset科目代码=left(科目代码,9)+'0'+right(科目代码,2)wherelen(科目代码)=11;selectdistinctlen(科目代码)fromykmbwhere科目级次='4'(返回结果为14)select*fromykmbwherelen(科目代码)=14and科目级次='4'updateykmbset科目代码=left(科目代码,9)+'0'+right(科目代码,5)wherelen(科目代码)=14;selectdistinctlen(科目代码)fromykmbwhere科目级次='4'(返回结果为15)select*fromykmbwherelen(科目代码)=15and科目级次='4'updateykmbset科目代码=left(科目代码,13)+'0'+right(科目代码,2)wherelen(科目代码)=15。在此基础上,我们用updateykmbset科目代码=replace(科目代码,'.','')fromykmb的语句去掉科目代码中的分隔符小数点。

经过以上整理,科目表已符合AO的导入要求。(二)整理凭证表源凭证表,分为两张表。一为凭证表ypzb,—为凭证分录表ypzfb。前者包含的字段主要有:会计年度、会计期间、凭证号、借方金额合计、贷方金额合计、单据类型、记账人、审核人等。后者包含的字段主要有:分录号、摘要、科目内码、核算项目、余额方向、原币金额、对方科目等。为了方便导入AO,最好通过“凭证内码”(唯一的凭证识别码)把凭证表ypzb和凭证附表ypzfb合并生成一张新凭证表(pzb)。考虑到凭证附表中只有“科目内码”(科目ID),没有能区分科目级别的“科目代码”。因此还需通过“科目内码”字段将凭证附表与科目表相关联,以将“科目代码”这个字段加入新的凭证表。SQL语句为:Selecta.凭证日期,a・会计年度,a,会计期间,a.凭证号,a.借方金额合计,a.贷方金额合计,a.单据类型,a.记账人,a.审核人,b•分录号,b.摘要,^科目内码,b.核算项目,b.余额方向,b.原币金额,b.本位币金额,b.对方科目,c.科目代码intopzbfromypzba,ypzfbb,ykmbcwherea.凭证内码=b.凭证内码andb.科目内码=c.科目内码此时,凭证表(pzb)已整理完毕。因为本表中包含2007年至2009年的数据,为简化操作,把它们按年度筛选成3张表。Select*intopzb2009frompzbwhere会计年度=’2009’Select*intopzb2008frompzbwhere会计年度=’2008’Select*intopzb2007frompzbwhere会计年度=’2007’(三)整理余额表1、将源余额表增加“科目代码”字段数据库的源余额表中,也是只有“科目内码”,没有“科目代码”。我们同样可以通过选择源余额表里的所有内容以及科目表里的科目代码(两者通过“科目内码”关联),生成过渡余额表(gdyeb)。SQL语句为:selecta.*,b.科目代码intogdyebfromyyeba,ykmbbwherea.科目内码=b.科目内码2、将余额表分年度Select*intoyeb2009fromgdyebwhere会计年度=’2009’Select*intoyeb2008fromgdyebwhere会计年度=’2008’=’2007’3、去掉余额表中核算项目内码为0的记录测试过程中,在将余额表导入AO后,有的会计科目如“在建工程”中的许多明细科目期初余额与账面数有较大误差,经过分析发现是由于这一级别的会计科目没有再设置下级明细科目,但设置了项目辅助核算。在余额表里面,表现为相同的科目代码,有着不同的核算项目内码和对应的余额。此时,这些科目的余额应该是该科目下辖的每个辅助项目的余额汇总数。如下图中:2009年8月份三级科目代码1603001002的科目名称为:“建设用地报批税费”。相同的三级代码共有3个,没有4级代码,分别对应的核算项目使用内码为“0、30、62”。其中内码为30的是指支付“建设用地报批税费”的对象之一“某市财政局”、内码为62的是指支付“建设用地报批税费”的对象之二“某市征拨土地事务处”,而内码为0的则是下面两个辅助核算单位的汇总数。但是AO在导入期初余额时因为1603001002号的科目没有下级编码,无法对3个相同的代码进行取舍,只取了其中核算内码为“30”的值,导致账表重建时期初余额出错。才查询PC-201101191512-cssj.PC-201i01rator无标JBSl*~■直内叫<会*卜年茂金计期间内薛出桐桃算项l[侵用内2而翌内内两币ts方:ft生添原币璋万醇籁*年座耐借H-如。98IL34WD明明DD(200L1占9CH加也鼻DU、硕口.aotxo□IMHQm91114t«Q3JQQ10Q2301H0T9M85,网叫Looqo.0000343I1MI4030D1MSS20HI0I9&S.10MrOOOO.OOIH.aooo35415愤丽m傩3。0L107SMS5.L8O0.0000.OOM,000036网炀8IIH1£O30D1OD201[15301?40.MOO,叫如.血OtJ.DDOQ37也0913L14bti030D]Oi}23。1[]079&935,LQOD.ODDO.DODO.汹口38如g111.341:603^[>1002破□510L95S.LOmuCOOO.□OBOuOOQD39200?T|L3dfl0ME9OIW/2UM』口呻-DODO-QOQD40£Q0»79L14leQWGQS300MQ7PJB85.imrOOQOjOOH.OQoa4】?oo»T9114tfl0300100S01tiBKimnw.0M0.row,0000心却瞻1IL34idG«oiooe胶3K101SM.10M.0000.姬1知.0000:«6IL34[€03flD]OD23D01107?5?85.LOOO,倾口.叫M.0000■<白雌风在没有找到更好的导入辅助信息的方法下,审计人员只有将期初余额全部都取“核算项目使用内码”为“0”的值,并生成新的余额表。如2009年的余额表查询语句为:select*intoxyeb2009fromyeb2009where核算项目使用内码='0'此时,余额表已整理完毕。(备注:这种办法的不足之处是对于一些设置了辅助核算的科目,无法看到其明细情况)四、利用AO采集转换功能生成电子帐套以2009年为例:将以上整理后的科目表y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论