在线客服
 工作时间
周一至周五 :8:00-17:30
周六至周日 :9:00-17:00
 联系方式
办公电话:0531
新闻详情

金蝶用户异常,KIS专业版14.1即时库存不显示数据

第一方案:很专业,一般尽量不要动!动之前要备份数据!!


原因:KIS专业版14.1即时库存不显示数据


处理:打开t_USER,看看用户ID【FUserID】是多少? 一般是16XXX的

       

      打开ICReportProfile表,看看对应有没有,如果有,删除这些信息。


      delete from ICReportProfile where   fuserid='16XXX'


第二方案:很专业,一般尽量不要动!动之前要备份数据!!


最近遇到不少实施人员问某些用户查不到表数据的问题。现提供解决方法。(本方法适用于商贸版,专业版!旗舰版跟K3没有遇到过这样的问题,不过原理应该相同,可能表名不一样)


问题:用户查询表时,查询不到或者是查询后看不到结果!


原因:用户配置表,用户过滤方案表,用户打印设置表出现了错乱。


解决方法:

本帖隐藏的内容


一,先清除用户配置表,如果清除以后还有问题,请继续清除下面的表数据。

--根据用户名清除用户配置表

delete t_userprofile where fuserid =(select fuserid from t_user where fname='用户名');


二,清除方案表:

--根据用户名清除打印设置方案

delete t_LedgerPageSetup where fuserid =(select fuserid from t_user where fname='用户名');


--根据用户名清除用户报表方案表

delete icreportprofile where fuserid =(select fuserid from t_user where fname='用户名');



----终极解决方案:触发器解决。(慎用!!会导致用户不能保存查询方案或打印方案)。将以下触发器


创建到数据库中去就好了。

--当icreportprofile被插入记录时,触发以下代码


CREATE TRIGGER tri_icreportprofile_Insert

   ON icreportprofile

   after INSERT

AS

DECLARE

   @fuserid   INTEGER;

BEGIN

   -- 取得插入的 @fuserid

   SELECT @fuserid = fuserid FROM INSERTED;

   IF EXISTS ( SELECT * FROM icreportprofile WHERE fuserid = @fuserid )

   BEGIN

    -- 不允许记录被插入,删除记录

    DELETE FROM icreportprofile WHERE fuserid = (SELECT fuserid FROM INSERTED);

   

    delete from t_userprofile where fuserid =(SELECT fuserid FROM INSERTED);

    delete from t_LedgerPageSetup where fuserid =(SELECT fuserid FROM INSERTED);

   

   END

END



--当t_LedgerPageSetup被插入记录时,触发以下代码


CREATE TRIGGER tri_LedgerPageSetup_Insert

   ON t_LedgerPageSetup

   after INSERT

AS

DECLARE

   @fuserid   INTEGER;

BEGIN

   -- 取得插入的 @fuserid

   SELECT @fuserid = fuserid FROM INSERTED;

   IF EXISTS ( SELECT * FROM t_LedgerPageSetup WHERE fuserid = @fuserid )

   BEGIN

    -- 不允许记录被插入,删除记录

    DELETE FROM icreportprofile WHERE fuserid = (SELECT fuserid FROM INSERTED);

   

    delete from t_userprofile where fuserid =(SELECT fuserid FROM INSERTED);

    delete from t_LedgerPageSetup where fuserid =(SELECT fuserid FROM INSERTED);

   

   END

END