速达软件常见问题系列

7做任何单据时提示“主键、单号、编码相同”,但keyvalue里数据并无异常。很可能是凭证主表有丢失情况

解决方法:

delete from creditem where credid not in (select credid from credence)

8填制“银行存取款”时,系统出现“主键、单号、编码重复”的错误提示。

解决方法:

A、select * from movemoney where moveid<1

/*执行此语句,查找是否存在返回记录*/

B、如果发现返回记录,把上述业务单据删除即可。

注意:DMS系列产品分为DMS总部版及DMS分支机构版本,如该业务单据由分支机构填制,那么在处理该类问题时,必须分别将总部及分支机构对应的业务单据删除。

9在初始化阶段,新增“供应商资料”、“货品资料”时,系统均出现了“主键、单号、编码相同”的提示信息。

解决方法:

A、select count(*) from goods

select count(*) from goodsunit

select count(*) from client

select count(*) from crm_trader

/*通过上述的语句的查询,目的在于查找上述基础资料的记录数*/

B、依次将上述返回的记录数,回填到keyvaluetable(键值表)中。

10在支付工资时,出现“主键、单号、编码相同”

解决方法:

A、select count(*) from DISLABORAGE

通过查询此语句,我们把此表单的最大值记下

B、update keyvaluetable set keyvalue=‘最大值’ where tablename='DISLABORAGE'

或直接执行:Update keyvaluetable set keyvalue=(select max(dislaborageid) from dislaborage) where tablename='DISLABORAGE'

11在保存业务单据时,出现“主键、单号、编码相同”

解决方法:

A、select * from credence where getstrlength(credid)=10

select * from creditem where getstrlength(credid)=10

通过此查询记录,判断凭证主表及从表是否存在10位的编码存在

B、update credence set credid=substring(credid,1,6)|| '01'||substring(credid,7,10) where getstrlength(credid)=10

C、update creditem set credid=substring(credid,1,6)|| '01'||substring(credid,7,10) where getstrlength(credid)=10

D、select * from creditem where credid not in(select credid from credence)

执行B、C语句后,再执行D,如果D有返回记录,必须将其删除

E、delete from creditem where credid not in(select credid from credence

12新增往来单位时,提示“主键,编码,单号”

解决方法:

A、update as_tablekeys set maxkey=(select max(traderid) from l_trader) where tablename='L_TRADER'

13关于”增加往来单位提示主键单号编码相同”的处理方法:

因为往来单位在业务与帐务系统结合使用的时候关联到会计科目,所以一般是会计科目的应收应付,预收预付科目对应不上。

打开会计科目。仔细查看应收应付科目(包括被停用的会计科目);对比应收、预收(如果不能增加客户),对比应付、预付(如果不能增加供应商),如果发现有对应不上的,则需要在al_subject该表中添加进去对应的明细项。

14单据审核时报“主键,单号,编码相同”

早期的IB版本会经常出现该问题,处理方法:

aa_billflow和表aa_billflow_bak表中有相同的记录。请更新表aa_billflow_bak

中的记录值。让该表中的ID值的最小值大于aa_billflow中的最大ID值

现在新的SQL版本一般这种问题是由于客户自己修改了单据编号,软件没有自动累加造成的。其实在客户的帐套中已经存在了改单据。将单据编号修改一下就可以了!

举报
评论 0