版权所有©1993-2008金蝶软件(中国)有限公司K/3系统管理员培训--K/3主要表结构与关联关系P22008金蝶系统管理员培训厦门站K/3主要模块数据库结构及问题分析一、总帐系统1.基础资料2.初始化及余额表3.凭证处理4.结帐P32008金蝶系统管理员培训厦门站基础资料相关数据表计量单位组/单位(t_measureunit/t_unitgroup)币别(t_currency)凭证字(t_vouchgroup)科目(t_account)核算项目类别/核算项目(t_itemclass/t_item)核算项目属性(t_ItemPropDesc)P42008金蝶系统管理员培训厦门站计量单位组/单位(t_measureunit/t_unitgroup)常用的字段为Fmeasureunitid(计量单位内码),tnitgroupid(计量单位组内码),Fstandard(是否基本计量单位)。在一个计量单位组内,只能有一个基本计量单位,即Funitgroupid字段值相同的记录,只能有一条记录的Fstandard字段值为1,如果一个组内有两个Fstandard=1的计量单位,则会造成一些报表数据翻倍。K3中有很多表引用“计量单组ID”和“计量单位ID”,比如科目、凭证、物料、物流单据、余额表及BOM等等。一旦t_UnitGroup或t_MeasureUnit丢失记录(包括零记录),对引用表来说就产生了“孤立数据”。P52008金蝶系统管理员培训厦门站币别t_currency,常用到的字段为FcurrencyID(币别内码),FFixRate(换算率),Fscale(小数位数)等等;FcurrencyID(币别内码):系统默认记帐本位的FcurrencyID值为1Fscale(小数位数):在中间层帐套管理中可设置本位币小数点位数,即FcurrencyID值为1的记录对应的Fscale值;P62008金蝶系统管理员培训厦门站凭证字t_vouchgroup,常用的字段为FgroupID(凭证字内码),一般被t_voucher(凭证表)引用P72008金蝶系统管理员培训厦门站科目-1t_account,主要字段为FAccountID(科目内码),FfullName(科目全名),FQuantity(是否数量金额辅助核算),FMeasureUnitID(计量单位内码),FDetailid(核算项目内码)等。科目内码一旦被引用,为保证数据的完整性,此科目就不允许删除。FFullname(科目全名)在录入凭证,查看帐薄时用到。如果在录入凭证,查看帐薄时,系统只显示科目的最明细一级的名称,那就是因为科目全名字段中的值不正确。P82008金蝶系统管理员培训厦门站科目-2Fquantity(是否数量金额辅助核算),标识此科目是否需要数量金额辅助核算,一般此字段与FmeasureUnitID(计量单位内码)一起使用,当fquantity字段的值为1时,FmeasureUnitID字段中一定也要有相应的值,且FmeasureUnitID与t_measureunit表中的FmeasureUnitID字段值相对应。FDetailid(核算项目使用状况内码),这个字段的值与t_itemdetail(核算项目横表)中的Fdetailid字段值相关联,且这个值在t_itemdetail表中对应的以F开头的字段的值为“-1”。P92008金蝶系统管理员培训厦门站核算项目类别/项目/属性-1/2t_ItemClass,客户、部门、职员、物料等,这些都是核算项目的类别。比如客户是一个核算项目类别,部门也是一个核算项目类别;如果核算项目类别看成一个对象,则每对象都有各自的属性。如客户属性有:代码、名称、银行账号、法人代表、偿债等级等等;部门这个对象来说,它的属性是:代码、名称、部门主管、部门电话、传真等等。系统用t_ItemPropDesc保存核算项目类别的属性。t_ItemClass与t_ItemPropDesc用FitemClassID字段关联,一个核算项目类别可以拥有多种属性,因此是“一对多”的关系。用户新增的核算项目类别的属性也保存在t_ItemPropDesc中。P102008金蝶系统管理员培训厦门站核算项目类别/项目/属性-2/2不同的核算项目类别都拥有自己的数据表,在t_itemclass表中,有一个FsqlTableName字段,它表示每个核算项目对应的数据表。比如:客户—t_Organization;部门—t_Department;职员—t_Emp;物料—t_ICItem...。不同的核算项目类别有相同的属性,比如:ID、父级ID、代码、名称、长代码、全称等,系统将这些相同的属性值保存在t_Item表中。故所有的核算项目都实际同时保存在两个数据表中。比如:新增一个职员,则同时保存在t_Emp中和t_Item中;新增一个部门,则同时保存在t_Department中和t_Item中。P112008金蝶系统管理员培训厦门站总账初始化及业务相关表金额余额表(t_balance)数量余额表(t_quantitybalance)损益类科目实际发生额表(t_profitandloss)系统参数表(t_systemprofile)期末处理表(t_Subsys)凭证头/体表(t_voucher/t_voucherentry)P122008金蝶系统管理员培训厦门站初始化数据的存放1/2年初时初始化,金额余额表和数量余额表中都只有第一期的数据,没有本年累计数据和损益数据;P132008金蝶系统管理员培训厦门站初始化数据的存放2/2年中时初始化,如在第6期进行初始化,则t_profitandloss有记录,另外两张余额表中会存在第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期的FYtdCreDit和FytdDebit等于1期的FYtdCreDit和FytdDebit;6期的FendBalance等于6期的FbeginBalance。P142008金蝶系统管理员培训厦门站余额表与币别表的关系在上面所讲的三张表中,都有币别(Fcurrencyid)这个字段,假如科目带有外币核算,且外币有余额或发生额,则在这三张表中都由币别ID来识别,一个科目的余额之和是由这个科目的几个币种余额之和而得;在余额表中币别字段(Fcurrencyid)的值为零,就表示是此科目的综合本位币记录。一个科目下所有币别余额之和等于此科目币别字段为零值的记录的余额,所有币别发生额字段之和等于币别字段为零值的记录的发生额。P152008金蝶系统管理员培训厦门站余额表与核算项目表的关系在上面所讲的三张表中,也都有核算项目(Fdetailid)这个字段,如果某个科目下挂核算项目,且核算项目有余额或发生额,那么在这三张表中都由Fdetailid字段的值来反映。Fdetailid字段的值为0,则是此科目所有核算项目之和的记录。P162008金蝶系统管理员培训厦门站结束初始化结束初始化后,系统将自动更新表t_Subsys(新增或更新一条记录),同时更新t_SystemProfile表中Fcategory=GL,Fkey=InitClosed对应的Fvalue=1,标志初始化完成。P172008金蝶系统管理员培训厦门站凭证头/体表1/2凭证头表t_Voucher保存凭证的日期、制单人、是否审核、过帐等凭证头信息;凭证体表t_Voucherentry保存凭证的分录信息,如会计科目、凭证分录等;在凭证过帐前,系统会检查总帐是否已完成初始化、检查当前期间是否有未过帐凭证,若未完成初始化或没有未过帐凭证,则退出过帐过程否则进入下一步。凭证过帐时,在选定的凭证范围内按照期间、凭证字、凭证号、分录号的顺序逐条处理凭证分录:①检查凭证是否在本会计年度、期间。②根据帐套选项的“凭证过帐前必须审核”,检查凭证是否已经审核。③检查科目、核算项目的合法性。④检查凭证号是否连续。⑤将分录中的借或贷方发生额登记至t_Balance,分三步完成:A、登记科目的原币、原币折合本位币发生额。B、登记核算项目的原币、原币折合本位币发生额。C、若是非明细科目,则汇总其所有上级科目的发生数。以上三步操作中数据库中数据会发生变化的有表t_Balance中的FdebitFor,FcreditFor,FytdDebitFor,FytdCreditFor,FEndBalanceFor,FDebit,FCredit,FytdDebit,FYtdCredit,FendBalance十个字段。P182008金蝶系统管理员培训厦门站凭证头/体表2/2⑥检查是否机制损益类凭证,如是结转机制凭证(FinternalInd=“TransferPL”、“RateAdjust”),则不更新余额表数据。⑦若科目属于损益类科目(t_Account中FGroupID值大于500),且凭证分录中的FinternalInd字段值为“TransferPL”(自动结转),则将分录中的借或贷方发生额登记至表t_ProfitAndLoss中,分三步完成:A、登记损益类科目的原币、原币折合本位币发生额。B、登记核算项目的原币、原币折合本位币发生额。C、若是非明细科目,则汇总其所有上级科目的发生数。以上三步操作中数据库中数据会发生变化的有表t_ProfitAndLoss中的FamountFor,FytdAmountFor,Famount,FytdAmount四个字段。⑧若科目或核算项目设有数量辅助核算,则更新表t_QuantityBalance,发生变化的字段有FDebitQty,FCreditQty,FYtdDebitQty,FytdCreditQty,FEndQty五个字段。⑨表t_Voucher的对应字段Fposted=1,FpostID=过帐人ID,加上过帐标记。P192008金蝶系统管理员培训厦门站固定资产业务相关表基础资料表:T_FAAlterMode,T_FAGroup,T_FAStatus,T_FALocationT_FAEconomyUse,T_FACardItemDefine,T_FAGroupItem,T_FADeprMethod,T_FAUserDeprRate卡片变动相关表:T_FAAlter,T_FACard,T_FADevice,T_FAOrgFor,T_FADept,T_FACardItem余额与计提折旧相关表:T_FABalance,T_FAbalCard,T_FABalDevice,T_FABalOrgFor,T_FABalDept,T_FABalCardItem,其他表:T_FAClear,T_FAVoucherP202008金蝶系统管理员培训厦门站功能表的对应P212008金蝶系统管理员培训厦门站卡片业务图表卡片新增新增卡片变动情况(t_faalter)新增卡片基本信息(t_facard)新增自定义项目(t_facarditem)新增设备信息(t_fadevice)新增原值原币信息(t_faorgfor)新增部门分配(t_fadept)新增余额(t_fabalance)新增T_fabalcard新增T_fabaldept新增费用分配(t_faexpense)新增T_fabalexpense动态信息,每期都不同,因此每期都有一条记录P222008金蝶系统管理员培训厦门站表之间的关联ID