记录显示事件

aki发表于:2016年09月16日 12:03:04更新于:2022年06月16日 08:42:52

Index

事件

在事件发生时可执行的操作

其他

事件


记录详情页面显示后的事件

打开记录详情页面之后发生的事件。

  • 可在PC专用版和移动端专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 如return了kintone.Promise,将等到异步处理结束后才开始之后的处理。

  • 具有“关联记录列表”字段的应用中,事件在“关联记录列表”字段以外的字段显示后发生。
         ○ 此事件发生后,将按顺序显示“关联记录列表”字段。

事件

环境事件事件发生时的时机
PC专用版app.record.detail.show
  • 显示记录详情时

    • 包含打开通知时显示的记录详情页面。

  • 在记录详情页面换页时

  • 在记录编辑页面执行保存后或取消后

  • 在执行流程动作后,更改为下一个状态时

移动端专用版mobile.app.record.detail.show
  • 显示记录详情页面时

  • 在记录详情页面切换到上一条或下一条时

  • 在记录编辑页面执行保存后或取消后

  • 在执行流程动作后,更改为下一个状态时

event对象的属性

属性名类型说明
appId数值应用ID
record对象

用于存放记录详情页面显示时的数据的记录对象※

※记录对象是指:含有字段代码以及字段值等记录信息的对象。

字段的值因字段类型而异,详情请参考字段格式

recordId数值记录ID
type字符串事件类型

可对event对象执行的操作

等到异步处理结束后才执行之后的处理

使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法

范例

显示记录详情页面时弹出信息。

kintone.events.on('app.record.detail.show', function(event) {
    window.alert("记录详情页面已打开");
    return event;
});

记录详情页面在执行删除之前的事件

在记录详情页面点击删除按钮并在弹出框点击【删除】之后发生的事件。

  • 可在PC专用版和移动端专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 使用return false的方法,可取消删除处理

  • 如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。

事件

环境事件事件发生时的时机
PC专用版app.record.detail.delete.submit
  • 点击记录详情页面上的删除按钮并点击弹出窗口中的“删除”时

移动端专用版mobile.app.record.detail.delete.submit
  • 点击记录详情页面上的删除按钮并点击弹出窗口中的“删除”时

event 对象的属性

属性名类型说明
appId数值应用ID
record对象

用于存放要删除的记录数据的记录对象※

※记录对象是指:含有字段代码以及字段值等记录信息的对象。

字段的值因字段类型而异,详情请参考字段格式

recordId数值记录ID
type字符串事件类型

可使用event对象执行的操作

等到异步处理结束后才执行后面的处理

使用return kintone.Promise 对象的方法,可等待异步处理执行完后再执行可对event对象执行的操作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法

范例

不使用kintone.Promise时

kintone.events.on(['app.record.detail.delete.submit'], function(event) {    
    var record = event.record;    
    if (!record['公司名称']['value']){    
        event.error = '无公司名称,无法删除。';    
    }    
    return event;    
});
//返回return false时不处理    
kintone.events.on(['app.record.detail.delete.submit'], function(event) {    
    var record = event.record;    
    // 无公司名称时返回false    
    return (record['公司名称']['value']!== null);    
});

流程管理的动作执行事件

在启用了流程管理的应用中执行动作时发生的事件。需要多个执行者执行动作才可更改状态等情况下,执行动作之后即使状态未变,该事件也会发生。

  • 可在PC专用版和移动端专用版中使用。

  • 通过return event对象的方法可更新记录信息。(参考:重写字段的值)
    ※需要记录编辑权限。

  • return false时,取消动作。

  • 在event对象中设置error属性,并return时,将显示error中设置的错误信息,取消动作。

  • return错误的值时,将报错并取消动作。

  • 不return任何内容时,仅更新状态。

  • 如return了kintone.Promise对象,将等待异步处理执行完后才开始之后的处理。

事件

环境事件事件发生时的时机
PC专用版app.record.detail.process.proceed
  • 在流程动作执行前

移动端专用版mobile.app.record.detail.process.proceed
  • 在流程动作执行前

event 对象的属性

属性名类型说明
action对象已执行的动作
// 对象的Key 
{value:"<动作名称(以用户设置的语言为准)>"}
status对象更改前的状态
// 对象的Key 
{value:"<状态名称(以用户设置的语言为准)>"}
nextStatus对象更改好的状态
// 对象的Key 
{value:"<状态名称(以用户设置的语言为准)>"}
※执行完动作后,即使状态没有更改,也可获取更改后的状态名称。
record对象

用于存放在执行动作时的数据的记录对象※

※记录对象是指:含有字段代码以及字段值等记录信息的对象。

字段的值因字段类型而异,详情请参考字段格式

type字符串事件类型

可对event对象执行的操作

请查看重写字段的值

请查看在记录中报错

等待异步处理执行完成后,才执行之后的处理

使用return kintone.Promise 对象的方法,可将等待异步处理执行完后才开始执行流程管理的动作。
同一个事件如果登记了多个事件句柄,将报错,并废弃Thenable对象,这种情况下,不会执行后续的事件句柄的处理。
关于写法请参考kintone的Promise的基本写法

注意事项

请查看有关事件处理的一些注意事项

可对event对象执行的操作


重写字段的值

在句柄中record 对象中的字段值重写后,return event 对象时,将使用此值更新字段的值。

  • 需要有记录编辑权限。

  • 可在PC专用版和移动端专用版中使用。

  • 粘帖到空间中的应用不可使用。

  • 在单选框字段中指定空字符串时,默认初始值选项。

  • 即使设为不可编辑字段,也可重写值。

  • 对无添加权限的字符的值进行重写时,不会应用到表单中。

  • 最后的句柄不return的情况,将不更新字段的值。

  • 添加多个句柄时,将以最后的句柄return回来的值为标准进行更新。

无法重写的字段

以下字段即使使用句柄重写了字段的值并return,也不应用到表单中。

  • 记录编号

  • 创建人

  • 创建时间

  • 更新人

  • 更新时间

  • 状态

  • 执行者

  • 计算

  • 设置为自动计算的单行文本框

  • 附件

  • Lookup

  • Lookup的复制目标字段

在记录中报错

事件句柄将报错信息带入 event对象的error,并return event对象时,将取消字段值的改写以及可否编辑的设置,在页面上方显示错误信息。

  • 仅在PC版中可用。

  • 粘贴到空间里的应用不可以使用。

范例

在记录详情页面中点击”删除按钮“时在记录中显示错误。

kintone.events.on('app.record.detail.delete.submit', function(event) {
  event.error = '出错了!';
  return event;
});

其他


相关Tips

    注意:贴代码时请注意格式并使用"代码语言",与本文无关的问题请至“讨论社区”提问。