更改表单的设置1

aki发表于:2016年12月27日 17:21:58更新于:2022年07月01日 12:30:47

更改应用的表单的设置

更改表单的设置时,根据操作的不同,要使用的API也不一样。

添加字段

在表单中添加字段。

此API仅将应用的设置反映到测试环境中,如需反映到正式环境,需要执行将应用的设置反映到正式环境中API

URI

https://(子域名).cybozu.cn/k/v1/preview/app/form/fields.json

来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/form/fields.json

HTTP 方法

POST

必要的访问权限

应用的管理权限。

请求参数

参数名称指定的值必须说明
app数值或字符串必须指定应用的ID。
properties对象必须字段设置的对象。
properties.(字段代码)对象必须表示每个字段设置的对象。在“(字段代码)”中,指定要添加的字段的字段代码。
有关可以使用的字符的限制,请参阅kintone帮助
properties.(字段代码).type字符串必须指定字段的类型。
  • 组:GROUP

  • 选择组:GROUP_SELECT

  • 复选框:CHECK_BOX

  • 表格:SUBTABLE

  • 下拉菜单:DROP_DOWN

  • 选择用户:USER_SELECT

  • 单选框:RADIO_BUTTON

  • 文本编辑框:RICH_TEXT

  • 链接:LINK

  • lookup:SINGLE_LINE_TEXT或NUMBER或LINK *

  • 关联记录列表:REFERENCE_TABLE

  • 计算:CALC

  • 时间:TIME

  • 数值:NUMBER

  • 选择组织:ORGANIZATION_SELECT

  • 附件:FILE

  • 日期与时间:DATETIME

  • 日期:DATE

  • 多选:MULTI_SELECT

  • 单行文本框:SINGLE_LINE_TEXT

  • 多行文本框:MULTI_LINE_TEXT

*: 指定要参照的字段的类型。
properties.(字段代码).code字符串必须指定字段代码。
指定与“properties.(字段代码)”的键名相同的值。
properties.(字段代码).label字符串条件必须指定字段名称。表格中,不需要指定此参数。
properties.(字段代码).noLabel布尔值或字符串
指定是否隐藏字段名称
  • 隐藏:true

  • 显示(初始值):false

properties.(字段代码).required布尔值或字符串
设置是否必填。
  • 必填:true

  • 任意(初始值):false

properties.(字段代码).unique布尔值或字符串
设置是否值为唯一。
  • 值为唯一:true

  • 允许重复(初始值):false

properties.(字段代码).maxValue数值或字符串
指定最大值。
properties.(字段代码).minValue数值或字符串
指定最小值。
properties.(字段代码).maxLength数值或字符串
指定最多字符数。
properties.(字段代码).minLength数值或字符串
指定最少字符数。
properties.(字段代码).defaultValue字符串或数组
指定初始值。可设置多个初始值的字段,以数组的形式指定。

指定“defaultNowValue”参数时,“defaultNowValue”参数优先。

对于选择用户,选择组和选择组织字段,请指定具有code和type的对象数组。

properties.(字段代码).defaultValue[].type字符串条件必须

指定选择用户,选择组和选择组织字段的默认值的类型。 

指定“defaultValue”参数时,必须指定此参数。

  • 用户:USER

  • :GROUP

  • 组织:ORGANIZATION

  • 函数:FUNCTION

properties.(字段代码).defaultValue[].code字符串条件必须

指定选择用户,选择组和选择组织字段的默认值的代码。指定“defaultValue”参数时,必须指定此参数。

  • 选择用户字段
    指定用户登录名,组代码,组织代码或函数名称。
    只能将指定登录用户的函数“LOGINUSER()”指定为函数名称。
    对于来宾空间内的应用,您只能指定用户,组和函数名称。

  • 选择组字段
    指定组代码。

  • 择组织字段
    指定组织代码和函数名称。
    函数名称,只能用函数“PRIMARY_ORGANIZATION()”来指定登录用户的优先级组织。
    ※无法指定已删除或无效的用户、组或组织代码。

