在记录详情页面插入其他应用的记录列表

aki发表于:2016年12月01日 16:42:08更新于:2021年11月22日 14:45:42

作者:蒋卫丰

概要

很多情况下,我们会把信息放在不同的地方进行分门别类地管理。

这时,一些相关内容或项目希望能够相互关联起来。

kintone中的“记录关联列表”和“Lookup”可以实现不同应用之间的数据关联。

本次要介绍的是,将另一个应用中相关记录的列表直接插入到记录详情页面中。

准备应用

首先,准备两个应用。一个是【项目信息管理】,另一个是【公司信息管理】。
我们的设想是:【项目信息管理】中通过lookup获取相关公司的信息;在【公司信息管理】的记录页面的空白栏中插入跟该公司相关的项目信息列表。

0015847bb7e699b69fb2b810a5aa494

代码中需要用到的设置

【项目信息管理】应用中的以下字段在后面的代码中会用到,请记住字段代码。其他字段随意设置。

字段种类字段名字段代码
数值记录编号No

【公司信息管理】应用中的以下字段在后面的代码中会用到,请记住字段代码。其他字段随意设置。

字段种类字段代码
空白栏project-info

lookup的设置

【项目信息管理】中通过lookup获取相关的公司信息的设置如下图。
※注意:【其他要复制的字段】中设置的“记录编号”,目的是将【公司信息管理】中相应记录的编号复制到字段代码为“No”的字段中。在之后的代码中要用到。

0015847c0a915b58d563f67e79697f0

要点

1.在详情页面插入其他应用的记录列表使用的是<iframe>标签。

<iframe width="XXX" height="XXX" frameborder="0" src="<a href="https://xxx.cybozu.com/k/1/"></iframe>

2.在kintone6.9.0版本中确认的结果是,使用isGaroon=1时,即使使用的是新风格的kintone,嵌入的记录列表依然显示旧风格。

效果图

0015847ca757d83f0a806e69f1c639f

代码范例

(function() {
    "use strict";
    //详细页面中发生事件
    kintone.events.on('app.record.detail.show', function(event) {
        //获取设定页面空白项目的要素
        var el = kintone.app.record.getSpaceElement('project-info');
//设置iframe的基本信息
        var iframe = document.createElement("iframe");
        iframe.id = 'reportFrame';
        iframe.frameborder = '0';
        iframe.width = '1000';
        iframe.height = '300';
//获取项目信息管理中字段代码为“No”的字段值与当前记录的ID相同的记录
        iframe.src = '/k/33/?view=5118593&isGaroon=1&query='
        + encodeURIComponent('No in (' + kintone.app.record.getId() + ')');
//iframe放置在空白栏元素下
        el.appendChild(iframe);
    });
})();

回复(6)

  • 追梦人

    好的,已解决,非常感谢。

    引用 betsy_yan 的回复:

    可以的。点应用中的设置按钮也就是“齿轮”图标,“更改应用的设置”,在上面“表单”、“列表”、“图表”、“设置”的标签中点“列表”,点加号“添加列表”,把左边表格的字段代码拖动到右边,保存,更新应用。记得在列表页面选择显示刚刚添加的列表的名称。

  • betsy_yan

    可以的。

    点应用中的设置按钮也就是“齿轮”图标,“更改应用的设置”,

    在上面“表单”、“列表”、“图表”、“设置”的标签中点“列表”,

    点加号“添加列表”,

    把左边表格的字段代码拖动到右边,保存,更新应用。

    记得在列表页面选择显示刚刚添加的列表的名称。

    引用 追梦人 的回复:

    我想请教一下,我在应用的详情页面做了一个 table ,我可以把这个table 放到 记录列表页面 的字段里面吗?点击这个字段,把详情页面里面的table 显示出来。如果可以,应该如何设置?谢谢。

  • 追梦人

    我想请教一下,我在应用的详情页面做了一个 table ,我可以把这个table 放到 记录列表页面 的字段里面吗?点击这个字段,把详情页面里面的table 显示出来。如果可以,应该如何设置?谢谢。

  • 追梦人

    好的,谢谢您

    引用 betsy_yan 的回复:

    首先你需要有这个应用的管理权限。点应用中的设置按钮也就是“齿轮”图标。在上面“表单”、“列表”、“图表”、“设置”的标签中点“设置”。点“常规设置”中的第一个“图标与说明”,然后最下面就是你要找的“应用的说明”。

  • betsy_yan

    首先你需要有这个应用的管理权限。

    点应用中的设置按钮也就是“齿轮”图标。

    在上面“表单”、“列表”、“图表”、“设置”的标签中点“设置”。

    点“常规设置”中的第一个“图标与说明”,然后最下面就是你要找的“应用的说明”。

    引用 追梦人 的回复:

    我想请教一下,创建好的应用如何在菜单下方添加该应用的说明?谢谢。

  • 追梦人

    我想请教一下,创建好的应用如何在菜单下方添加该应用的说明?谢谢。