描述
为了更改一个单据实例数据,您可以发送一个 PUT 请求到单据实例相应的 URL 上,任何您未指定的 key 都不会更改,所以您可以只更新对象数据的一个子集。例如,我们来更改我们 员工信息表 某个实例的一个 在职状态 字段:
{
"Status": "离职"
}
关于子表: 打开一个已存在的单据实例,在子表中新建一行或修改某一行中的数据也属于单据实例修改;
- 当新建一行时,您需要在该行数据加属性
Action = create
来表示新建; - 当修改一行时,您必须提交该行的唯一标识
Id
,您也可以在该行数据加属性Action = update
来表示修改(不加也可以,平台根据该行的唯一标识Id可以判断提交的该行数据为修改)。 - 当您需要排序子表的顺序,修改子表的
OrderIndex
即可,OrderIndex的取值范围为[0-2147483647],OrderIndex相同会按Id排序(应尽量避免留空或相同);当然,调整了顺序势必会导致大部分行甚至所有行的OrderIndex都改变。 - 修改子表某一行,您也可以只提交修改的数据,具体格式请参考下文的示例。
请求
URL
HTTP请求方式
PUT
Header参数
{ "Content-Type":"application/json; charset=utf-8" }
HTTP请求参数
URL参数
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
idOrName | 是 | String | 单据模板 Id/名称/实体名称。 |
instanceId | 是 | String | 单据实例Id。 |
keyOption | 否 | String | 提交的实例数据和返回的实例数据以什么为属性名(键名)。 属性名: - Entity 以实体属性名为属性名;- Caption 以[组名-]控件名为属性名;- Id 以字段的Id为属性名;- FieldName 以字段的FieldName为属性名,默认。 |
containsAuthority | 否 | Boolean | 返回的实例数据是否包含权限: - true 包含权限,默认;- false 不包含权限。 |
请求Body 提交的实例数据放在HTTP请求的Body中,Body参数(以下参数名不区分大小写):
名称 | 是否必需 | 类型 | 描述 |
---|---|---|---|
IsSubmit | 否 | Boolean | 是否提交,只针对草稿有效,如果此单据实例之前已经提交并生效,此参数无效。 - false 保存为草稿;- true 提交并生效,默认。 |
InstanceData | 是 | Object | 单据实例数据 |
AutoFillMode | 否 | String | 新建的单据实例数据是否需后台完成自动填充: - 默认空为不填充; - forceempty 填充空值(客户端未提交的或提交的值为空);- forceall 填充所有(即使客户端提交上来有值);- forceautocode 只填充关联了自动编码的字段。 |
响应
响应的body与获取单据实例相同:
- 当请求的URL查询参数带有
containsAuthority=true
或不带,返回参数参照获取单据实例(包含权限)响应参数说明 - 当请求的URL查询参数带有
containsAuthority=false
,返回参数参照获取单据实例响应参数说明
示例
请求示例
PUT /v1/form/templates/Employee/instances/a1e38673-ae69-4536-acac-a27dc46da856?keyOption=Entity&containsAuthority=false HTTP/1.1
Host: api.dadayun.cn
Date: Mon, 03 Sep 2018 01:49:35 GMT
Content-Type: application/json; charset=utf-8
{
"IsSubmit": true,
"InstanceData": {
"Title": "离职_系统管理员",
"Status": "离职",
"Gender": "女",
"Educations": [
{
"Id": "c2aa83df-c1c3-40c5-b409-0718ef8edefb",
"Action": "update",
"Certificate": "123456",
"OrderIndex": 0
},
{
"Action": "create",
"StartDate": "200509",
"EndDate": "200806",
"EduServices": "XX高中",
"Major": "物理",
"OrderIndex": 1
}
]
},
"AutoFillMode": "forceempty"
}
返回实例的body与获取单据实例示例相同:
- 当请求的URL查询参数带有
containsAuthority=true
或不带,返回示例参照获取单据实例(包含权限)的返回示例 - 当请求的URL查询参数带有
containsAuthority=false
,返回示例参照获取单据实例的返回示例