描述

为了更改一个单据实例数据,您可以发送一个 PUT 请求到单据实例相应的 URL 上,任何您未指定的 key 都不会更改,所以您可以只更新对象数据的一个子集。例如,我们来更改我们 员工信息表 某个实例的一个 在职状态 字段:

{
    "Status": "离职"
}

关于子表: 打开一个已存在的单据实例,在子表中新建一行或修改某一行中的数据也属于单据实例修改;

  1. 当新建一行时,您需要在该行数据加属性 Action = create 来表示新建;
  2. 当修改一行时,您必须提交该行的唯一标识Id,您也可以在该行数据加属性 Action = update 来表示修改(不加也可以,平台根据该行的唯一标识Id可以判断提交的该行数据为修改)。
  3. 当您需要排序子表的顺序,修改子表的 OrderIndex 即可,OrderIndex的取值范围为[0-2147483647],OrderIndex相同会按Id排序(应尽量避免留空或相同);当然,调整了顺序势必会导致大部分行甚至所有行的OrderIndex都改变。
  4. 修改子表某一行,您也可以只提交修改的数据,具体格式请参考下文的示例。

请求

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与获取单据实例相同:

  1. 当请求的URL查询参数带有containsAuthority=true或不带,返回参数参照获取单据实例(包含权限)响应参数说明
  2. 当请求的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与获取单据实例示例相同:

  1. 当请求的URL查询参数带有containsAuthority=true或不带,返回示例参照获取单据实例(包含权限)的返回示例
  2. 当请求的URL查询参数带有containsAuthority=false,返回示例参照获取单据实例的返回示例

results matching ""

    No results matching ""