EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

函数标准运算符

所述eXpressApp框架提供了各种方法来过滤列表视图:上的数据源水平通过应用模型以及用于过滤“查找属性编辑器”的列表视图的特殊方法。在每种方法中,您可能需要将静态变量设置为过滤条件值。例如,过滤器“ Task.DueDate必须设置为当前日期”需要使用CurrentDate变量(每次需要时都要计算)。为此,请使用函数标准运算符,这些运算符表示返回特定值(例如当前日期或当前用户)或处理指定参数的结果的函数(例如串联函数)。本主题描述函数标准运算符,显示在过滤时如何使用它们,并说明如何实现自定义函数运算符。

功能标准运算符基础

功能标准运算符是标准语言的一部分。在条件字符串中,“功能条件运算符”名称后应跟括号,其中包含表示函数参数的操作数;如果不带参数,则为空括号。以下条件演示了如何使用LocalDateTimeToday运算符:

[Task.DueDate] = LocalDateTimeToday()

开箱即用的是多个功能条件运算符,例如LocalDateTimeAfterTomorrowReplace。请参阅FunctionOperatorType帮助主题以获取完整列表。下表列出了XAF应用程序中可用的特定于XAF的功能标准运算符:

操作员

描述

例子

CurrentUserId()

返回当前用户的标识符。此自定义功能条件运算符已在SystemModuleModuleBase.CustomizeTypesInfo方法重写中注册。此运算符的Evaluate方法返回SecuritySystem.CurrentUserId属性值。

User.Oid = CurrentUserId()

IsCurrentUserInRole(角色名称)

确定是否将当前登录的用户分配给指定角色。当前没有用户登录时返回false。该SecurityModule注册该自定义函数的标准操作员在XafApplication.LoggedOn事件处理程序,如果SecuritySystem.CurrentUser实现IUserWithRolesISecurityUserWithRoles接口。此Operator的Evaluate方法将SecuritySystem.CurrentUser属性值强制转换为IUserWithRolesISecurityUserWithRoles接口,并检查Roles集合是否包含指定的角色。

IsCurrentUserInRole('Admin')

IsNewObject(obj)

仅适用于XPO对象。指示是否创建了指定对象但尚未将其保存到数据库。此运算符的Evaluate方法使用静态XPObjectSpace.FindObjectSpaceByObject方法获取当前的对象空间,然后返回XPObjectSpace.IsNewObject结果,如果未找到对象空间,则返回false。您只能在客户端使用此运算符;不要在安全权限标准中使用它。

IsNewObject(This) IsNewObject(Manager)

有关DateTime函数条件运算符的重要说明

日期时间参数不支持加法和减法运算。以下表达式不正确:

[Task.DueDate]>(LocalDateTimeToday()-3)和[Task.DueDate] <(LocalDateTimeToday() 3)

要从DateTime参数中添加或减去值,请使用XPO公开的DateTime管理功能,例如AddDays和AddYears。例如,这是编写先前条件的正确方法:

[Task.DueDate]> ADDDAYS(LocalDateTimeToday(),-3)和[Task.DueDate] <ADDDAYS(LocalDateTimeToday(),3)

有关带有说明的功能的完整列表,请参阅“标准语言语法”帮助主题。

注意

DateTime参数支持某些数据库管理系统(DBMS)中的普通加法和减法操作-在服务器端对这种表达式求值时不会出错。例如,当通过ListViewFilterAttribute过滤列表视图时,条件在服务器上处理。如果服务器支持DateTime参数的加减运算(例如,MS SQL Server或MS Jet数据库引擎),则将正确处理该条件。

移动应用中使用的功能标准运算符的局限性

在移动应用程序中使用功能条件运算符时,请注意以下限制:

过滤数据源时:

使用条件外观模块配置UI时:

  • 自定义功能标准操作员应在服务器端进行评估。
  • 阿布斯反余弦Ascii码ATN2ATNBigMul天花板字符余弦余弦精通地板日志10日志最大最小功耗赛第一轮登录双曲正弦SQRTanh不支持UtcNow功能标准运算符。
相关文章

转载保留此链接,注明出处