记录显示事件

aki发表于:2016年09月16日 12:03:04更新于:2019年07月11日 17:42:36

Index

事件

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

其他

事件


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

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

  • 可在PC专用版和智能手机专用版中使用。

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

函数

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

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

  • 在记录详情页面换页时

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

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

智能手机专用版mobile.app.record.detail.show
  • 显示记录详情页面时

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

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

event对象的属性

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

可对event对象执行的操作

范例

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

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

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

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

  • 可在PC专用版和智能手机专用版中使用。

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

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

  • kintone.Promise对象return时,将等待异步处理执行完后才开始事件处理。

函数

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

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

event 对象的属性

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

范例

使用return kintone.Promise 对象的方法,可等待异步处理执行完成后再删除记录。
以下范例是使用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);    
});

使用kintone.Promise构造函数时

kintone.events.on('app.record.detail.delete.submit', function(event) {    
    var record = event.record;    
    var companyName = record['公司名称'].value;    
    // 确认企业管理中是否有公司名称    
    var masterAppId = 100;    
    var query = '公司名称="' + companyName + '"';    
    return new kintone.Promise(function(resolve, reject) {    
        var params = {app: masterAppId, query: query};    
        kintone.api('/k/v1/records', 'GET', params, function(resp){    
            resolve(resp);    
        });    
    }).then(function(resp) {    
        if (!resp.records.length) {    
            event.error = '无公司名称,无法删除。';    
        }    
        return event;    
    });    
});

流程管理的动作执行事件

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

  • 可在PC专用版和智能手机专用版中使用。

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

  • return false时,取消动作。

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

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

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

  • return kintone.Promise对象时,等待异步处理执行完成后才开始执行事件的处理。

等待异步处理执行完成后,才执行流程管理的动作

使用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对象记录对象

可对event对象执行的操作

请查看重写字段的值

注意事项

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

可对event对象执行的操作


重写字段的值

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

  • 需要有记录编辑权限。

  • 可在PC专用版和智能手机专用版中使用。

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

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

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

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

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

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

无法重写的字段

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

  • 记录编号

  • 创建人

  • 创建时间

  • 更新人

  • 更新时间

  • 状态

  • 执行者

  • 计算

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

  • 附件

  • Lookup

  • Lookup的复制目标字段

其他


相关Tips

    注意:贴代码时请注意格式并使用"代码语言",与本文无关的问题请至“讨论社区”提问。
    您需要登录后才可以回复