properties.(字段代码).defaultNowValue布尔值或字符串
设置是否将添加记录时的日期与时间设为初始值。
  • 将添加记录时的日期与时间作为初始值:true

  • 不将添加记录时的日期与时间作为初始值(初始设置):false

properties.(字段代码).options对象条件必须用于存放选项设置的对象。类似于单选框这种可指定选项的字段,必须指定此参数。
properties.(字段代码).options.(选项名)对象条件必须它是表示每个选择的设置的对象。在“(选项名)”中指定要添加的选项的选项名称。
指定“options”参数时,必须指定此参数。
properties.(字段代码).options.(选项名).label字符串条件必须指定选项名称。指定与“properties.(字段代码).options.(选项名)”的键名相同的值。
指定“options”参数时,必须指定此参数。
properties.(字段代码).options.(选项名).index数值或字符串条件必须

用数字指定选项的顺序。选项根据所指定的数字来升序排列

指定“options”参数时,必须指定此参数。

properties.(字段代码).align字符串
指定选项的排序。
  • 横向(初始设置):HORIZONTAL

  • 纵向:VERTICAL

properties.(字段代码).expression字符串条件必须指定自动计算公式。计算字段必须指定此参数。
properties.(字段代码).hideExpression布尔值或字符串
设置是否隐藏计算字段的计算公式。
  • 隐藏:true

  • 显示(初始值):false

properties.(字段代码).digit布尔值或字符串
设置是否显示数值的千位分隔符。
  • 显示时:true

  • 不显示时(初始值):false

properties.(字段代码).thumbnailSize数值或字符串
以像素为单位,从50, 150, 250, 500中选择一个作为缩略图的大小。
properties.(字段代码).protocol字符串条件必须指定链接的种类。链接的字段中,必须指定此参数。
  • Web网站地址:WEB

  • 电话号码:CALL

  • 邮件地址:MAIL

properties.(字段代码).format字符串
指定计算字段的显示格式。
  • 数值(例:1000):NUMBER(初始设置)

  • 数值(例:1,000):NUMBER_DIGIT

  • 日期与时间(例:2012-08-06 2:03):DATETIME

  • 日期(例:2012-08-06):DATE

  • 时间(例:2:03):TIME

  • 小时分(例:26小时3分):HOUR_MINUTE

  • 天小时分(例:1天2小时3 分):DAY_HOUR_MINUTE

properties.(字段代码).displayScale数值或字符串
指定小数点后的显示位数。
properties.(字段代码).unit字符串
指定单位符号。
properties.(字段代码).unitPosition字符串
指定单位符号的显示位置。
  • 放在字段前(初始设置):BEFORE

  • 放在字段后:AFTER

properties.(字段代码).entities数组
指定选择用户,选择组织和选择组字段的选项。
properties.(字段代码).entities[].type字符串条件必须指定值的种类。指定“entities”参数时,必须指定此参数。
  • 用户:USER

  • 组:GROUP

  • 组织:ORGANIZATION

properties.(字段代码).entities[].code字符串条件必须

指定选择代码。指定“entities”参数时,必须指定此参数。

  • 选择用户字段
    指定用户的登录名,组代码或组织代码。
    对于来宾空间的应用,只能指定用户或组。

  • 选择组字段
    指定组代码。

  • 选择组织字段
    指定组织代码。
    ※无法指定已删除或无效的用户,组,组织代码和函数。

properties.(字段代码).referenceTable对象条件必须用于存放关联记录列表字段的设置的对象。关联记录列表字段中,必须指定此参数。
properties.(字段代码).referenceTable.relatedApp对象条件必须

用于存放“要引用的应用”的设置的对象。

指定“referenceTable”参数时,必须指定此参数。

properties.(字段代码).referenceTable.relatedApp.app数值或字符串条件必须

“要引用的应用”中指定的应用ID。指定“properties.(字段代码).referenceTable.relatedApp.code”参数时,优先该参数。

指定“referenceTable”参数时,必须指定要引用的应用ID或要引用的应用代码。

properties.(字段代码).referenceTable.relatedApp.code字符串条件必须

“要引用的应用”中指定的应用代码。

