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で郵便番号から住所を検索する方法

過去に同様の記事を書きましたが、2020年6月でAPIの提供が終了してしまいました。 新たにzipcloudが郵便番号検索APIを提供してくれていますので、こちらを使って郵便番号から住所を取得するサンプルコードを記載します。 目次郵便番号検索APIとはKintoneのフィールド情報Kintoneで郵便番号から住所を出力するサンプルコード 郵便番号検索APIとは 郵便番号検索APIは、日本郵便が公開している郵便番号データを検索する機能をRESTで提供しています。現在使用しているデータは、「2020年6月30 ...

ReadMore

Form data to kintone

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

WordPressでHPを作成している場合、プラグインの Contact Form 7 で問い合わせフォームを作成している方も多いと思います。 今回は、Contact Form 7 と Kintone を連携し、問い合わせ内容をそのまま Kintone に転記する方法をご紹介します。 目次Contact Form 7 をインストールしてフォームの作成をするForm data to kintone をインストールする問い合わせ用のkintoneアプリを作成問合わせフォームとkintoneアプリの連携設定を行 ...

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管理アプリに紐づく別アプリの登録が済んでない場合、別アプリの登録を促したい…   そういう場合に、ダイアログでユーザーに注意を促し、他アプリの登録画面に遷移する ...

ReadMore

トップ画像

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

kintoneの標準機能では年齢表示をすることができないのをご存じでしょうか。   kotopapa標準機能の計算フィールドを使って年齢計算するとうるう年が考慮されなかったりしてズレるんだよね…   そう、計算フィールドを使って簡易的に実装はできるものの、うるう年の計算などが考慮されておらず、標準機能では完璧な年齢計算ができません。 そこで、コピペするだけで使える年齢計算のJava Scriptコードを公開したいと思います。     目次コピペするだけ、年齢計算のJava Scriptサンプルコード①サン ...

ReadMore

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

kintoneといえば、ノンプログラミングでアプリを作成できるツールであり、いろいろな自治体をはじめ、多くの企業で活用されているフレームワークです。 しかし、アプリ間の連携を取るなど、開発規模が大きくなると、標準の機能でカバーできなくなってしまいます。 その際には、CSSやJava Scriptでカスタマイズすることが可能です。 今回は、開発環境の構築手順についてまとめてみました。 目次Visual Studio Code(VSCode)を用いて開発環境を構築するVisual Studio Code(VS ...

ReadMore

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

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

© 2020 with-Biz