NAV 2018中如何限制日历日期选择:仅允许选当前日期
可以通过页面控件限制+触发器验证的双重方式实现,既避免用户选到非当前日期,也防止通过其他途径绕过页面限制:
1. 页面控件层面限制(日历下拉直接灰掉无效日期)
- 打开目标字段所在的页面设计器,找到对应的日期控件
- 把控件的MinDate和MaxDate属性都设为
TODAY(),这样日历下拉框里只有当前日期可选,其他日期会被置灰 - 为了防止用户手动输入非当前日期,给该控件的
OnValidate触发器加代码:
IF Rec."你的日期字段名称" <> TODAY() THEN BEGIN ERROR('只能选择当前日期,请重新操作。'); Rec."你的日期字段名称" := TODAY(); // 可选:自动把字段重置为当前日期 END;
2. 表层面验证(防止API/批量修改绕过页面限制)
- 打开目标字段对应的表设计器,找到该日期字段
- 在字段的
OnValidate触发器中添加同样的验证逻辑:
IF "你的日期字段名称" <> TODAY() THEN BEGIN ERROR('只能选择当前日期,请重新操作。'); "你的日期字段名称" := TODAY(); // 可选:自动把字段重置为当前日期 END;
这样设置后,不管是通过页面日历选择、手动输入,还是其他后台修改方式,都会被限制为只能使用当前日期。
内容的提问来源于stack exchange,提问作者Annie
相关产品推荐
相关产品推荐