指定“referenceTable”参数时,必须指定要引用的应用ID或要引用的应用代码。

properties.(字段代码).referenceTable.condition对象条件必须

用于存放“设置要显示的记录”中的设置的对象

指定“referenceTable”参数时,必须指定此参数。

properties.(字段代码).referenceTable.condition.field字符串条件必须

“设置要显示的记录”中指定的、与关联记录列表字段同一应用的字段的代码。

指定“referenceTable”参数时,必须指定此参数。

properties.(字段代码).referenceTable.condition.relatedField字符串条件必须

在“设置要显示的记录”中指定的、关联记录列表字段所参照的应用内的字段的代码。

指定“referenceTable”参数时,必须指定此参数。

properties.(字段代码).referenceTable.fliterCond字符串
“更多筛选条件”的设置用查询形式显示。查询形式请参考以下页面。
批量获取记录(在查询中指定条件)
properties.(字段代码).referenceTable.displayFields数组条件必须

通过字段代码的数组来指定“要显示的字段”中指定的字段

指定“referenceTable”参数时,必须指定此参数。

properties.(字段代码).referenceTable.sort字符串
设置记录的排序用查询形式显示。关于查询形式,请参照以下页面。
批量获取记录(在查询中指定条件)
properties.(字段代码).referenceTable.size数值或字符串

一次最多可显示的记录数可指定5、10、20、 30、40、50的任意一个,省略参数时,默认5。
※从2020年4月版起可以指定40及50。

properties.(字段代码).lookup对象
用于存放lookup字段的设置的对象。lookup字段中,此参数必须指定。
properties.(字段代码).lookup.relatedApp对象条件必须

用于存放“要关联的应用”的设置的对象

指定“lookup”参数时,此参数必须指定。

properties.(字段代码).lookup.relatedApp.app数值或字符串条件必须

指定要关联的应用的ID。指定了“properties.(字段代码).lookup.relatedApp.code”参数时,优先指定该参数。

指定“lookup”参数时,必须指定要引用的应用ID或要引用的应用代码。

properties.(字段代码).lookup.relatedApp.code字符串条件必须

指定要关联的应用的代码

指定“lookup”参数时,必须指定要引用的应用ID或要引用的应用代码。

properties.(字段代码).lookup.relatedKeyField字符串条件必须

指定“复制来源字段”中指定的字段的代码

指定“lookup”参数时,必须指定此参数。

properties.(字段代码).lookup.fieldMappings数组
用于存放“其他要复制的字段”的设置的数组。
properties.(字段代码).lookup.fieldMappings[].field字符串条件必须

“其他要复制的字段”的复制到的字段中指定的字段的代码

指定“lookup.fieldMappings”参数时,必须指定此参数。

properties.(字段代码).lookup.fieldMappings[].relatedField字符串条件必须

“其他要复制的字段”的复制来源的字段中指定的字段的代码

指定“lookup.fieldMappings”参数时,必须指定此参数。

properties.(字段代码).lookup.lookupPickerFields数组
通过字段代码的数组指定“要在搜选列表中显示的字段”。
properties.(字段代码).lookup.filterCond字符串
筛选的初始设置用查询形式显示。关于查询形式,请参照以下页面。
批量获取记录(在查询中指定条件)
properties.(字段代码).lookup.sort字符串
排序的初始设置。用查询形式显示。关于查询形式,请参照以下页面。
批量获取记录(在查询中指定条件)
properties.(字段代码).openGroup布尔值或字符串
设置是否显示组合内字段。
  • 显示时:true

  • 隐藏(初始设置):false

properties.(字段代码).fields对象
指定表格内的字段。参数和“properties”参数一样。设置表格时,此参数必须指定。
revision数值或字符串
指定应用的设置更改之前的修订号。如指定的修订号不是最新的,请求将报错。
如果省略或指定“-1”,将不对修订号进行验证。

 以下字段不可添加也不可更改。

  • 状态

  • 执行者

  • 类别

请求的范例

头部

POST /k/v1/preview/app/form/fields.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json

正文

