关联带出配置

常见关联带出配置

—何鹏
还请大家帮忙指出改正

前言:
目前wiki上能查到的常见关联带出配置讲解不全面,容易导致使对其不了解使用不正确
注:
1、关联带出配置只在info层适用,他们在元数据中的form_relations中使用格式为
"form_relations": [ { "key": "employee_id", "value_onchange": [] } ]
2、测试这些配置的api为api/execute.formula.preview可以显示为该函数获取到的数据有哪些

1、MODELGET为常用的关联带出配置,用法相对也比较简单,判断条件也只能为数字或者key,判断条件可以添加多个(注;必修添加在model名称之后),
获取到之后直接“.”get即可获取
MODELGET(‘此处填写model名称’,’此处添加判断条件’)

2、 MODELINFO()[]用法与MODELGET()语法一样
MODELGET('此处填写model名称','此处添加判断条件')[填写获取的哪条数据对象]

3、EMPPRIMARYJOB() 根据人员的employee_id获取人员的主任职数据
EMPPRIMARYJOB(employee_id=employee_id).get('任职信息的字段key')

4、根据人员的岗位信息获取部门与单位信息,这个配置在一定程度上补齐了用MODELGET()在获取人员其他任职的时候的不足,可以获取到岗位信息,获取不到部门和单位信息的情况,

{"form_relations": [{
    "value_onchange": [{
            "expression": "POSITION(position_id).get('parent_id')",
            "key": "department_id"  /*根据岗位id获取部门名称*/
        } ,{
            "expression":"POSITION(department_id).get('subordinate_unit_id')",
            "key": "unit_id"    /*根据部门id获取岗位名称*/
    }],
    "key": "position_id"
}]}

5、EMP()获取人员信息,在关于每个人事表单中都会用到的一个配置,它可以获取人员基本信息的所有字段的数据
EMP(employee_id=employee_id)

6、TODAY()为获取当前时间,不过在时间组件中“default:true”可以直接获取当前时间,所以建议使用“default”即可
TODAY()