金蝶K3总帐数据流程

上传人:nbwa****ajie 文档编号:56874558 上传时间:2018-10-16 格式:PPT 页数:31 大小:330KB
返回 下载 相关 举报
金蝶K3总帐数据流程_第1页
第1页 / 共31页
金蝶K3总帐数据流程_第2页
第2页 / 共31页
金蝶K3总帐数据流程_第3页
第3页 / 共31页
金蝶K3总帐数据流程_第4页
第4页 / 共31页
金蝶K3总帐数据流程_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《金蝶K3总帐数据流程》由会员分享,可在线阅读,更多相关《金蝶K3总帐数据流程(31页珍藏版)》请在金锄头文库上搜索。

1、K/3总帐数据流程分析,技术支持部,K/3相关数据库应用简介 1.基础资料 2.初始化及余额表 3.凭证处理 4.结帐 Q&A,K/3主要模块数据库结构及问题分析,1.基础资料相关数据表涉及的表为t_measureunit(计量单位表),t_unitgroup(计量单位组 表)。常用的字段为Fmeasureunitid(计量单位内码),unitgroupid(计 量单位组内码),Fstandard(是否基本计量单位)。 基本计量单位在一个计量单位组内,只能有一个基本计量单位,即Funitgroupid 字 段值相同的记录,只能有一条记录的Fstandard字段值为1,如果一个组内 有两个Fst

2、andard=1的计量单位,则会造成一些报表数据翻倍。 计量单位丢失 K3中有很多表引用“计量单组ID”和“计量单位ID”,比如科目,凭证,物 料,物流单据,余额表、BOM等等。一旦t_UnitGroup或t_MeasureUnit丢 失记录(包括零记录),对引用表来说就产生了“孤立数据”。或者也可以说 XX表与“计量单位表数据不匹配”。,K/3主要模块数据库结构及问题分析, 币别t_currency,常用到的字段为FcurrencyID(币别内码),FFixRate (换算率),Fscale(小数位数)等等。FcurrencyID(币别内码):系统默认记帐本位的FcurrencyID值为1F

3、scale(小数位数):在中间层帐套管理中,有个地方设置本位币小数点位数,就是FcurrencyID值为1的记录对应的Fscale值,可以在此改动币别对应的小数位数。 凭证字涉及的表为t_vouchgroup(凭证字表),常用的字段为FgroupID(凭证字内码),一般被t_voucher(凭证表)引用。,K/3主要模块数据库结构及问题分析, 科目 涉及的表为t_account(科目表),主要字段为fAccountID(科目内码),FfullName(科目全名),FQuantity(是否数量金额辅助核算), FMeasureUnitID(计量单位内码),FDetailid(核算项目内码)等。

4、1)FAccountID(科目内码)科目内码一旦被引用,为保证数据的完整性,此科目就不允许删除。,K/3主要模块数据库结构及问题分析,2)FFullname(科目全名)这个字段主要是在录入凭证,查看帐薄时用到。如果在录入凭证,查看帐薄时,系统只显示科目的最明细一级的名称,那就是因为科目全名字段中的值不正确。这个问题有个相关的补丁可以解决,补丁名叫Repare_FullName.sql。 3)Fquantity(是否数量金额辅助核算)此字段主要是标识此科目是否需要数量金额辅助核算,一般此字段与FmeasureUnitID(计量单位内码)一起使用,当fquantity字段的值为1时,Fmeasur

5、eUnitID字段中一定也要有相应的值,且FmeasureUnitID与t_measureunit表中的FmeasureUnitID字段值相对应。 4)FDetailid(核算项目使用状况内码)这个字段的值与t_itemdetail(核算项目横表)中的Fdetailid字段值相关联,且这个值在t_itemdetail表中对应的以F开头的字段的值为“-1”。,K/3主要模块数据库结构及问题分析,核算项目客户、部门、职员、物料等,这些都是核算项目的类别。比如客户是一 个核算项目类别,部门也是一个核算项目类别,系统用t_ItemClass保存 核算项目类别。 我们把核算项目类别看成一个对象,则不同的

