ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:1.01MB ,
资源ID:21107452      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21107452.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(金蝶核算项目常见问题及数据结构分析Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

金蝶核算项目常见问题及数据结构分析Word文件下载.docx

1、如下图:则 t_itemclass 表中会发生如下变化:注:Fitemclassid(核算项目类别内码) 。代表不同的核算项目类别,1 为客户,2 为部门,3为职员,4 为物料,5 为仓库,6 为备注,7 为计量单位,8 为供应商,9 为现金流量项目如果是自定义的核算项目,一般 Fitemclassid 字段的值都比较大,一般均在 3001 以后。t_itemclass 是保存核算项目类别的一些共有属性的,如 Fnumber 代表核算项目类别的代码,Fname 代表名称,另外有一个 FsqlTableName 字段,它表示每个核算项目对应的详细情况表名称,由图可见银行类对应的核算项目详细情况表

2、为 T_item_3001,这个稍后作介绍。由于我们还定义了银行类的一些专有属性,所以在 t_itempropdesc 中会有如下变化:t_itempropdesc 表是通过 Fitemclassid 与 T_itemclass 联系的,这里对应 Fitemclassid 为 3001的共有 4 条记录,就是我们刚才定义的银行类的专有属性,其中字段 fsqlcolumnname 为四个属性分别在核算项目详情表 T_item_3001 对应的字段。2.核算项目具体的核算项目是保存在表 t_item 中的,若核算项目类还有专有属性,则其专有信息保存在 t_itemclasss 中 FsqlTabl

3、eName 对应的表中。在核算项目类银行下新增一核算项目明细,如图:此时,在 t_item 表中会增加一条明细,如下图第 64 条记录:同时在保存该核算项目详细情况的表中会增加以下一条记录:以上两表是通过 fitemid(核算项目内码)进行关联的。3.核算项目横纵表核算项目横表:涉及的表为 t_ItemDetail,此表是联接各个核算项目业务表的纽带,如科目表,凭证表,余额表等等都与此表有很大的联系。核 算 项 目 纵表为 t_ItemDetailV , 此 表 是 由 核 算 项 目 横 表 来 生 成 的 , 可以用SP_CleanItemDetailV 这个存储过程来生成。是核算项目横表

4、另一种形式的表现。在平时的各种报表计算时,程序是直接关联的该表。下面我们以一实例来说明核算项目横纵表是如何来管理核算项目的:在科目应收账款下挂客户的核算项目类别,则在 t_itemdetail 中会出现如下记录:其中 fdetailid 为核算项目组合内码,fdetailcount 代表核算项目组合数目,后面的以 F 开头的类分别代表该组合的具体内容, 上图中的 fdetailid=1 的记录就代表某一科目下挂一个核算项目类,该类为客户,其中 F 后面的数字具体代表什么类别是根据 t_itemclass 中核算项目类别对应的 fitemclassid 来决定的。t_itemclass 与 t_

5、itemdetail,t_itemdetailv 的关系:同时我们也会看到科目表 t_account 中关于应收账款的记录作了如下变化:t_account 中应收账款对应的 fdetailid 字段由未挂核算项目前的 0 变为了 1,也就是说进行了核算项目管理的科目的具体情况, 都可以通过该表中的这个字段来表示, 该字段与核算项目横表是一一对应的。如果我们在录入凭证的时候选择了科目下的具体核算项目,如图:其中 f1 下面的 64 代表核算项目 t_item 表中 fitemid 为 64 的核算项目,即我们在凭证录入时候选择的核算项目。该凭证在凭证分录表中保存信息如下:当该凭证过帐时,科目余额

6、表中也会保存不同币别的两条相应的记录:也就是说对于核算项目横表中 FX 列对应的不是 0 或者-1 的 fdetailid 会在凭证表与科目表中被引用,对于-1 的则被科目表所引用。以下 Fdetailid 只能为科目属性值使用,即只能出现在 t_account 表中:select * from t_itemdetailwhere fdetailid in (select Fdetailid from t_itemdetailvwhere fitemid=-1)以下 Fdetailid 只能出现在各余额表、凭证分录表中:select *from t_itemdetailwhere fdetai

7、lid in (select Fdetailid from t_itemdetailv where fitemid-1)另外:在 t_itemdetail 中有一条 fdetail 为 0 的记录,这条记录是系统预设的,不能丢失,丢失了要手工参照标准帐套补入,否则会导致无法过帐,不能正常查看帐簿等问题。此外还不允许在 Fx 列中出现 NULL 值。如果出现 Null 值,一般都是该表的约束或默认值值丢失,需要更正:update t_itemdetail set F3003=0 where F3003 is nullALTER TABLE t_ItemDetail ALTER column F3

8、003 int NOT NULL综上,核算项目横纵表与各数据表之间的关系可以通过下图来表示:案例1. 修改客户的核算项目明细时报“定义的应用程序或对象错误” ,或录入单据时候 F7 调不出数据:这种情况很有可能是保存客户详细记录的表 t_Organization 中记录丢失,可在查询分析器中执行如下语句补入:insert into t_Organization(Fitemid,Fnumber,Fparentid,Fshortnumber)select Fitemid,Fnumber,Fparentid,Fshortnumberfrom t_itemwhere fitemclassid=1 an

9、d fdetail=1and fitemid not in (select fitemid from t_Organization)update t_Organization set Fregionid=0,ftrade=0,Fvalueaddrate=0,Fsaleid=0where fitemid in (select fitemid from t_item where fdetail=1)update a set a.fname=b.fnamefrom t_Organization a join t_item b on a.fitemid=b.fitemid同理,其他核算项目类别下的明细

10、表记录丢失,也可模仿此语句补入。2. 凭证无法过账、账薄报表无法查询、无法结转损益结转损益之后无法过帐或仍有余额,提示:在结果列中多次出现 F1,名称或代码已存在等一般是 fdetailcount 数目不对或者相同的核算项目组合出现重复,对于错误的 fdetailcount,首先要执行如下语句进行更新:exec sp_cleanitemdetailv-横表生成纵表的存储结构update a set a.fdetailcount=b.Fcountfrom t_itemdetail a join(select Fdetailid,count(Fitemid) Fcountfrom t_itemde

11、tailvwhere fitemid0 group by Fdetailid) bon a.fdetailid=b.fdetailid-更新 fdetailcountexec sp_cleanitemdetailv-重新生成纵表作了以上更新后发现表中还存在相同组合的重复记录,这是不允许的:图中 f2=-1 的记录一共有两条,对应的 fdetailid 分别为 8,224,其在科目表 t_account引用状况如下:而我们只需要保留一个 fdetailid 即可,此时我们取最小的 fdetailid,执行如下语句更新科目表:update t_accountset Fdetailid =(sele

12、ct min(fdetailid) from t_itemdetailand Fdetailcount=1 and F2=-1 )where Fdetailid in (select (fdetailid) from t_itemdetail执行之后科目表更新为以下状况:同时我们还要删除核算项目横表中的多余记录,执行如下语句:delete from t_itemdetailwhere Fdetailid in(select (fdetailid) from t_itemdetailand Fdetailid (select min(fdetailid) from t_itemdetail执行之

13、后核算项目横表 itemdetail 中多余的 fdetailid=224 的记录被删除另外还要查看各余额表中有没有非法的 fdetailid,即不在核算项目横纵表中的,有的话则需要删除:-查找科目余额表中有没有非法的 fdetailidselect * from t_balancewhere fdetailid not in (select fdetailid from t_itemdetail)-删除科目余额表中非法的 fdetailiddelete from t_balance同理进行以下操作查找数量余额表中有没有非法的 fdetailidselect * from t_quantity

14、balance删除数量余额表中非法的 fdetailiddelete from t_quantitybalance查找损益类科目实际发生额表中有没有非法的 fdetailidselect * from t_profitandloss删除损益类科目实际发生额表中有没有非法的 fdetailiddelete from t_profitandloss3. 查询账薄时提示列名 f3001 无效出现如上报错则需要查看 t_itemdetail 表中该对应的列是否存在,如果不存在,应该补充执行如下语句:If Not Exists(Select c.Name from syscolumns c,sysobj

15、ects owhere c.Id=o.Id and c.name=F3001 and o.name=t_ItemDetail)BeginAlter Table t_ItemDetail Add F3001 int not null default(0)Create Index ix_ItemDetail_3001 On t_ItemDetail(F3001)END4. 科目余额表过滤本期,科目选择应付帐款,显示核算项目,确定.报表显示有部分供应商显示两行数据,正确数据为这两行数据之和,供应商编码相同.例:供应商代码 2001.0001 这种情况一般是由于核算项目横表中被凭证表, 余额表引用的核

16、算项目组合有重复记录,如下图:象这种情况,需要做如下处理:(1)创建临时表 t_itemdetail_error,把重复核算项目记录插入该表select a.*, a.fdetailid Fdetailid_tempinto t_itemdetail_errorfrom t_itemdetail a join t_itemdetail b on a.f8=b.f8 anda.fdetailcount=b.fdetailcountwhere a.fdetailcount=1 and a.fdetailidorder by a.f8(2) 在临时表 t_itemdetail_error 中修改错误

17、的 fdetailid 值 (以最小的 fdetailid 值为基准) :update b set b.fdetailid_temp=a.fdetailidfrom t_itemdetail_error a join t_itemdetail_error b on a.f8=b.f8 andwhere a.fdetailcount=1 and a.fdetailid (3)创建余额表临时表 t_balance_temp :select * into t_balance_temp from t_balanceorder by fyear,fperiod,faccountid,fdetailid,

18、fcurrencyid(4)更新余额表临时表的错误 detailid 值:update a set a.fdetailid=b.fdetailid_tempfrom t_balance_temp a join t_itemdetail_error b on a.fdetailid=b.fdetailid(5)创建临时表 temp002:select top 0 * into temp002 from t_balance(6)合并 t_balance_temp 相同核算项目项的金额,把结果插入 temp002:insert into temp002(fyear,fperiod,faccounti

19、d,fdetailid,fcurrencyid,FFrameWorkID,FBeginBalanceFor,FDebitFor,FCreditFor,FYtdDebitFor,FYtdCreditFor,FEndBalanceFor,FBeginBalance,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBalance)select fyear,fperiod,faccountid,fdetailid,fcurrencyid,FFrameWorkID,sum(FBeginBalanceFor)FBeginBalanceFor,sum(FDebitFor)FD

20、ebitFor,sum(FCreditFor)FCreditFor,sum(FYtdDebitFor)FYtdDebitFor,sum(FYtdCreditFor)FYtdCreditFor,sum(FEndBalanceFor)FEndBalanceFor,sum(FBeginBalance)FBeginBalance,sum(FDebit)FDebit,sum(FCredit)FCredit,sum(FYtdDebit)FYtdDebit,sum(FYtdCredit)FYtdCredit,sum(FEndBalance)FEndBalancefrom t_balance_tempgrou

21、p by fyear,fperiod,faccountid,fdetailid,fcurrencyid,FFrameWorkID(7)清空 t_balance 数据 :(8)把 temp002 的值写回 t_balance:insert into t_balance(fyear,fperiod,faccountid,fdetailid,fcurrencyid,FBeginBalanceFor,FDebitFor,FCreditFor,FYtdDebitFor,FYtdCreditFor,FEndBalanceFor,FBeginBalance,FDebit,FCredit,FYtdDebit,

22、FYtdCredit,FEndBalance,FFrameWorkID)selectfyear,fperiod,faccountid,fdetailid,fcurrencyid,FBeginBalanceFor,FDebitFor,FCreditFor,FYtdDebitFor,FEndBalance,FFrameWorkIDfrom temp002(9)删除 t_itemdetail 中的重复值:where fdetailid in (select fdetailid from t_itemdetail_error)and fdetailid not in (select fdetailid

23、_temp from t_itemdetail_error)(10)更新纵表:exec sp_cleanitemdetailv(11)更正凭证分录数据:from t_voucherentry a join t_itemdetail_error b on a.fdetailid=b.fdetailidwhere a.fdetailidb.fdetailid_temp总结一般的处理 Fdetailid 相关信息的逻辑顺序为:1、查询被科目使用的核算项目使用详情信息2、查询、更正核算项目使用详情组合个数3、根据实际情况,更正科目表(或凭证表,余额表)中的 Fdetailid 和删除 t_itemdetail表中的重复记录4、补充检查出来的账套中预设的 0 记录(一般情况下不会有)5、反结账到到出现问题的期间,建议同时将反结账后期间的凭证反过账;6、删除三个余额表中的错误 Fdetailid 记录7、如果结转损益的凭证数据有误,建议删除8、更正和补充其他相关数据(如补充 t_itemdetail 表中丢失的列等)9、数据修正完后,凭证重新过账,重新结转损益过账,再结账到当前期间。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1