开发者社区> 问答> 正文

钉钉OA发起流程审批,子表单如何封装

// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sample;

import com.aliyun.tea.;
import com.aliyun.teautil.
;
import com.aliyun.teautil.models.;
import com.aliyun.dingtalkworkflow_1_0.
;
import com.aliyun.dingtalkworkflow_1_0.models.;
import com.aliyun.teaopenapi.
;
import com.aliyun.teaopenapi.models.*;

public class Sample {

/**
 * 使用 Token 初始化账号Client
 * @return Client
 * @throws Exception
 */
public static com.aliyun.dingtalkworkflow_1_0.Client createClient() throws Exception {
    Config config = new Config();
    config.protocol = "https";
    config.regionId = "central";
    return new com.aliyun.dingtalkworkflow_1_0.Client(config);
}

public static void main(String[] args_) throws Exception {
    java.util.List<String> args = java.util.Arrays.asList(args_);
    com.aliyun.dingtalkworkflow_1_0.Client client = Sample.createClient();
    StartProcessInstanceHeaders startProcessInstanceHeaders = new StartProcessInstanceHeaders();
    startProcessInstanceHeaders.xAcsDingtalkAccessToken = "<your access token>";
    StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValuesDetailsDetails formComponentValues0Details0Details0 = new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValuesDetailsDetails()
            .setId("PhoneField_IZI2LP8QF6O0")
            .setBizAlias("Phone")
            .setName("PhoneField")
            .setValue("123xxxxxxxx")
            .setExtValue("总个数:1")
            .setComponentType("PhoneField");
    StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValuesDetails formComponentValues0Details0 = new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValuesDetails()
            .setId("PhoneField_IZI2LP8QF6O0")
            .setBizAlias("Phone")
            .setName("PhoneField")
            .setValue("123xxxxxxxx")
            .setExtValue("总个数:1")
            .setDetails(java.util.Arrays.asList(
                formComponentValues0Details0Details0
            ));
    StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues formComponentValues0 = new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues()
            .setId("PhoneField_IZI2LP8QF6O0")
            .setBizAlias("myPhoneNumber")
            .setName("PhoneField")
            .setValue("123xxxxxxxx")
            .setExtValue("总个数:1")
            .setComponentType("PhoneField")
            .setDetails(java.util.Arrays.asList(
                formComponentValues0Details0
            ));
    StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners targetSelectActioners0 = new StartProcessInstanceRequest.StartProcessInstanceRequestTargetSelectActioners()
            .setActionerKey("manual_1918_5cd3_xxxx_6a98")
            .setActionerUserIds(java.util.Arrays.asList(
                "26652461xxxx5992"
            ));
    StartProcessInstanceRequest.StartProcessInstanceRequestApprovers approvers0 = new StartProcessInstanceRequest.StartProcessInstanceRequestApprovers()
            .setActionType("会签:AND;或签:OR;单人:NONE")
            .setUserIds(java.util.Arrays.asList(
                "user1"
            ));
    StartProcessInstanceRequest startProcessInstanceRequest = new StartProcessInstanceRequest()
            .setOriginatorUserId("manager432")
            .setProcessCode("PROC-EF6YJL35P2-SCKICSB7P750S0YISYKV3-xxxx-1")
            .setDeptId(1L)
            .setMicroappAgentId(41605932L)
            .setApprovers(java.util.Arrays.asList(
                approvers0
            ))
            .setCcList(java.util.Arrays.asList(
                "user1"
            ))
            .setCcPosition("START、FINISH、START_FINISH")
            .setTargetSelectActioners(java.util.Arrays.asList(
                targetSelectActioners0
            ))
            .setFormComponentValues(java.util.Arrays.asList(
                formComponentValues0
            ));
    try {
        client.startProcessInstanceWithOptions(startProcessInstanceRequest, startProcessInstanceHeaders, new RuntimeOptions());
    } catch (TeaException err) {
        if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
            // err 中含有 code 和 message 属性,可帮助开发定位问题
        }

    } catch (Exception _err) {
        TeaException err = new TeaException(_err.getMessage(), _err);
        if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
            // err 中含有 code 和 message 属性,可帮助开发定位问题
        }

    }        
}

}

展开
收起
游客znbkgg5yzpmp2 2023-09-19 11:09:56 153 0
2 条回答
写回答
取消 提交回答
  • 根据提供的信息,如果你想在钉钉OA发起流程审批时使用子表单,你可以使用钉钉的自定义表单功能来实现。
    具体来说,你可以在钉钉OA发起流程审批时,选择自定义表单作为流程的输入表单。在自定义表单中,你可以添加多个子表单,每个子表单可以包含多个字段。这些子表单可以根据你的需求进行定制,例如添加必填字段、添加下拉选项、添加多选框等。
    在添加子表单时,你可以使用钉钉提供的表单控件来实现。例如,你可以使用文本框、下拉框、单选框、多选框等控件来构建子表单。你还可以使用自定义控件来实现更加复杂的功能,例如日期选择器、文件上传控件等。
    在完成子表单的设计后,你可以将子表单嵌入到自定义表单中,以便用户在填写流程审批表单时可以填写子表单的内容。在填写完成后,你可以将子表单的内容作为流程审批的输入数据,以便进行后续的处理和分析。
    希望以上信息能够帮助你在钉钉OA发起流程审批时使用子表单。

    2023-09-19 19:13:05
    赞同 展开评论 打赏
  • 您好,钉钉OA 支持在发起流程审批时,使用子表单。子表单可以用于收集审批人需要的额外信息。

    要使用子表单,需要先在钉钉 OA 后台创建子表单。创建子表单后,就可以在发起流程审批时,引用子表单。

    以下是使用子表单发起流程审批的步骤:

    在钉钉 OA 后台创建子表单。
    在流程审批页面,点击“添加子表单”。
    在“添加子表单”页面,选择刚刚创建的子表单。
    点击“保存”。
    现在,就可以在子表单中填写额外的信息了。填写完信息后,点击“提交”。

    审批人会收到审批通知,并且可以看到子表单中的信息。审批人可以对子表单进行审批,也可以对整个流程进行审批。

    希望以上信息对您有所帮助。

    2023-09-19 11:19:37
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载