网站内容自动更新(关于按年自动编号,在以前的按年api的技巧(日语))
优采云 发布时间: 2022-03-05 01:23网站内容自动更新(关于按年自动编号,在以前的按年api的技巧(日语))
关于按年自动编号,以前介绍过按年自动编号的技术(日语)。这一次,我将根据案例来解释自动编号的方法。
具体来说,将使用“销售支持 (SFA) 包”。注册案例信息时,“案例名称”栏默认使用lookup获取“根据不同客户自动编号”的字符串,连接任意字段信息后显示。
表格是什么样子的
自动编码格式
【客户名称】-【5位连续编号】-【案例类型】
字段设置客户信息申请
由于需要管理不同客户的数量,我们在客户信息应用程序中添加了一个用于自动编号管理的字段,如下所示。※标记以外为默认。
字段类型 字段名称 初始值 字段代码
数值
*敏*感*词*编号
*敏*感*词*编号
※因为不是通用字段,所以可以隐藏在组合组件中。
接下来,为了更新上述情况下的号码,需要获取客户信息的应用ID,即为检索设置的应用代码。主要设置在【应用设置】-【详细设置】-【高级设置】页面。
案例信息申请
在案例信息应用中,还添加了与上述客户信息应用中相同的数字字段。
另外,为了获取后续更新客户信息申请所需的记录号,增加了以下字段。
字段类型 字段名称 初始值 字段代码
数值
*敏*感*词*编号
*敏*感*词*编号
数值
客户信息记录编号
-
客户信息记录编号
添加以上两个字段后,在客户名称查找字段的设置→“其他要复制的字段”中进行设置,获取“案例号”的值。及“客户信息备案号”。
接下来,添加以下内容作为连接“案例名称”的可选字段。在当前的api版本中,无法获取查找字段的事件,所以我们在此处设置添加字段的事件中的案例名称。
字段类型 字段名称 项目和订单字段代码
下拉框
*敏*感*词*类型
新的,追加的,改变的
*敏*感*词*类型
获取和编辑自动编码的代码
首先,我们以在记录添加/编辑页面更改“案例类型”时自动编号“案例名称”为例。
创建 JavaScript 文件后,将其放入“案例信息”应用程序中。
(function() {
"use strict";
// 添加*敏*感*词*种类字段的更新事件
var events = [
'app.record.create.change.*敏*感*词*种类',
'app.record.edit.change.*敏*感*词*种类'
];
kintone.events.on(events, function(event) {
var record = event.record;
var matterName =
record['lookup']['value'] +
"-" +
("00000" + record['*敏*感*词*编号']['value']).slice(-5) +
"-" +
record['*敏*感*词*种类']['value'];
//字段名“*敏*感*词*名”的字段代码变成“matter”的情形
record['matter']['value'] = matterName;
return event;
});
})();
更新自动编码的代码
以下是追加记录时更新数字的示例。
创建 JavaScript 文件后,同样适用于“案例信息”应用程序。
(function() {
"use strict";
// Register the events.
var events = [
'app.record.create.submit'
];
kintone.events.on(events, function(event) {
var app_code = "AppIdClient001"; // 客户信息应用的应用代码
kintone.api(kintone.api.url('/k/v1/apps', true), 'GET', {"codes": [app_code]
}, function(resp) {
var app_id = resp.apps[0].appId;
var record = event.record;
var rec_id = record['客户信息记录编号']['value'];
var seq = parseInt(record['*敏*感*词*编号']['value']) + 1;
// *敏*感*词*编号更新请求
kintone.api(kintone.api.url('/k/v1/record', true), 'PUT',
{
"app": app_id, "id": rec_id, "revision": -1, "record": {
"*敏*感*词*编号": { "value": seq }
}
}, function(resp) {
}, function(error) {
var errmsg = 'An error occurred while updating records.';
if (error.message !== undefined) {
errmsg += '\n' + error.message;
alert(errmsg);
}
}
);
}, function(error) {
var errmsg = 'An error occurred while getting records.';
if (error.message !== undefined) {
errmsg += '\n' + error.message;
alert(errmsg);
}
});
});
})();
代码说明
关于客户编号部分,在查找字段的设置内容中使用了复制源信息,所以代码很简单。
同理,关于更新号码的代码,在设置查找字段时,由于可以获取到客户信息记录的ID,所以在记录中使用了页面上的项目。
关于应用ID,本文文章使用2014/9/14版本新增的获取应用信息的api。有名字和多条记录,可以批量获取。从这里设置的应用代码,可以得到应用ID。
防范措施
客户信息案例编号的一系列更新处理,基于案例信息添加时的‘app.record.create.submit’事件,会更新其他应用的字段。更新或删除客户信息时,应用的那些字段将不会更新。另外,变更案例时,事件本身不是客体,无法捕捉到客户信息的变化,需要人工修正。
以上,本插件可以保持每个客户的数量统一,请在了解的基础上灵活使用。
提示在 2014 年 9 月版中得到确认。