kintone ビジネス関連

【超簡単】kintoneでJava Scriptを使って正確な年齢を自動計算する方法

kintoneの標準機能では年齢表示をすることができないのをご存じでしょうか。

 

kotopapa
標準機能の計算フィールドを使って年齢計算するとうるう年が考慮されなかったりしてズレるんだよね…

 

そう、計算フィールドを使って簡易的に実装はできるものの、うるう年の計算などが考慮されておらず、標準機能では完璧な年齢計算ができません。

そこで、コピペするだけで使える年齢計算のJava Scriptコードを公開したいと思います。

 

環境構築
【超簡単】初心者でもできる!kintoneの開発環境構築手順(VSCode)

kintoneといえば、ノンプログラミングでアプリを作成できるツールであり、いろいろな自治体をはじめ、多くの企業で活用さ ...

続きを見る

 

コピペするだけ、年齢計算のJava Script

年齢計算のコードは関数で作成します。

第一引数:birthdate
Date型で誕生日を指定。

第二引数:targetdate
Date型で基準日を指定。

戻り値:age
年齢を計算してreturn。

// 年齢を計算する関数
function calcAge(birthdate, targetdate) {
    var age = targetdate.getFullYear() - birthdate.getFullYear();
    var birthday = new Date(targetdate.getFullYear(), birthdate.getMonth(), birthdate.getDate());
    if (targetdate < birthday) {
        age--;
    }
    return age;
}


サンプルコード①

1レコードに1名の情報がある場合のサンプルコード。

用意するフィールド

フィールド名フィールド
誕生日日付
年齢数値

誕生日フィールド(DATE)の内容を取得し、イベントが走った日付と比較して年齢を計算します。

(function() {
    "use strict";
    var events = [
        // レコード編集時の処理
        'app.record.create.show',
        'app.record.edit.show',
        'app.record.create.change.誕生日',
        'app.record.edit.change.誕生日'
        ]

    kintone.events.on(events,function(event) {
        // 誕生日情報を取得
        var date = new Date(event.record['誕生日'].value);
        var today = new Date();
        // 年齢フィールドに年齢を登録
        event.record['年齢'].value = calcAge(date,today);

        return event;
    });

    // 年齢を計算する関数
    function calcAge(birthdate, targetdate) {
        var age = targetdate.getFullYear() - birthdate.getFullYear();
        var birthday = new Date(targetdate.getFullYear(), birthdate.getMonth(), birthdate.getDate());
        if (targetdate < birthday) {
            age--;
        }
        return age;
    }
  })();

サンプルコード②

サブテーブルに個人情報がまとめられている場合のサンプルコードです。

用意するフィールド

フィールド名フィールド
個人情報サブテーブル
誕生日日付
年齢数値

(function() {
    "use strict";
    var events = [
        // レコード編集時の処理
        'app.record.create.show',
        'app.record.edit.show',
        'app.record.create.change.誕生日',
        'app.record.edit.change.誕生日'
        ]

    kintone.events.on(events,function(event) {
        // 個人情報サブテーブル内を1行ずつチェックし、誕生日情報を取得
        for(let i = 0; i < event.record['個人情報'].value.length; i++){
            var date = new Date(event.record['個人情報'].value[i].value['誕生日'].value);
            var today = new Date();
            // 年齢フィールドに年齢を登録
            event.record['個人情報'].value[i].value['年齢'].value = calcAge(date,today);
        }

        return event;
    });

    // 年齢を計算する関数
    function calcAge(birthdate, targetdate) {
        var age = targetdate.getFullYear() - birthdate.getFullYear();
        var birthday = new Date(targetdate.getFullYear(), birthdate.getMonth(), birthdate.getDate());
        if (targetdate < birthday) {
            age--;
        }
        return age;
    }
  })();


kintoneはJava Scriptでカスタマイズをして便利に活用しよう

kintoneはノンプログラミングでアプリが作れる、非常に優秀なフレームワークです。

しかし、アプリを作っていけばいくほど、不足することも多いのが実態。

Java Scriptを活用してより一層便利に活用しましょう!

kintone

kintoneで見やすいのカンバン形式を無料で導入する方法

kintoneでカンバン形式のタスク管理を使う場合、有料のプラグインを使うか、無料の場合はjava scriptでコードを作成する必要があります。前者のプラグインを使う場合はArcesさんのプラグインを使うのが良いかと思いますが、今回はcybozu developer network内にて公開されているツールをカスタマイズして「ちょっと便利」にしちゃおうと思います。 無料でkintoneにガントチャートとカンバンを設置する方法 手っ取り早く進めていきましょう。無料でカンバンを設置する方法は以下のリンク先を ...

ReadMore

Kintoneはプラグインでこんなに良くなる!Kintoneのオススメプラグイン