{
    "app": 1,
    "revision": 2,
    "properties": {
      "单行文本框": {
        "type": "SINGLE_LINE_TEXT",
        "code": "单行文本框",
        "label": "单行文本框",
        "noLabel": false,
        "required": false,
        "minLength": "",
        "maxLength": "",
        "expression": "",
        "hideExpression": false,
        "unique": false,
        "defaultValue": ""
      },
      "文本编辑框": {
        "type": "RICH_TEXT",
        "code": "文本编辑框",
        "label": "文本编辑框",
        "noLabel": false,
        "required": false,
        "defaultValue": ""
      },
      "多行文本框": {
        "type": "MULTI_LINE_TEXT",
        "code": "多行文本框",
        "label": "多行文本框",
        "noLabel": false,
        "required": false,
        "defaultValue": ""
      },
      "数值": {
        "type": "NUMBER",
        "code": "数值",
        "label": "数值",
        "noLabel": false,
        "required": false,
        "minValue": "",
        "maxValue": "",
        "digit": false,
        "unique": false,
        "defaultValue": "",
        "displayScale": "",
        "unit": "",
        "unitPosition": "BEFORE"
      },
      "计算": {
        "type": "CALC",
        "code": "计算",
        "label": "计算",
        "noLabel": false,
        "required": false,
        "expression": "数值",
        "format": "NUMBER",
        "displayScale": "",
        "hideExpression": false,
        "unit": "",
        "unitPosition": "BEFORE"
      },
      "单选框": {
        "type": "RADIO_BUTTON",
        "code": "单选框",
        "label": "单选框",
        "noLabel": false,
        "required": true,
        "options": {
          "sample1": {
            "label": "sample1",
            "index": "0"
          },
          "sample2": {
            "label": "sample2",
            "index": "1"
          }
        },
        "defaultValue": "sample1",
        "align": "HORIZONTAL"
      },
      "复选框": {
        "type": "CHECK_BOX",
        "code": "复选框",
        "label": "复选框",
        "noLabel": false,
        "required": false,
        "options": {
          "sample1": {
            "label": "sample1",
            "index": "0"
          },
          "sample2": {
            "label": "sample2",
            "index": "1"
          }
        },
        "defaultValue": [],
        "align": "HORIZONTAL"
      },
      "多选": {
        "type": "MULTI_SELECT",
        "code": "多选",
        "label": "多选",
        "noLabel": false,
        "required": false,
        "options": {
          "sample1": {
            "label": "sample1",
            "index": "0"
          },
          "sample2": {
            "label": "sample2",
            "index": "1"
          },
          "sample3": {
            "label": "sample3",
            "index": "2"
          },
          "sample4": {
            "label": "sample4",
            "index": "3"
          }
        },
        "defaultValue": []
      },
      "下拉框": {
        "type": "DROP_DOWN",
        "code": "下拉框",
        "label": "下拉框",
        "noLabel": false,
        "required": false,
        "options": {
          "sample1": {
            "label": "sample1",
            "index": "0"
          },
          "sample2": {
            "label": "sample2",
            "index": "1"
          }
        },
        "defaultValue": ""
      },
      "日期": {
        "type": "DATE",
        "code": "日期",
        "label": "日期",
        "noLabel": false,
        "required": false,
        "unique": false,
        "defaultValue": "",
        "defaultNowValue": true
      },
      "时间": {
        "type": "TIME",
        "code": "时间",
        "label": "时间",
        "noLabel": false,
        "required": false,
        "defaultValue": "",
        "defaultNowValue": true
      },
      "日期与时间": {
        "type": "DATETIME",
        "code": "日期与时间",
        "label": "日期与时间",
        "noLabel": false,
        "required": false,
        "unique": false,
        "defaultValue": "",
        "defaultNowValue": true
      },
      "附件": {
        "type": "FILE",
        "code": "附件",
        "label": "附件",
        "noLabel": false,
        "required": false,
        "thumbnailSize": "150"
      },
      "链接": {
        "type": "LINK",
        "code": "链接",
        "label": "链接",
        "noLabel": false,
        "required": false,
        "protocol": "WEB",
        "minLength": "",
        "maxLength": "",
        "unique": false,
        "defaultValue": ""
      },
      "选择用户": {
        "type": "USER_SELECT",
        "code": "选择用户",
        "label": "选择用户",
        "noLabel": false,
        "required": false,
        "entities": [],
        "defaultValue": []
      },
      "选择组织": {
        "type": "ORGANIZATION_SELECT",
        "code": "选择组织",
        "label": "选择组织",
        "noLabel": false,
        "required": false,
        "entities": [],
        "defaultValue": []
      },
      "选择组": {
        "type": "GROUP_SELECT",
        "code": "选择组",
        "label": "选择组",
        "noLabel": false,
        "required": false,
        "entities": [],
        "defaultValue": []
      },
      "关联记录列表": {
        "type": "REFERENCE_TABLE",
        "code": "关联记录列表",
        "label": "关联记录列表",
        "noLabel": false,
        "referenceTable": {
          "relatedApp": {
            "app": "2",
            "code": ""
          },
          "condition": {
            "field": "记录编号",
            "relatedField": "数值"
          },
          "filterCond": "",
          "displayFields": [
            "单行文本框"
          ],
          "sort": "记录编号 desc",
          "size": "5"
        }
      },
      "lookup": {
        "type": "NUMBER",
        "code": "lookup",
        "label": "lookup",
        "noLabel": false,
        "required": false,
        "lookup": {
          "relatedApp": {
            "app": "2",
            "code": ""
          },
          "relatedKeyField": "记录编号",
          "fieldMappings": [
            {
              "field": "选择用户",
              "relatedField": "创建人"
            }
          ],
          "lookupPickerFields": [],
          "filterCond": "",
          "sort": "记录编号 desc"
        }
      },
      "组合": {
        "type": "GROUP",
        "code": "组合",
        "label": "组合",
        "noLabel": false,
        "openGroup": false
      },
      "Table": {
        "type": "SUBTABLE",
        "code": "Table",
        "fields": {
          "单行文本框_0": {
            "type": "SINGLE_LINE_TEXT",
            "code": "单行文本框_0",
            "label": "单行文本框",
            "noLabel": false,
            "required": false,
            "minLength": "",
            "maxLength": "",
            "expression": "",
            "hideExpression": false,
            "unique": false,
            "defaultValue": ""
          }
        }
      }
    }
  }