6、对象都有各自的属性。比 如对于客户这个对象来说,它的属性是:代码、名称、银行账号、法人代 表、偿债等级等等。对于部门这个对象来说,它的属性是:代码、名称、 部门主管、部门电话、传真等等。系统用t_ItemPropDesc保存核算项目类 别的属性。t_ItemClass与t_ItemPropDesc用FitemClassID字段关联,一 个核算项目类别可以拥有多种属性,因此是“一对多”的关系。用户新增的 核算项目类别的属性也保存在t_ItemPropDesc中。举例 :新增一核算项目类别,并定义核算项目类别属性,注意其数据的存放。,K/3主要模块数据库结构及问题分析,不同的核算项目类别都拥有自己

7、的数据表,在t_itemclass表中,有一 个FsqlTableName字段,它表示每个核算项目对应的数据表。比如:客户t_Organization ;部门t_Department ;职员t_Emp;物料 t_ICItem . 。不同的核算项目类别有相同的属性,比如:ID、父级ID、代码、名称、 长代码、全称等,系统将这些相同的属性值保存在t_Item表中。 因此,所有的核算项目都实际同时保存在两个数据表中。比如:新增一 个职员,则同时保存在t_Emp中和t_Item中;新增一个部门,则同时保存 在t_Department中和t_Item中。因为所有的核算项目都保存在t_Item中,系统用t

8、_Item.FitemClassID 字段区分核算项目类别。,K/3主要模块数据库结构及问题分析,2.初始化及余额表 运初始化数据的存放 初始化时,涉及到的表主要是 t_balance(金额余额表),t_quantitybalance(数量余额表)和t_profitandloss(损益类科目实际发生额情况表)。 如果在年初进行初始化时,余额表和数量余额表中都只有第一期的数据,且没有本年累计数据和损益数据,即在两张余额表中,累计数字段的值为零和在损益类实际发生额表中没有记录。,K/3主要模块数据库结构及问题分析,如果在年中进行初始化时,假如在第6期进行初始化,则 t_profitandloss有

9、记录,另外两张余额表中会存在第1期和第6期两期的数据,例如t_Balance 1期的数据中:FYtdDebit、FYtdCredit、FendBalance取用户录入的本年累计借方、本年累计贷方、期初余额(是指6月初的余额)。FDebit、FCredit、FBeginBalance这三列是系统倒算出来的,过程是: FDebit=FytdDebit;FCredit= FytdCredit;FBeginBalance= FEndBalance+FCredit FDebit。 6期的数据中:6期的FBeginBalance等于1期的FendBalance;6期的FcreDit和FDebit无数据;6

10、期的FYtdCreDit和FytdDebit等于1期的FYtdCreDit和FytdDebit;6期的FendBalance等于6期的FbeginBalance。,K/3主要模块数据库结构及问题分析, 币别ID在上面所讲的三张表中,都有币别(Fcurrencyid)这个字段,假如科 目带有外币核算,且外币有余额或发生额,则在这三张表中都由币别ID来 识别,一个科目的余额之和是由这个科目的几个币种余额之和而得;在余 额表中币别字段(Fcurrencyid)的值为零,就表示是此科目的综合本位 币记录。一个科目下所有币别余额之和等于此科目币别字段为零值的记录 的余额,所有币别发生额字段之和等于币别字

11、段为零值的记录的发生额。 核算项目使用状况ID在上面所讲的三张表中,也都有核算项目(Fdetailid)这个字段,如 果某个科目下挂核算项目,且核算项目有余额或发生额,那么在这三张表 中都由Fdetailid字段的值来反映。Fdetailid字段的值为0,则是此科目 所有核算项目之和的记录。,K/3主要模块数据库结构及问题分析, 借贷方存放规则 t_balance表中,借方余额保存为正数,贷方余额保存为负数。 t_Profitandloss表对不同的余额方向的处理方式也不同。例如:科目“营业外收入”的余额方向是贷方,在初始余额录入中录入“实际损益发生额”为200,则在t_ProFitandlo

