开发者社区> 问答> 正文

钉钉宜搭中要如何实现每日定时自动获取表单1中符合条件的实例数量总和,并赋值给表单2中的某个组件

钉钉宜搭中要如何实现每日定时自动获取表单1中符合条件的实例数量总和,并赋值给表单2中的某个组件

展开
收起
游客uwup336lbjtxm 2024-03-27 22:35:46 934 7
来自:钉钉宜搭
3 条回答
写回答
取消 提交回答
  • 要实现这个功能,你需要使用钉钉宜搭的自定义脚本功能。以下是具体步骤:

    1. 在表单1中添加一个按钮组件,设置按钮的文本为“获取实例数量”。
    2. 为按钮组件添加点击事件,选择“执行自定义脚本”。
    3. 在自定义脚本中编写如下代码:
    // 获取表单1中符合条件的实例数量总和
    function getInstanceCount() {
      // 这里需要根据实际情况编写筛选条件和计算逻辑
      // 示例:获取所有年龄大于18的用户数量
      const users = formData.data.filter(user => user.age > 18);
      return users.length;
    }
    
    // 将实例数量赋值给表单2中的某个组件
    function setInstanceCountToForm2() {
      const instanceCount = getInstanceCount();
      // 假设表单2中的组件ID为"instanceCountComponent"
      const instanceCountComponent = document.getElementById("instanceCountComponent");
      if (instanceCountComponent) {
        instanceCountComponent.innerText = instanceCount;
      }
    }
    
    // 执行函数
    setInstanceCountToForm2();
    
    1. 保存并发布表单1。
    2. 在表单2中添加一个文本组件,设置其ID为"instanceCountComponent"。
    3. 保存并发布表单2。
    4. 在表单1中点击“获取实例数量”按钮,即可看到表单2中的组件显示符合条件的实例数量总和。

    注意:由于钉钉宜搭不支持定时任务,所以无法实现每日定时自动获取实例数量总和的功能。你可以考虑使用其他工具或服务来实现定时任务,例如阿里云函数计算、腾讯云函数等。

    2024-03-31 08:11:01
    赞同 41 展开评论 打赏
  • 在钉钉宜搭中,可以通过以下步骤实现每日定时自动获取表单1中符合条件的实例数量总和,并赋值给表单2中的某个组件:

    1. 在表单1中添加一个计算字段,用于统计符合条件的实例数量总和。例如,可以添加一个名为“符合条件的实例数量”的计算字段,使用公式COUNTIF(条件字段, "条件")来计算符合条件的实例数量。

    2. 在表单2中添加一个文本框组件,用于显示符合条件的实例数量总和。

    3. 在表单2中添加一个按钮组件,用于触发定时任务。

    4. 在表单2的“设置”页面,找到“自定义脚本”选项,点击“新建脚本”。

    5. 编写脚本代码,实现以下功能:

      • 获取当前日期的前一日(例如,如果今天是2022-08-01,那么前一日就是2022-07-31)。
      • 查询表单1中前一日提交的实例ID数量总和。
      • 将结果赋值给表单2中的文本框组件。
    6. 保存脚本并启用。

    7. 在表单2的“设置”页面,找到“定时任务”选项,点击“新建任务”。

    8. 设置任务名称、执行时间(例如,每日8时)以及执行动作(调用刚刚创建的脚本)。

    9. 保存任务并启用。

    以下是一个简单的脚本示例(请根据实际情况修改):

    // 获取当前日期的前一日
    var lastDay = new Date();
    lastDay.setDate(lastDay.getDate() - 1);
    var lastDayStr = lastDay.getFullYear() + '-' + (lastDay.getMonth() + 1) + '-' + lastDay.getDate();
    
    // 查询表单1中前一日提交的实例ID数量总和
    var queryResult = db.collection('表单1').where({
        '提交日期': lastDayStr
    }).count();
    
    // 将结果赋值给表单2中的文本框组件
    form.setValue('文本框组件', queryResult);
    

    注意:以上代码仅作为示例,实际使用时请根据钉钉宜搭的具体API进行调整。

    2024-03-28 17:34:35
    赞同 39 展开评论 打赏
  • 如果问题得到了解决,辛苦点下采纳回答哦~

    可以尝试使用中间表来实现。
    如:"表单1"设置每日定时自动获取符合条件的实例数量总和 >> 往中间表新增多条数据 >> 中间表设置自动化“创建成功”,更新表单2中的数据。具体可以参考下面实现步骤:
    1.创建表1、表2和中间表
    image.png
    image.png
    image.png
    2.表单1设置定时触发获取符合条件的数据并新增到中间表
    image.png
    image.png
    3.中间表设置自动化,“创建成功 >> 更新表单2中指定组件的值”
    image.png
    image.png
    image.png
    image.png

    2024-03-28 09:44:57
    赞同 36 展开评论 打赏
问答分类:
问答地址:
关联地址:
相关产品:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
相关文档: 宜搭
问答排行榜
最热
最新

相关电子书

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