Kintoneは、あらゆる業種や業務フローに対応できる柔軟な業務アプリケーションプラットフォームです。標準機能でも多くの業務プロセスを自動化できますが、より複雑な業務要件に対応するためには、JavaScriptによるカスタマイズが強力なツールとなります。

本記事では、複数フィールドの自動計算をJavaScriptを使って実装する方法を詳細に説明します。実際の業務でよく使われる例や、実装時の注意点を交えながら進めていきますので、ぜひ参考にしてください。

 

1. 自動計算機能の概要とメリット

自動計算機能は、手作業で行っていたデータ処理をKintone上で自動化することで、作業の効率化やミスの防止に大きな効果があります。具体的には、次のような場面で役立ちます。

  • 売上計算:商品数や単価を入力するだけで、合計金額を自動計算。
  • 在庫管理:入荷や出荷データから自動で残高を算出。
  • プロジェクト管理:各タスクの時間配分を自動集計し、全体の進捗状況を見える化。

Kintoneの自動計算機能を利用することで、業務にかかる時間やエラーを大幅に削減できるため、結果的に作業の効率が向上します。

 

2. Kintoneカスタマイズの基礎知識

Kintoneはノーコードの操作だけでかなりの機能を実現できますが、より高度なカスタマイズを行う場合は、JavaScriptを使用することで柔軟な対応が可能です。

特に、レコードの状態を監視して特定のアクションを実行したり、フィールドの値を計算したりする場面では、JavaScriptが強力なツールとなります。

Kintoneのカスタマイズは主に以下の手順で行います。

  1. イベントハンドラの設定:ユーザーがフィールドに入力したタイミングやレコードを保存したタイミングで、イベントをトリガーします。
  2. フィールドデータの取得と計算:必要なフィールドのデータを取得し、それに基づいて計算処理を実行します。
  3. フィールドに結果を反映:計算結果を他のフィールドに自動的に反映させます。

次に、実際のJavaScriptカスタマイズの手順について詳しく見ていきましょう。

 

3. 実装準備:JavaScriptファイルの設定

まず、Kintoneでカスタマイズを行うための準備を進めます。JavaScriptファイルを追加し、イベント処理を設定する流れです。

手順1:JavaScriptファイルを準備

  1. Kintoneの管理画面から、カスタマイズしたいアプリを選択します。
  2. 「アプリの設定」メニューを開き、「JavaScript/CSSでカスタマイズ」へ移動します。
  3. JavaScriptファイルをアップロードし、スクリプトを記述する準備を整えます。

手順2:フィールドの設定

次に、自動計算に使用するフィールドを確認します。たとえば、「数量」「単価」「合計金額」といったフィールドを事前に作成しておきます。これらのフィールドに基づいて、実際の計算処理が行われます。

 

4. 実装手順:複数フィールドの自動計算機能

いよいよ、実際の自動計算のコードを記述します。ここでは、数量単価から自動的に合計金額を計算する簡単な例を見てみましょう。

コード例:数量 × 単価 = 合計金額

(function() {
    'use strict';
    
    // イベント設定:数量や単価が変更されたときにトリガー
    kintone.events.on(['app.record.create.change.数量', 'app.record.edit.change.単価'], function(event) {
        var record = event.record;
        
        // フィールド値の取得
        var 数量 = record['数量'].value;
        var 単価 = record['単価'].value;
        
        // 値が正しく入力されているかチェック
        if (数量 && 単価) {
            // 合計金額を計算
            record['合計金額'].value = 数量 * 単価;
        } else {
            // 入力が不足している場合はリセット
            record['合計金額'].value = null;
        }

        // イベントを返す
        return event;
    });
})();

このスクリプトは、数量や単価が変更された際に自動的に合計金額を計算し、指定したフィールドに反映します。特に、イベントを監視することによって、ユーザーがデータを入力するタイミングで計算が即座に実行される仕組みになっています。

5. 応用例:動的な条件に基づく計算

次に、応用的なシナリオとして、特定の条件下でのみ計算を実行する例を紹介します。たとえば、特定のフィールドが「Yes」に設定されている場合のみ計算を実行したり、他のフィールドの値に基づいて計算を行うことが可能です。

コード例:特定条件下での計算

(function() {
    'use strict';
    
    kintone.events.on('app.record.edit.submit', function(event) {
        var record = event.record;
        
        // 条件に基づいて計算を実行
        if (record['計算実行'].value === 'Yes') {
            record['結果'].value = record['数値1'].value * record['数値2'].value;
        } else {
            record['結果'].value = null;
        }

        return event;
    });
})();

このように、フィールドの値によって動的に処理を分岐させることで、業務に合わせた柔軟な自動計算を実現できます。

6. エラー処理とデバッグ方法

カスタマイズを行う際には、エラーハンドリングデバッグが重要です。JavaScriptでエラーが発生した場合、ユーザーに誤った結果が表示される可能性があるため、次のようなエラー処理を行います。

エラーチェックの例

if (!数量 || isNaN(数量)) {
    // 数量が無効な場合はエラーを表示
    alert('数量が正しく入力されていません');
    return false;
}

また、Kintoneのデベロッパーツールを使って、ブラウザ上でスクリプトのエラーを確認したり、console.log()を使ってデバッグメッセージを出力することが可能です。

7. まとめ

Kintoneのカスタマイズは、JavaScriptを活用することで標準機能を超えた柔軟な業務自動化を実現できます。本記事では、複数フィールドの自動計算を例に、具体的な実装方法や応用例を紹介しました。自動計算機能は、作業効率を向上させるだけでなく、ミスを防ぎ、業務の質を向上させる強力なツールです。さらに、条件に応じた計算やエラーハンドリングを取り入れることで、より高度で信頼性の高いアプリケーションを構築できます。Kintoneのカスタマイズを活用し、より効果的な業務プロセスを実現しましょう。

このサイトではほかにも、Kintoneの様々なカスタマイズ方法に関する記事も投稿しておりますので、ぜひチェックしてくださいね!

https://arcuss-service.com/knowledge/how-to-prevent-data-entry-errors.html