Lotus notes 选择过去7天的文档

Lotus notes 选择过去7天的文档,lotus-notes,lotus-domino,lotus,Lotus Notes,Lotus Domino,Lotus,我有一个视图选择公式: Var :=@If(@IsAvailable(ENVIADO); @If(ENVIADO != "Sim"; "Valido";"");"Valido"); SELECT (Form="Documento"&@Date(Notes_data)>@Date(2013;3;31)&Emissor!=""&DocApagado="Não"&Estado="Definitivo"&@IsUnavailable($Conflict))

我有一个视图选择公式:

Var :=@If(@IsAvailable(ENVIADO); @If(ENVIADO != "Sim"; "Valido";"");"Valido");
SELECT (Form="Documento"&@Date(Notes_data)>@Date(2013;3;31)&Emissor!=""&DocApagado="Não"&Estado="Definitivo"&@IsUnavailable($Conflict)) & Var = "Valido"

我想让它选择过去7天的所有文档。除了“今天”。首先,没有人会感谢您将日期放入选择公式,因为每次打开视图时都必须重新创建视图索引。最好在每个文档中都有一个字段,根据您是否希望该文档在此视图中显示,该字段可以是“y”或“n”。然后每晚运行一个代理来检查哪些文档符合条件,并相应地设置标志

但是,如果您的选择公式中必须包含日期,这里有一个建议(另外,它有助于对公式进行良好的格式化,使其更具可读性)。我认为“Notes\u data”是相关字段:

Var :=@If(@IsAvailable(ENVIADO); @If(ENVIADO != "Sim"; "Valido";"");"Valido");
SELECT (
Form="Documento" &
@Date(Notes_data) < @Today &
@Date(Notes_data) > @Adjust(@Today(0;-8;0;0;0;0)) &
Emissor!="" &
DocApagado="Não" &
Estado="Definitivo" &
@IsUnavailable($Conflict)
) & 
Var = "Valido"
Var:=@If(@IsAvailable(ENVIADO);@If(ENVIADO!=“Sim”;“Valido”;“Valido”);
挑选(
Form=“Documento”&
@日期(注:数据)<@今天&
@日期(备注数据)>@Adjust(@Today(0;-8;0;0;0;0))&
发射者!“”&
DocApagado=“Não”&
Estado=“Definitivo”&
@不可用($冲突)
) & 
Var=“Valido”

但是,正如我之前所说的。请不要这样做。

我的方法是在视图的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
现在,当您打开视图时,您将只看到今天的文档,并且不需要经常刷新

注意:我使用这种文本格式是为了确保即使服务器和客户机使用不同的格式,对于任何本地日期显示格式也可以使用相同的文本格式

一个警告…SetViewInfo对当前数据库中的所有视图都有效,因此您应该向除此之外的所有视图的PostOpen事件中添加一个清除值的公式:

@SetViewInfo([SetViewFilter]; "");
快乐编码

/新手

天数:=(@Today-@created)/86400


它将返回从今天开始的天数和文档的创建日期。您可以根据自己的要求给出条件。

Hi!!tks!!是…“notes_Data”是相关字段,但…“将参数传递给非函数或不需要参数的@function”;”不,请不要这样做。在视图中使用与日期相关的\@函数(\@今天、\@明天、\@现在等)可能会导致许多问题。您可以按照Phil的建议创建一个每晚午夜运行的代理。下面是一个示例:字段Last7Days:=\@如果(\@日期(Notes\U数据)<\@今天和\@日期(Notes\U数据)>\@调整(\@Today(0;-8;0;0;0;0);“Y”;“N”)。如果执行此操作,可以使用表达式Last7Days=“Y”在您的选择公式中。避免了如果在选择公式中使用@Today,服务器将受到的巨大性能影响。或者创建一个文件夹和一个简单的FT搜索查询代理,选择您需要的文档并将其放入文件夹中。无需不必要地修改文档。Ramkumar…我将此代码放在一个新的列上?之后这…如何筛选此新列?您将此代码加入到视图选择公式中。在上面的代码中,天将返回从今天开始的天数和创建日期。您可以根据需要使用天。
@SetViewInfo([SetViewFilter]; "");