*
:
说明 测试 SQL查询语句 ('号用`号替换)
× 注意！ SQL语句中的单引号请用符号`替换（该符号在键盘TAB上方）。

> 宏控件可以代替手工输入，实现根据用户指定要求进行自动取值，使得工作流的表单填写更加智能与方便，宏控件类型选择当前日期，点击【确定】，在表单上 就生成了该控件，填写表单时就会自动填入当前日期了。另外宏控件也支持隐藏属性，对不需要在表单显示字段可以将其隐藏。宏控件支持来自SQL查询，语句，下面重点介绍一下。

来自SQL语句的宏控件，因其定义格式比较复杂，需要具备SQL语言的专业知识，并了解OA系统数据库结构，建议在技术支持人员指导下完成。

可以参照以下格式书写SQL语句：

下拉菜单型语句如：

`SELECT name FROM book_category ORDER BY sort`

该语句表示列出全部书籍的分类名，并按序号排序显示

单行输入框语句如：

`SELECT realname FROM ibos_user WHERE username = `gzzr``

该语句表示查询用户名为gzzr的用户的真实姓名

目前，SQL语句中已支持以下宏变量，更加方便用户使用：

`[sys_user_id]` 表示当前用户的用户ID

`[sys_dept_id]` 表示当前用户的部门ID

`[sys_pos_id]` 表示当前用户角色ID

`[sys_run_id]` 表示当前的工作流水号，可用于表单数据表的查询 * `注：测试条件下不可用`

例如：

`SELECT realname FROM ibos_user WHERE uid=`[sys_user_id]``

此句表示查询当前用户的真实姓名

`SELECT realname FROM ibos_user WHERE FIND_IN_SET(deptid,`[sys_dept_id]`)`

此句表示查询当前部门所有用户的姓名

`SELECT realname FROM ibos_user WHERE deptid = `[sys_dept_id]` ORDER BY uid`

此句表示查询当前部门所有用户的姓名，并按角色序号排序

可以利用SQL语句查询系统代码设置中所设置的代码，实现下拉菜单根据代码定义动态变化：

例如：

`SELECT name FROM ibos_syscode WHERE number = `AREA` ORDER BY sort`

此句表示列出系统代码“地区”的全部值，“地区”的代码编号是“AREA”。