创建表单时,如果表单使用了【控件组】,例如使用了控件组中的【请假/调休】控件
那么接口中的参数【formComponentV】应该如何填写呢?
我试了很多种方式都是提示:
{"requestid":"69DAE351-8101-71DE-A3E6-F960EF9F6CA1","code":"processInstanceStartFailed","message":"创建审批实例失败"}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
我用接口【获取表单 schema】,返回的表单的数据是这样的:
{"result":{"creatorUserId":"xxxx","gmtModified":"2023-08-03T17:48Z","formUuid":"xxxxxxx","bizType":"","ownerIdType":"orgId","formCode":"Pxxxxxxx","memo":"","engineType":0,"gmtCreate":"2023-08-03T17:23Z","schemaContent":{"icon":"common","title":"测试请假","items":[{"componentName":"DDHolidayField","props":{"staffStatusEnabled":true,"format":"yyyy-MM-dd","bizAlias":"","label":"[\"开始时间\",\"结束时间\"]","durationLabel":"时长","pushToCalendar":1,"required":true,"push":{"attendanceRule":1,"pushSwitch":1,"pushTag":"请假"},"duration":true,"unit":"","holidayOptions":[],"options":["{\"unit\":\"hour\",\"name\":\"事假\",\"leaveCode\":\"7016d2bb-a768-464d-99ee-1766a6580271\",\"displayUnit\":\"按小时请假\"}","{\"unit\":\"halfDay\",\"name\":\"年假\",\"leaveCode\":\"460b2d98-7ae6-4b11-9b6f-d89453779758\",\"displayUnit\":\"按半天请假\"}","{\"unit\":\"day\",\"name\":\"病假\",\"leaveCode\":\"c8f1fa70-44dd-4555-8276-2562ec3cc509\",\"displayUnit\":\"按天请假\"}","{\"unit\":\"day\",\"name\":\"婚假\",\"leaveCode\":\"09e9eb2f-36f0-41ca-9633-1abb10498553\",\"displayUnit\":\"按天请假\"}","{\"unit\":\"day\",\"name\":\"产假\",\"leaveCode\":\"3fa0310f-16ec-47a3-9828-7915d54cc00b\",\"displayUnit\":\"按天请假\"}","{\"unit\":\"day\",\"name\":\"陪产假\",\"leaveCode\":\"e20bf420-c256-4ab2-a614-26381a70c1ac\",\"displayUnit\":\"按天请假\"}","{\"unit\":\"hour\",\"name\":\"哺乳假\",\"leaveCode\":\"c37c86f6-446c-4f26-b5eb-01d85918ddf9\",\"displayUnit\":\"按小时请假\"}","{\"unit\":\"day\",\"name\":\"丧假\",\"leaveCode\":\"db09e194-c04f-4394-8995-a6add3660225\",\"displayUnit\":\"按天请假\"}"],"id":"xxxxxxxx","placeholder":"请选择","attendTypeLabel":"请假类型"}},{"componentName":"TextareaField","props":{"staffStatusEnabled":false,"holidayOptions":[],"bizAlias":"","id":"TextareaField_VPWN1D2B9FK0","label":"请假事由","placeholder":"请输入","required":false,"push":{}}}]},"appUuid":"dingbb14fe16a8346f4cee0f45d8e4f7c288","appType":0,"visibleRange":"PRIVATE","listOrder":98,"name":"测试请假","status":"PUBLISHED","procType":"inner"}}
当表单中使用了控件组,并且需要在接口中传递相应的参数时,您可以按照以下步骤进行填写:
首先,在接口中的formComponentV
参数中,将控件组的字段名作为键,控件组值作为对应的值。通常,控件组是一个数组,其中包含多个子控件的值。
对于【请假/调休】控件组,它通常包含多个子控件(如开始时间、结束时间、请假类型等)。您需要将这些子控件的值作为对象传递给对应的控件组字段。
示例:
"formComponentV": {
"请假/调休": {
"开始时间": "2022-11-01 09:00:00",
"结束时间": "2022-11-02 18:00:00",
"请假类型": "年假"
}
}
请确保您提供的字段名和字段值与实际的控件组名称和值一致。如果仍然遇到创建审批实例失败的问题,请检查错误提示中提供的requestid
和message
,以获取更详细的错误信息,并参考钉钉开放平台的文档或联系钉钉技术支持团队寻求帮助。
如果表单中使用了控件组,在创建审批实例时,应该将控件组中的所有控件都作为参数传递给接口中的【formComponentValues】字段,而不是使用控件组控件的名称或者其他方式。
具体来说,您可以按照以下步骤进行参数填写:
首先,您需要获取表单中所有控件的ID和值,包括控件组中的所有控件。
然后,您需要将控件ID和对应的值组合成一个JSON对象,并将该对象添加到一个数组中。
最后,您需要将该数组作为【formComponentValues】的值传递给创建审批实例的接口。