*/找到领料单在单据类型表中的id/* 查询返回结果是25 在存储过程中,注意绿色加粗部分,需改成相对应的billtype和单据从表: declare @billid int declare @itemno int
declare cur cursor for select billid,abs(itemno) from aa_billflow where billtype=25 open cur
fetch next from cur into @billid , @itemno while @@fetch_status = 0 begin
if not exists(select * from i_drawdetail where billid=@billid and itemno=@itemno)
print @billid
fetch next from cur into @billid , @itemno end close cur deallocate cur
存储过程执行完毕后,将返回一个或者多个单据的id,比如,返回的id是1234 Select * from aa_billflow where billid=1234 and billtype=25
*/在底稿表中找到单据id为1234且单据类型为领料单的单据/* 根据单据id找到对应的单号,删除该单据并重做即可。
注意:在存储过程中,必须保证billtype的值、从表的表名和出错和单据类型一致。
63、5000系列3.14。
问题:销售开单保存并审核、且该单有产生应收账款,开具应收款单时,选择好往来单位,引用单据时却不能看到之前的销售开单,在应收款单汇总表和应收款单明细表也没显示,但在销售开单收款一览表有显示。。
分析:在销售开单中,有结算单位(ctrader)和往来单位(trader)两个id。如果这两个id不相等,那么系统就会认为这张单据不是由该往来单位进行结算,所以不会在该往来单位应收款单的选择单据中出现。
处理:select * from s_sale where ctraderid<>traderid
*/查存销售开单中结算单位id和往来单位id不对应的记录/*
update s_sale set ctraderid=traderid where ctraderid<>traderid */将不对应的结算单位id和往来单位id改成相等/* 64、5000系列。
问题:做应付款,选择好供应商,点击选择单据时,出现期初金额的单据类型为“销售开单”,但该金额为该供应商的期初应付款金额。
分析:在销售开单表中多出了该供应商的记录。
处理:假定该供应商的编码为C001
select * from l_trader where code='c001'
*/找到该供应商的traderid为1234/* select * from p_purchase where traderid=1234 and billid<0 */查看采购开单表中是否有该供应商的期初应付/* select * from s_sale where traderid=1234 and billid<0
*/查看销售开单表中是否有该供应商的期初记录/*
delete s_sale where billid='-100'
*/删除销售开单中该供应商对应的记录/* 65、5000系列3.14。
问题:进销存结账时,提示“由于某些原因产品成本没有计算,请重算本期成本”,但重算了本期成本之后再进行进销存结账依然出现以上提示。
分析:重算成本后,在底稿表中仍有少数单据的成本计算标志没有更新。
处理:
A、如果账套不是在最期初,反结账到最期初,进行计算成本,算完执行 Select * from aa_billflow where status=1 */查询底稿表中标志未更新的记录/*
如果没有返回记录,逐一进行进销存结账、重算本期成本即可;
如果有返回记录,查看这些单据的日期,再结账到该进销存期间进行重算本期成本。
B、
如果账套在最期初,且已经进行过计算成本、多次重算本期成本,但仍然无法进行进销存结账,经过查询发现其中标志未更新的标志的,就只能执行 update aa_billflow set status=0
*/更新底稿表中未更新为“已计算”的记录/* 66、5000ProOnline商业版3.14。
问题:现款销售,销售开单审核后,再查看该单据,发现其中的本次现收和已结算金额不相等。该客户并没有期初应收款、也没有做过应收款单。具体如图:
分析:在销售开单表中的已结算金额记录错误。在后台把金额重新一下就可以了。 处理:update s_sale set referamt=payamt
where payamt<>0 and referamt <> payamt and amount<>0 and payamt<=amount */当本次现收不为0也不等于已结算金额、且开单总金额不为0也不等于本次现收时,更新已结算金额等于本次现收/*
补充:如果是采购开单出现了这种情况,同样是执行该语句,把s_sale改成p_purchase。 67、5000系列。
问题:实际库存汇总表和实际库存明细表的数量对不上。
分析:对实际库存数量的累加出错。重新执行一下重建实际库存的存储过程即可。 处理:exec aa_rebuild_realqty 68、5000系列升级3.14。
问题:升级过程中,出现如图报错:
分析:在货品资料表中,有记录货品对应的主往来单位id,在往来单位表中找不到对应的id就会出现此错误。原因有可能是用户把该往来单位删除了。 处理:select * from l_goods where traderid not in (select traderid from l_trader)
*/查询货品的主往来单位在往来单位表中没有对应id的记录/* update l_goods set traderid=1 where goodsid in
(select goodsid from l_goods where traderid not in (select traderid from l_trader))
*/把没有对应id的货品资料先加入一个确认存在的往来单位id/*
69、在重算成本的过程中提示“调用单据的数量不能大于被引用的单据数量”的处理方法
该问题是由于销售开单或者采购开单机制生成的出入库单重复生成,造成的。通过下面语句找到对应的有问题的单据,删除即可: 1、销售开单机制生成的出库单重复的问题:
select distinct m.* from s_sale m,s_saledetail d where abs(ioqty)> abs(unitquantity) and m.billid=d.billid 2、采购开单机制生成的入库单重复的问题:
select distinct m.* from p_purchase m,p_purchasedetail d where abs(ioqty)> abs(unitquantity) and m.billid=d.billid
70、2.86版本,做费用分配时,无法调用需分配费用的验收单,升级3.16后需要手工处理。
产品信息:5000std工业版、5000pro工业版 版本信息:2.86 模块名称:生产管理
问题分析:在验收单表(mnf_finished)中,有一个“费用分摊标志(expenserefered)”。该标志为1时,表示验收单已经经过了费用分摊;标志为0则表示验收单尚未进行费用分摊。由此可见,无法验收单是因为费用分摊标志已经标志为1。 处理方法:
update mnf_finished set expenserefered=0 where billcode like ‘(有问题的验收单号)’ and workshopid=‘(对应的车间id)’
71、2.86版本,现金日记帐中没有显示借贷方向,升级3.16后需要手工处理。 产品信息:5000std、5000pro 版本信息:2.86 模块名称:帐务管理
问题分析:在出纳日记帐表(ac_daybook)中,原币借方(rawdebitamt)、原币贷方(creditamt)的值为空或者为0。这类问题需要分没有外币业务和有外币业务两种情况分析。 处理方法: