当打开一张单据的维护界面(又叫序时簿或列表)时,提示
“行:1;字段:日期 比较值不能为空”
原因:过滤界面中勾选了“下次以本方案自动进入”,但是设置的过滤条件不正确,所以在打开维护界面的时候打不开,出现这个提示。
举例如下图,条件日期后面没有填写比较值,但是勾选了“下次以本方案自动进入”,可能还勾选了“选择确定时自动保存方案”这样错误的方案会被保存下来。
解决方案:
方案一:如果已经打开了该单据的序时簿界面,可以直接打开过滤条件界面,将错误修改掉。
方案二:从数据库解决。
情况1:单据是老单
----查找用户ID
declare @FUserID int
set @FUserID=(select FUserID from t_user where FName='用户名')
-----查找单据ID
declare @FID int
set @FID=(select FID from ICClassType where FName_CHS='单据名称')
-----在表中查找该方案
select * from ICSchemeProfile where FUserID=@FUserID and FSchemeName='默认方案' and FTranType=@FID
-----从表中删除该方案
Delete from ICSchemeProfile where FUserID=@FUserID and FSchemeName='默认方案' and FTranType=@FID
情况2:单据是新单
----查找用户ID
declare @FUserID int
set @FUserID=(select FUserID from t_user where FName='用户名')
-----查找单据ID
declare @FID int
set @FID=(select FID from ICClassType where FName_CHS='单据名称')
-----在表中查询新单的过滤值(该表中FSection的值由),FValue=1表示勾选了“下次以本方案自动进入”;FValue=0代表没勾选“下次以本方案自动进入”。
select * from ICClassUserProfile where FKey='AutoFilterIn' and CONVERT(nvarchar(255),FValue)<>'0' and FUserID=@FUserID and FSection like '%'+@FID+'%'
-----修改过滤条件值,将FValue=1改成FValue=0,即取消勾选“下次以本方案自动进入”。
update ICClassUserProfile set FValue='0' where FKey='AutoFilterIn' and FSection ='FilterSet'+@FID and FUserID=@FUserID
注意:建议先备份账套,在测试账套中测试没问题后再在正式账套中执行。
推荐阅读