K3 WISE 13.1版本,近期发现新增的客户无法删除的情况。
系统提示如下:
错误代码:16464(4050H)
Source :EBSGL.ItemUpdate.Delete
Detail :客户[90.123]在应收账款余额中已经发生业务或已被使用,不能删除。
但实际情况是这个客户是我刚刚新增的,未发生任何业务。
后来数据库追踪的时候发现了是在【_amtbill】这个视图中存在记录,而且所有的客户都会在这个表里有记录。
删除客户时,系统会在这个视图中检索,如果发现客户的FitemID在【_amtbill】中存在,就代表该“客户”已经被使用。
以下是删除客户【90.123】时追踪到的记录:
Create table #ObjectItemID(ItemID INT NOT NULL,FUsedFlag INT DEFAULT(2),FDescription VARCHAR(400) NULL)
INSERT INTO #ObjectItemID (ItemID) VALUES(4622)
【4622是客户90.123的内码】
SELECT DISTINCT fcustomid INTO #UsedItem FROM _amtbill T2
INNER JOIN #ObjectItemID T1 ON T1.ItemID = T2.fcustomid
WHERE T2.FClassTypeID=200000001 AND ISNULL(T1.FUsedFlag,0)<>1
UPDATE #ObjectItemID SET FUsedFlag = 1,FDescription='应收账款余额'
WHERE EXISTS(SELECT 1 FROM #UsedItem WHERE ItemID= fcustomid)
DROP TABLE #UsedItem
但是在新增客户的时候,数据库没有追踪任何关于_amtbill的记录。
现在客户只能新增和禁用,无法删除某些添加错误的客户记录,请各位老师帮忙看看是怎么回事。
推荐阅读