ノンコーディングでアプリが作成できるフレームワーク「Kintone」。しかし、細かいカスタマイズをしようとすると、どうしてもJSでのコーディングが必要になってきます。 実際に開発スキルがないけど、やりたいことがいっぱいある!という方向けに、有料/無料に分けてオススメのプラグインをご紹介します。 【無料】オススメプラグイン 一覧テキスト絞り込み検索プラグイン(TIS) 無料プラグインといえば「TIS」ですよね。そのTISからご紹介するのは「一覧画面でのテキスト絞り込み」を可能にする検索窓設置プラグインです。 ...

ReadMore

Kintoneで郵便番号から住所を検索する方法

過去に同様の記事を書きましたが、2020年6月でAPIの提供が終了してしまいました。 新たにzipcloudが郵便番号検索APIを提供してくれていますので、こちらを使って郵便番号から住所を取得するサンプルコードを記載します。 郵便番号検索APIとは 郵便番号検索APIは、日本郵便が公開している郵便番号データを検索する機能をRESTで提供しています。現在使用しているデータは、「2020年6月30日更新分の全国一括データ(加工済バージョン)」です。 zipcloud.ibsnet.co.jp  58 ...

ReadMore

Form data to kintone

WordPressの問い合わせフォームContact Form 7とkintoneを連携する方法

WordPressでHPを作成している場合、プラグインの Contact Form 7 で問い合わせフォームを作成している方も多いと思います。 今回は、Contact Form 7 と Kintone を連携し、問い合わせ内容をそのまま Kintone に転記する方法をご紹介します。 Contact Form 7 をインストールしてフォームの作成をする まずはContact Form 7 をインストールし、フォームの作成をしておいてください。 手順は以下の記事を参考にしてください。 Form data t ...

ReadMore

【kintone】ボタンクリックで別アプリの編集画面に値をコピーした状態で開く方法

タイトルだけ見ると何を言ってるか分かりませんよね…^^; Aアプリのスペースに設定したボタンからBアプリの編集画面を立ち上げ、Aアプリの内容をフィールドに事前に設定しておきたいケースに使用するサンプルコードです。 (function() { "use strict"; var events = ['app.record.detail.show','app.record.create.show','app.record.edit.show' ...

ReadMore

【kintone】JavaScriptを使って郵便番号から住所を作成する(コピペでOK)

kintoneの顧客管理アプリを作ってる中で、ふとこんなことを思ったのがきっかけ。 kotopapa住所入力面倒だなぁ…。郵便番号からある程度情報取れないかな…。 JavaScriptを使えばあっという間に実現できました! kintoneのフィールド情報 kintoneのアプリには以下のようなフィールドを追加してください。 フィールド名 フィールド形式 フィールドコード 郵便番号 文字列(1行) zipcode 都道府県 文字列(1行) pref 市区町村 文字列(1行) city 以下住所 文字列(1行 ...

ReadMore

JavaScriptを使ってkintoneの一覧画面上に全レコードを対象とした一括処理ボタンを実装したい

kintoneを使っているとよく発生する事象です。 アプリ内のレコード数が数千件あるが、この新しくフィールドを追加することになった。 全件条件分岐で内容を入れたいが、ひとつずつやっているといつまでかかるかわからない…。 そんな時は、一括で処理してくれるボタンを実装しちゃいましょう! (function () { "use strict"; kintone.events.on('app.record.index.show', function (event) { if ( ...

ReadMore

kintoneのJava Scriptで非同期処理の完了を待つ方法

kintoneのjava scriptで機能拡張していると、便利なはずの非同期処理がかえって困るケースがあります。 例えば、保存時の処理。 submit.successの処理時に他アプリの値を取ってきたり、書き換えたり。 kintone.apiのGETやPUT、POSTに関して、returnをつけることで簡単に非同期処理の完了を待つことができることをご存じでしょうか? return kintone.api(kintone.api.url('/k/v1/records', true), &# ...

ReadMore

kintoneでJava Scriptを使ってサブテーブルを初期化する方法

kintoneで別アプリのレコード情報をサブテーブルにまとめて取得する場合、まずはサブテーブルを初期化…。 あれ?サブテーブルの初期化ってどうやるの!?となったあなた。 そんな時は以下のコードで初期化することができますよ。 // テーブル初期化関数 function initRow(table_name) { let record = kintone.app.record.get().record; for(let i = record[table_name].value.length; i >= ...

ReadMore

kintoneでJava Scriptを使ってダイアログ(確認ポップアップ)を表示する

kintoneの保存前に保存チェックをしたり、保存キャンセルをしたり、ダイアログを表示することで処理の切り替えをすることが可能です。 ダイアログで他アプリの登録画面を表示したい kotopapa管理アプリに紐づく別アプリの登録が済んでない場合、別アプリの登録を促したい…   そういう場合に、ダイアログでユーザーに注意を促し、他アプリの登録画面に遷移するようなサンプルコードはこちら。 let appid = 10; //開きたいアプリのID let res = confirm("××が未申請です。 ...

ReadMore

1日1ポチお願いいたします!
人気ブログランキング

-kintone, ビジネス関連
-, ,

© 2024 with-Biz