金蝶K3基础数据分析.ppt
《金蝶K3基础数据分析.ppt》由会员分享,可在线阅读,更多相关《金蝶K3基础数据分析.ppt(48页珍藏版)》请在冰豆网上搜索。
K3总账关键数据分析技术支持部技术支持部培训目的n通过练习,掌握基础资料之间的关系n通过练习,掌握科目与核算项目使用详情横纵表之间的关系n通过练习,掌握总账系统中常见数据问题的分析和解决的方法2将涉及到资料信息与表有:
将涉及到资料信息与表有:
n系统参数表:
t_t_systemprofilesystemprofilen科目:
t_accountn币别:
t_currency,ID=1表示为记账本位币n凭证字:
t_vouchergroupn计量单位:
t_measureunit,t_unitgroup,这两个表中必须存在ID为0的记录n核算项目:
包括客户、部门、职员、物料、仓库、供应商和自定义的核算项目;涉及的表为t_item,t_itemclass及其中定义的明细表,t_item、t_itemclass表中必须存在ID为0的记录n凭证分录表:
t_voucher,t_voucherentryn核算项目横纵表:
t_itemdetail,t_itemdetailv,这两个表中必须存在ID为0的记录n科目余额表:
t_balancen损益类科目本年实际发生表:
t_profitandloss3将涉及到资料信息与表有:
将涉及到资料信息与表有:
n数量余额表:
t_quantitybalancen现金流量表:
t_CashFlowBal,记录总账系统中所有的现金流量信息n初始化往来余额表:
t_transinitbalance,用于记录初始化时的往来数据n往来核销表:
t_transcheckinfo,用于记录总账中的往来核销记录n自动转账:
t_autotransfer、t_autotransferentry、t_AutoTransferEntryItemn自动步长编码表:
为表实现自动内码编码,表中的数据规律:
lupdatet_identitylsetfnext=(selectmax(fitemid)fromt_item)+1wherefname=t_item4n系统参数表关键参数:
nStartPeriod:
启用年度nStartYear:
启用期间nPeriodByMonth:
是否自定义期间nPeriodCount:
每年度的期间数nPeriodDates:
会计年度的时间序列nEarnAccount:
本年利润科目内码nEarnAssignAccount:
利润分配科目内码nCurrentPeriod:
当前期间nCurrentYear:
当前年度nClosed:
是否结束初始化将涉及到资料信息与表有:
将涉及到资料信息与表有:
5T_voucherT_balance调汇结损益自动转账t_ProfitAndLosst_QuantityBalance过账过账T_voucher账表查询数据流向图期末结账现金流量t_CashFlowBal核销往来t_transcheckinfo6基础资料n核算项目横表:
涉及的表为t_ItemDetail,此表是联接各个核算项目业务表的纽带,如科目表,凭证表,余额表等等都与此表有很大的联系。
n核算项目纵表为t_ItemDetailV,此表是由核算项目横表来生成的,可以用SP_CleanItemDetailV这个存储过程来生成。
是核算项目横表另一种形式的表现。
在平时的各种报表计算时,程序是直接关联的该表。
n关于基础资料之间的具体关系,可以参考Mykingdee上的四月视频培训K3总账部份。
7t_ProfitandLosst_ItemDetailvt_ItemDetailt_Itemt_Balancet_VoucherEntry各表与核算项目使用详情横表和纵表的关联t_ItemClassnFitemclassidt_Accountt_QuantityBalancet_transinitbalancet_transcheckinfo8T_itemclassT_itemdetailvT_itemdetailT_itemclass与与t_itemdetail、t_itemdetailvn其中,自定义的核算项目类别的Fitemclassid是从F3001开始的,增加自定义核算项目类别时,将同时在t_itemdetail表中增加对应的列;但删除该类别时,在t_itemdetail表中该列不会被删除。
9各数据表与各数据表与t_itemdetail、t_itemdetailv10数据逻辑:
数据逻辑:
n1、t_itemdetail表中的Fdetailcount必须正确lFdetailcount:
表示Fdetailid对应的核算项目类别个数,如果错误,将造成凭证无法过账、账薄报表无法查询、无法结转损益,提示:
在结果列中多次出现F1等等。
l否则将造成科目余额表、试算平衡表等报表不平衡,以及无法结转损益或结转损益后凭证无法过账lexecsp_cleanitemdetailv-数据教正lupdateaseta.fdetailcount=b.Fcountlfromt_itemdetailajoinn(selectFdetailid,count(Fitemid)Fcountnfromt_itemdetailvnwherefitemid0groupbyFdetailid)blona.fdetailid=b.fdetailidlexecsp_cleanitemdetailv11数据逻辑:
数据逻辑:
n所有核算项目组合使用详情ID即Fdetailid值,相同组合,不允许重复。
n2、以下Fdetailid只能为科目属性值使用,即只能出现在t_account表中lselect*fromt_itemdetaillwherefdetailidin(selectFdetailidfromt_itemdetailvlwherefitemid=-1)lselect*fromt_itemdetailVfitemid=-1l如果这些Fdetailid值出现在余额表等数据表中,将造成无法结转损益、查询账薄报表时无法看到具体的名称只能看到数据l如果被科目使用的Fdetailid值重复,建议删除重复值,保留其中的一条。
从目前数据来看,非被科目使用的Fdetailid值还没有出现重复的情况。
l如果出现重复,将可能产生凭证无法过账、凭证录入时显示要求输入的核算项目类别与实际不符、在科目基础资料中显示的核算项目管理信息与实际不符等等错误。
下面是一个案例,其他组合则请更正:
nandFdetailcount=3andF1=-1andF2=-1andF3=-1部份的条件即可。
n-例:
删除客户、职员、部门这三个核算项目类别组合使用ID中的重复值12数据逻辑:
数据逻辑:
n1、updatet_account更正科目表上引用的FdetailidnsetFdetailid=(selectmin(fdetailid)fromt_itemdetail-取最小值nwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)nandFdetailcount=3andF1=-1andF2=-1andF3=-1)nwhereFdetailidin(select(fdetailid)fromt_itemdetailnwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)nandFdetailcount=3andF1=-1andF2=-1andF3=-1)n2、deletefromt_itemdetail删除重复值nwhereFdetailidin(select(fdetailid)fromt_itemdetailnwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)nandFdetailcount=3andF1=-1andF2=-1andF3=-1)nandFdetailid(selectmin(fdetailid)fromt_itemdetailnwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)nandFdetailcount=3andF1=-1andF2=-1andF3=-1)nexecsp_cleanitemdetailv-更正t_itemdetailv13数据逻辑:
数据逻辑:
l3、以下Fdetailid只能出现在各余额表、凭证分录表中lselect*fromt_itemdetaillwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid-1)lselect*fromt_itemdetailVfitemid-1l如果这些Fdetailid值出现在科目表中,则该科目在凭证录入时将显示错误的核算项目管理信息,以及损益类科目无法结转损益;或凭证无法过账。
以下凭证分录记录必须必须由用户在软件上补充丢失的核算项目lselectb.Fyear,b.Fperiod,c.Fname,b.Fnumber,a.Fentryid,e.Fnumberlfromt_voucherentryajoint_voucherbona.fvoucherid=b.fvoucheridlinnerjoint_accounteone.faccountid=a.faccountidlinnerjoint_vouchergroupconc.fgroupid=b.fgroupidlwherea.fdetailidnotin(selectFdetailidfromt_itemdetailvlwherefitemidnotin(-1)lorderbyb.fyear,b.fperiod,c.fname,b.fnumber,a.fentryid,e.fnumber14数据逻辑:
数据逻辑:
n4、以下Fdetailid出现在t_balance等数据表中,必须删除ldeletefromt_balancelwherefdetailidnotin(selectFdetailidfromt_itemdetailvlwherefitemidnotin(-1)ldeletefromt_quantitybalancelwherefdetailidnotin(selectFdetailidfromt_itemdetailvwherefitemidnotin(-1)ldeletefromt_profitandlosslwherefdetailidnotin(selectFdetailidfromt_itemdetailvlwherefitemidnotin(-1)l否则将造成科目余额表、试算平衡表等报表不平衡,以及无法结转损益或结转损益后凭证无法过账,报表数据查询只显示数据不显示名称等;建议反结账到出现这种情况的上一期再删除。
15数据逻辑:
数据逻辑:
n5、在t_itemdetail表和t_itemdetailv表中必须存在Fdetailid=0的记录l如果该记录丢失,必须补充,否则将造成凭证无法过账、账薄报表无法查询数据等。
Fdetailid=0表示不使用核算项目。
l其实在许多表中,都必须要求存在ID=0的记录,如t_measureunit、t_unitgroup、t_item、t_itemclass、t_currency等等l如果t_measureunit、t_unitgroup表中缺少ID=0的记录,数量金额类账薄