科目挂核算项目的业务在总帐与基础资料部分涉及的范围比较广,如果对应此部分的后台数据发生错乱,则会导致软件无法正常进行,下面对常见报错进行了汇总,用户可以在学习完基础数据结构与逻辑的基础上自行进行分析与处理,从而解决问题。
1、科目设置了核算项目,在凭证录入时不提示需要输入核算
2、科目设置了核算项目,在凭证查询时,看不到核算项目信息
3、在科目余额表中无法查看核算项目明细,但未过账前在包括未过账凭证时可以正常显示
4、无法结转损益,提示分录缺少核算项目
5、凭证无法过账,提示分录缺少核算项目
6、账薄查询时,提示F3001列无效
7、凭证过账时提示:在结果列中多次出现列名F1
8、应收应付系统初始化转余额到总账失败
9、其他凭证模板如自动转账、各类型的单据模板等生成凭证失败
10、修改核算项目明细时,提示定义的应用程序或对象错误
11、单据录入时F7无法调出客户或者供应商
12、科目余额表有部分供应商显示两行数据,正确数据为这两行数据之和,供应商编码相同
上述错误,都是因为与Fdetailid值相关的记录不正确造成的。比照数据逻辑进行处理。另外,即使同样的报错,执行处理的语句也会因不同帐套或不同期间而略有不同,请一定在理解基础数据结构与逻辑的基础上进行处理。
基础数据结构与逻辑
1.核算项目类别
增加一核算项目类别,一般先在t_itemclass中生成记录,如果新生成的核算项目类别有具体的属性则会继续在t_itempropdesc中生成记录,同时在对应的t_itemclass中的Fsqltablename中会为对应的类别生成一个具体的数据表来记录它的专有属性。例如:新增一个核算项目类别“银行”,包括的属性有银行的代码、名称、地址、区域。如下图:
则t_itemclass表中会发生如下变化:
注:Fitemclassid(核算项目类别内码)。代表不同的核算项目类别,1为客户,2为部门,3为职员,4为物料,5为仓库,6为备注,7为计量单位,8为供应商,9为现金流量项目…
如果是自定义的核算项目,一般Fitemclassid字段的值都比较大,一般均在3001以后。
t_itemclass是保存核算项目类别的一些共有属性的,如Fnumber代表核算项目类别的代码,Fname代表名称,另外有一个FsqlTableName字段,它表示每个核算项目对应的详细情况表名称,由图可见银行类对应的核算项目详细情况表为T_item_3001,这个稍后作介绍。
由于我们还定义了银行类的一些专有属性,所以在t_itempropdesc中会有如下变化:
t_itempropdesc表是通过Fitemclassid与T_itemclass联系的,这里对应Fitemclassid为3001的共有4条记录,就是我们刚才定义的银行类的专有属性,其中字段fsqlcolumnname为四个属性分别在核算项目详情表T_item_3001对应的字段。
2.核算项目
具体的核算项目是保存在表t_item中的,若核算项目类还有专有属性,则其专有信息保存在t_itemclasss中FsqlTableName对应的表中。
在核算项目类银行下新增一核算项目明细。
此时,在t_item表中会增加一条明细,如下图第64条记录:
以上两表是通过fitemid(核算项目内码)进行关联的。