网站内容自动更新(关于按年自动编号,在以前的按年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 月版中得到确认。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线