我的方法是在视图的 postOpen 和 queryClose 事件中使用 @SetViewInfo([SETVIEWFILTER]; 。为此,请将选择公式更改为:
Var := @If(@IsAvailable(ENVIADO); @If(ENVIADO != "Sim"; "Valido";"");"Valido");
SELECT (Form="Documento" & Emissor!="" & DocApagado="Não" &
Estado="Definitivo" & @IsUnavailable($Conflict) ) &
Var = "Valido"
接下来在视图的开头添加一列,该列已排序和分类。给它这个公式:
out := "";
@For(i:=1; i<7; i:=i+1;
wrkDt := @Adjust(Notes_Data; 0; 0; (i*-1); 0; 0;0);
tmp1 := @Text(@Year(@Date(wrkDt))) +
"-" + @Right("00" + @Text(@Month(wrkDt));2) +
"-" + @Right("00" + @Text(@Day(wrkDt));2);
out := @Trim(out : tmp1)
);
out
这将导致您希望在给定日期显示的每个文档都出现在您希望它出现的每个日期的视图的七个类别中。
如果这是一个 Web 应用程序,您可以使用 RestrictToCategory 设置仅显示今天的文档。如果这是 Notes 客户端应用程序,请将 View 的 PostOpen 事件更改为运行公式代码并将其设置为:view 为
tmp1 := @Text(@Year(@Today)) +
"-" + @Right("00" + @Text(@Month(@Today));2) +
"-" + @Right("00" + @Text(@Day(@Today));2);
@SetViewInfo([SetViewFilter]; tmp1);
现在,当您打开视图时,您只会看到今天的文档。并且它不会经常需要刷新。
注意:我使用这种文本格式来确保即使服务器和客户端使用不同的格式,这对于任何本地日期显示格式都一样有效。
一个警告...... SetViewInfo 对当前数据库中的所有视图保持有效,因此您应该向除此之外的视图的所有 PostOpen 事件添加一个清除值的公式:
@SetViewInfo([SetViewFilter]; "");
快乐编码
/新人