应答参数

参数名称值的类型说明
revision字符串应用的设置更改之后的修订号。

应答的范例

{    
  "revision": "1"    
}

JavaScript范例

使用API请求发送 kintone REST API 请求

var body = {
  'app': 1,
  'revision': 2,
  'properties': {
    '单行文本框': {
      'type': 'SINGLE_LINE_TEXT',
      'code': '单行文本框',
      'label': '单行文本框',
      'noLabel': false,
      'required': false,
      'minLength': '',
      'maxLength': '',
      'expression': '',
      'hideExpression': false,
      'unique': false,
      'defaultValue': ''
    }
  }
};

kintone.api(kintone.api.url('/k/v1/preview/app/form/fields', true), 'POST', body, function(resp) {
  // success
  console.log(resp);
}, function(error) {
  // error
  console.log(error);
});


使用 XMLHttpRequest 请求

var body = {
  'app': 1,
  'revision': 2,
  'properties': {
    '单行文本框': {
      'type': 'SINGLE_LINE_TEXT',
      'code': '单行文本框',
      'label': '单行文本框',
      'noLabel': false,
      'required': false,
      'minLength': '',
      'maxLength': '',
      'expression': '',
      'hideExpression': false,
      'unique': false,
      'defaultValue': ''
    }
  },
  // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时需要设置
  '__REQUEST_TOKEN__': kintone.getRequestToken()
};

var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/form/fields.json';
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() {
  if (xhr.status === 200) {
    // success
    console.log(JSON.parse(xhr.responseText));
  } else {
    // error
    console.log(JSON.parse(xhr.responseText));
  }
};
xhr.send(JSON.stringify(body));

更改字段的设置 请参见 更改表单的设置2删除字段 及 更改表单的布局 请参见 更改表单的设置3