12、ss中FytdAmount保存为 200。科目“现金”的余额方向是借方,在初始余额录入中录入“期初余额”为100,则在t_Balance中1期的FEndBalance保存为 100。,K/3主要模块数据库结构及问题分析,试算平衡平衡的标准是:当前期间的综合本位币科目借方余额合计等于贷方余额合计,借方累计发生合计等于贷方累计发生额合计,即汇总t_Balance表中FcurrencyID=0的启用期间数据。下面这段SQL语句是检查余额表中的余额是否平衡:select b.fdc,sum(a.fbeginbalance) from t_balance a join t_account b on a.

13、faccountid=b.faccountid where a.fyear=xxxx and a.fperiod=yy and a.fdetailid=0 and a.fcurrencyid=0 and b.fdetail=1 group by b.fdc 结束初始化由于月末处理需要,结束初始化后,系统将自动更新表t_Subsys(新增或更新一条记录),同时更新t_SystemProfile 表中 Fcategory = GL, Fkey = InitClosed对应的 Fvalue=1,初始化完成。,3.凭证处理 (1)、多项目核算 在讲凭证处理之前,先来讲一下多项目核算,即一个科目带一个核

14、算项目或带多个核算项目时,数据是怎样形成的。 多核算项目在科目中的应用 在基础资料维护中需要下设核算项目的科目中设置核算项目类别,科目下设了核算项目类别将会在表t_Account 中FDetailID 有相应的代码 ,同时在t_ItemDetailt和t_ItemDetailV 中有按FdetailID对应的记录。例如:113(应收帐寺)科目,带部门及客户两个核算项目,假设FDetailID的值为1,那么在t_ItemDeail中有一条记录FDetail = 1 ,FdetaiCount=2 (表示下设两个核算项目类别),F1= -1 ,F2 = -1,F3 = 0,F4=0,F8=0 等(以

15、“F”开头 + “数字”的字段是根据t_ItemClass 中核算项目类别代码FitemClassID 的值得来的,1和2在t_ItemClass 中分别代表客户和部门,由于此科目下设核算项目类别为“客户” 和“部门”,所以只有F1,F2字段的值是 1,其他则为0表示在此类别不参与核算),可以参考图1和图2。 在t_ItemDetailV 中有对应FdetailID = 1的两条记录,FitemClassID对应t_ItemClass表中FitemClassID的值,分别为1 和2 ,FitemID = -1(表示此类别参与核算)。,多核算项目在凭证中的应用 在录入凭证时科目下设核算项目则提示

16、输入核算项目,输入核算项目后,在表t_VoucherEntry 中FDetailID 有相应的代码,在表t_ItemDetailt和t_ItemDetailV 中有按FdetailID对应的记录,更新的规则是在t_ItemDetail中“F”开头 + “数字”的字段值和t_ItemDetailV中FitemID字段值是录入的核算项目对应表t_Item中FitemID的值。 例如:做一张收款凭证,借:银行存款,贷:应收帐款(下挂客户和部门核算),客户为A客户,部门为B部门;在t_Item个表中,A客户对应的FitemID的值假设为20,B部门对应的FitemID值为30,那么,在保存完这张凭证后

17、,t_VoucherEntry表中FdetailID的值假设为4,在t_ItemDetail表中相对应有一条FdetailID=4,FdetaiCount=2的记录,其F1=20,F2=30,其他以F开头的字段的值如F3=0,F4=0,F8=0等等,这里面的F1和F2的值就是A客户和B部门在t_Item表中对应的FitemID的值。在t_ItemDetailV有两条相应的记录,表现如下:FDetailID=4,FitemClassID=1,FitemID=20;FDetailID=4,FitemClassID=2,FitemID=30。 在录入模式凭证时,与录入凭证时一样,表t_VoucherEntrytemplate中FDetailID 有相应的代码,在t_ItemDetailt和t_ItemDetailV表中都有相应的记录生成。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号