我有formA,我有“_reviewer”字段,这是文本/可编辑的。单击保存按钮时将填充该字段,该按钮具有以下代码:
pick := @Name([CN];@PickList( [Name]));
@SetField("_reviewer"; pick );
@If(@Command([FileSave]);
@Do(
@MailSend(pick;"";"";"Subject";"Body";"";[IncludeDoclink]);
@Command([CloseWindow]);
@StatusBar("Success.")
);
@StatusBar("Fail!"));
我有viewA如果当前用户与'_reviewer'字段中的人相同,则应显示文档,View Selection中的代码为:
LCName := @LowerCase(@Name([CN];@UserName));
LCPeople := @LowerCase(_reviewer);
SELECT form = "formA" & (@Contains(LCPeople; LCName))
我有另一个viewB,我可以看到所有文档,其中一列是'_reviewer'。现在的问题是,即使在viewB上我看到John Doe是documentA的审阅者,当John Doe以当前用户身份登录时,documentA也不会显示在viewA中。棘手的部分是,文档有时会出现在viewA中,有时它们不会出现,即使我在创建文档时重复相同的步骤。有这种行为是不可接受的。是否有其他方法可以解析当前用户和从@PickList中挑选的用户,或者其他一些方法来检查两者是否相同?
答案 0 :(得分:3)
在您的上一个question中建议的页面中使用嵌入式视图。这次首次分类列为@LowerCase(_reviewer)
,“显示单一类别”的公式为@LowerCase(@Name([CN];@UserName))
。视图选择为SELECT form = "formA"
。
您无法在公共视图的选择公式中使用@UserName
等用户特定功能。
答案 1 :(得分:1)
另请注意,用户可以通过按Ctrl + S或关闭窗口并在出现提示时选择“是”来保存文档。他们不必使用“保存”按钮。如果在保存文档之前必须发生某些事情,则必须以Querysave事件的形式完成。如果必须在保存文档后发生,则必须在Postsave事件中。用于检查save命令返回值的荣誉!