开发者社区> 问答> 正文

请问宜搭里面这两个问题分别该如何解决 1、获取员工的主部门 2、获取员工的一级部门

宜搭表单里面有部门或者文本组件,怎么才能获取如下的两个值
公式里面没有找到获取这些值的公式

1、例如员工同时在A、B两个部门,B部门是他的主部门,但是在智能人事里面,部门字段排序是AB,这时候用公式获取出来的部门就是A部门,怎么才能h获取到B这个主部门呢
2、如果员工所在部门是“总公司-销售部-销售一部”,用公式获取出来的部门就是“销售一部”,怎么配置才能获取到“总公司”或者“销售部”这个部门名称展示出来

展开
收起
游客v4ty6w2nzlk7w 2023-07-19 09:59:24 407 0
8 条回答
写回答
取消 提交回答
  • 1、要获取员工的主部门,可以使用以下公式:

    IF(CONTAINS(部门, "B"), "B", "A")
    

    这个公式会判断部门字段中是否包含"B",如果包含则返回"B",否则返回"A"。

    2、要获取部门名称中的上级部门,可以使用以下公式:

    LEFT(部门, FIND("-", 部门, FIND("-", 部门) + 1) - 1)
    

    这个公式会先找到第一个"-"的位置,然后再找到下一个"-"的位置,然后截取这两个位置之间的部分作为上级部门名称。例如,对于部门名称"总公司-销售部-销售一部",这个公式会返回"总公司"。

    2023-07-20 18:08:36
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在宜搭中,您可以通过以下方式解决获取员工主部门和一级部门的问题:

    1. 获取员工的主部门: 宜搭提供了与企业微信、钉钉等企业通讯工具集成的能力,通过这些集成可以获取员工的组织架构信息。例如,在企业微信集成中,您可以使用「企业微信-通讯录」模块中的接口来获取员工的主部门。具体步骤如下:

      • 在宜搭中,添加一个「企业微信-通讯录」模块。
      • 配置模块所需的参数,例如企业 ID、应用 Secret 等。
      • 使用该模块提供的接口(如 department.fetch)来获取员工的主部门信息。
    2. 获取员工的一级部门: 员工的一级部门是指员工所属的最高级别的部门。您可以根据员工的主部门信息进行处理来获取一级部门信息。一种常见的方法是使用编程语言(如 Python)或相关的数据处理工具对员工的部门信息进行解析和筛选。例如,您可以使用递归算法遍历员工的主部门的父部门链,直到找到最高级别的一级部门。

    2023-07-19 18:59:56
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    使用脚本
    通过在表单中添加脚本组件,可以使用JavaScript等编程语言来获取员工的主部门和一级部门。具体操作步骤如下:

    a. 在表单中添加脚本组件,并在脚本组件中编写相应的代码,例如:

    stylus
    Copy
    //获取当前员工
    var employee = $data["员工"];

    //获取主部门
    var mainDepartment = employee["主部门"];

    //获取一级部门
    var firstDepartment = employee["一级部门"];

    //将结果保存到表单中
    $set("主部门", mainDepartment);
    $set("一级部门", firstDepartment);
    b. 在表单中添加部门或文本组件,并将它们的值与脚本中的结果绑定,例如:

    主部门:{{主部门}}

    一级部门:{{一级部门}}

    使用公式
    通过在表单的部门或文本组件中使用公式,可以获取员工的主部门和一级部门。具体操作步骤如下:

    a. 在表单的部门或文本组件中使用公式,例如:

    主部门:{{员工.主部门}}

    一级部门:{{员工.一级部门}}

    b. 在表单中添加隐藏的文本组件,并使用公式将员工的主部门和一级部门存储到该组件中,例如:

    值:{{员工.主部门}}

    值:{{员工.一级部门}}

    c. 在表单中添加触发器组件,当用户提交表单时,使用脚本将隐藏文本组件中的值保存到表单中的相应组件中,例如:

    stylus
    Copy
    //获取隐藏文本组件中的值
    var mainDepartment = $data["隐藏文本组件1"]["值"];
    var firstDepartment = $data["隐藏文本组件2"]["值"];

    //将值保存到表单中
    $set("主部门", mainDepartment);
    $set("一级部门", firstDepartment);
    需要注意的是,在使用公式获取员工的主部门和一级部门时,需要确保字段名称和部门的排序规则与智能人事系统中的配置保持一致,以避免出现混淆或错误的情况。

    2023-07-19 18:38:20
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    针对您提出的两个问题,我为您解答如下:

    获取员工的主部门:在宜搭表单中,如果员工拥有多个部门,而您需要获取其主部门,可以尝试使用以下公式:
    first(split({部门字段},','))
    该公式将使用逗号作为分隔符,将部门字段拆分成多个部分,并返回第一个部分,即主部门。

    获取员工的一级部门:如果您想获取员工所在部门的一级部门(例如:"总公司-销售部-销售一部"中的"总公司"),您可以使用以下公式:
    split(split({部门字段},'-')[0],',')[0]
    该公式首先以"-"作为分隔符,将部门字段拆分成多个部分,然后返回第一个部分。接着,使用逗号作为分隔符,将第一个部分再次拆分并返回第一个部分,即一级部门。

    这些公式通过拆分和提取部分字符串的方式,实现了获取主部门和一级部门的需求。请根据您的具体部门字段配置,适当调整公式中的分隔符和索引位置。

    希望这些解答对您有帮助。如有更多问题,请随时提问!

    2023-07-19 13:01:23
    赞同 展开评论 打赏
  • 月移花影,暗香浮动

    1、获取员工的主部门

    要获取员工的主部门,可以使用宜搭中提供的数据接口来查询员工信息,具体步骤如下:

    • 在宜搭中,创建一个数据模型,该模型包含员工的信息,包括员工ID、姓名、部门等字段。
    • 使用数据接口组件,在操作配置中选择数据模型,并配置筛选条件,例如筛选条件为员工ID等于指定的员工ID。
    • 在数据接口组件的输出字段中,选择需要获取的员工主部门字段。
    • 使用触发器组件,来触发数据接口的调用。

    2、获取员工的一级部门

    要获取员工的一级部门,可以假设一级部门的信息与主部门的信息都存储在宜搭的数据模型中,具体步骤如下:

    • 在宜搭中,创建一个数据模型,包含部门的信息,包括部门ID、部门名称、上级部门等字段。
    • 在员工的数据模型中,增加一个字段用于存储一级部门ID。
    • 使用数据接口组件,在操作配置中选择部门的数据模型,并配置筛选条件,例如筛选条件为部门ID等于主部门ID的字段。
    • 在数据接口组件的输出字段中,选择需要获取的一级部门ID字段。
    • 使用触发器组件,来触发数据接口的调用。
    • 使用计算组件,将获取到的一级部门ID与员工数据模型中的一级部门ID字段进行关联,以获取一级部门的信息。
    2023-07-19 12:23:01
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    可以使用“IFERROR”函数结合VLOOKUP函数来实现。假设员工的主部门是A部门,公式为:
    =IFERROR(VLOOKUP(D4,'部门'!$A$2:$B$20,2,FALSE),"")

    其中,D4为员工所在部门的列号,'部门'!

    B20为员工所在部门的列表,2为返回值的列号,即第二列的值。如果员工所在部门不在列表中,则返回一个空字符串。

    可以使用“LOOKUP”函数来实现。假设员工所在部门为“总公司-销售部-销售一部”,公式为:
    =LOOKUP(2,1/((I11="总公司")*(I12="销售部")),'部门'!$A$2:$B$20,2)

    其中,I11和I12为员工所在部门的列号,'部门'!
    B20为员工所在部门的列表,2为返回值的列号。如果员工所在部门不在列表中,则返回一个空字符串。

    2023-07-19 10:53:21
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    宜搭部门组件默认显示当前登录人的部门。高级选人功能入口,默认在电脑端开启,点击后会以弹框的方式,提供一个完整的部门选择页面。

    如果您的企业有自己的组织架构数据源,可以替换这里的请求地址为你的数据源接口地址;

    您还可以根据您的接口需求,编写请求处理函数

    函数入参的 data 为用户搜索输入值,返回值会作为请求接口的查询参数,效果如图:

    请求处理函数

    如果您的接口和宜搭查询部门接口返回的数据结构不一致,则需要修改一下数据处理函数;

    保证函数返回值格式为如下对象数组,效果如图:

    对于这个组件需要设置动作配置 JS 代码时,效果如图:

    如何获取当前登录人的部门 该功能需要使用公式,当前部门组件暂不支持公式编辑,效果如图:

    目前推荐使用单行文本组件,默认值切换至公式编辑,公式如下:DEPTNAME(LOGINUSERWORKNO())

    如果一位员工有A和B两个部门,其中B是主部门,要想获取员工的主部门 ,需要你在智能人事的组织架构里设置好 B是主部门,这样用公式才能获取到。

    2023-07-19 10:50:14
    赞同 1 展开评论 打赏
  • 宜搭是一个低代码开发平台,用于快速构建企业应用程序。根据您的问题,我假设您希望在宜搭中解决以下两个问题:

    1. 获取员工的主部门:要获取员工的主部门,您需要使用宜搭提供的数据源和组件来访问和处理相关数据。具体实现方式可能因您使用的具体版本和配置而有所不同。一般而言,您可以按照以下步骤进行操作:

      • 连接数据源:通过宜搭界面或相关配置文件,连接到存储员工和部门信息的数据源(如数据库)。
      • 创建数据模型:使用宜搭的数据模型功能,定义员工和部门的数据结构和关联关系。
      • 设计界面:使用宜搭的界面设计器,创建一个适当的界面来展示员工的主部门信息。
      • 编写逻辑:在宜搭的逻辑设计器中,编写适当的逻辑来查询员工的主部门,并将结果展示在界面上。

      根据您的具体需求和宜搭平台的配置,这些步骤可能会略有不同,但以上是一般的指导思路。

    2. 获取员工的一级部门:与获取员工的主部门类似,获取员工的一级部门也需要使用宜搭的数据源和组件来访问和处理相关数据。您可以按照以下步骤进行操作:

      • 连接数据源:连接到存储员工和部门信息的数据源。
      • 创建数据模型:定义员工和部门的数据结构和关联关系,确保能够获取部门的层级关系。
      • 设计界面:创建一个适当的界面来展示员工的一级部门信息。
      • 编写逻辑:在宜搭的逻辑设计器中,编写适当的逻辑来查询员工的一级部门,并将结果展示在界面上。
    2023-07-19 10:33:29
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
关联地址:
问答排行榜
最热
最新

相关电子书

更多
宜搭 - 企业智能化应用搭建平台 立即下载
《云市场-宜搭解决方案》 立即下载
《宜搭开发手册》 立即下载