1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 アプリ集計プラグイン

Last updated at Posted at 2018-12-25

kintone で、複数アプリのレコードを1アプリに集計するプラグインです。
テーブル1行に他アプリの1レコードの内容を設定可能です。
・他アプリから当月分の請求データを抽出して、請求書を作成できます。
・関連レコードのレコードを集計して、項目に設定できます。

主な機能
・追加編集画面で、他アプリのレコードから集計(PC・スマホ)
・レコードを集計して、テーブルに設定する機能(PC・スマホ)
・一覧画面で表示中のレコードを一括集計(PCのみ)
・集計元アプリに更新結果を反映

※動作環境は、PC・スマホです。
関連レコード集計プラグインが子アプリ変更時に親アプリへ集計するのに対して、
アプリ集計プラグインは、親アプリ側で子アプリのレコードを集計します。

rex0220 storesで、販売中です。

Ver.58
・プラグイン設定画面のデザイン変更対応
・FSET 関数に、テーブル内項目を指定できる機能を追加
・FSET_TADD 関数追加(テーブルに指定した行を追加)
・DIC, DIC_ITEM, DIC_DEL, DIC_EXISTS, DIC_KEYS, DIC_COUNT, DIC_ASSIGN 関数追加

アプリ集計プラグイン使用例

請求書アプリ例

受注・売上管理アプリから当月分の請求データを抽出して、請求書を作成する例です。
「アプリ集計」ボタンをクリックすると請求データを抽出・設定します。

  • PC版編集画面
2018-12-25_18h51_25.png
  • スマホ版編集画面
2018-12-25_19h10_23.png
  • 一覧画面一括集計

一覧画面で表示中のレコードを一括集計で最新の状態に更新します。
※新規にレコード追加する機能はありません。

2018-12-25_19h40_32.png

アプリ集計操作例

2018-12-25_19h21_15.gif

2018-12-25_19h37_05.gif

プラグインの追加

  • 「kintone システム管理 > プラグイン」で追加します。
  • 「アプリの設定 > プラグイン」で、アプリに追加します。

※今回の例では、請求書アプリにプラグイン設定を行います。

2018-12-25_19h53_16.png

プラグインの設定

請求書アプリのプラグイン設定例

  • NOTE: メモ
  • 説明: 処理の説明等を記載
  • プラグイン有効

関連アプリ毎に、下記を設定します。

  • 処理名: 処理内容
  • アプリ: 集計元アプリ
  • 対象アプリ条件: 集計元アプリのレコード抽出条件
  • 集計順: 集計元アプリのレコード抽出順
  • 集計項目: 集計先アプリの集計項目と集計内容
  • テーブル項目: 集計先アプリのテーブル項目と集計内容
  • 反映:  集計元アプリの項目と設定値

2024-09-10_09h01_32.png

自動・ボタン別設定

自動集計、編集画面・一覧画面で表示するボタンについて設定します。

  • チェック: 選択状態で自動集計を有効、ボタンを表示
    • 追加:画面表示時 自動アプリ集計:追加画面表示時に自動計算を行う
    • 編集:画面表示時 自動アプリ集計:追加・編集画面表示時に自動計算を行う
    • 自動アプリ集計 自動アプリ集計:対象アプリ条件に指定した計算式に指定された項目の値が変更された時に自動計算を行う
    • 一覧:一括集計:一括計算時に計算式プラグイン連携を行う
       ※ルックアップコピー項目があれば、最新の値に更新されます。
  • デフォルト: ボタン表示名
  • 英語: 英語表記
  • 日本語: 日本語表記
  • 中国語: 中国語表記

2023-05-27_16h03_09.png

一覧別設定

「一括集計ボタン」を表示する一覧画面を設定します。

  • すべての一覧で有効: チェックするとすべての一覧画面でボタンを表示
  • チェック: 選択した一覧でボタンを表示
2018-12-25_20h05_35.png

権限設定

一括更新を行うユーザー・組織・グループを設定します。

2023-12-08_04h50_55.png

実行条件

条件(計算式)の計算結果によって、下記制御を行います。

  • 編集画面では、実行条件でボタンの表示制御
  • 自動集計では、実行条件で実行の有無を制御
  • 一覧画面の一括集計では、ボタンクリック時にレコード単位に実行条件で実行の有無を制御

2023-12-08_04h48_41.png

アプリ: 集計元アプリ

  • アプリ欄でダブルクリックすると、アプリの選択メニューが表示されますので、対象アプリ「顧客管理」を選択します
  • アプリ番号またはアプリ名を入力すると、フィルタリングされます。
2018-12-25_20h34_47.png

参照アプリ条件: 集計元アプリのレコード抽出条件

2018-12-26_20h14_41.png
  • 対象アプリ条件の「編集」ボタンをクリックすると、編集用ダイアログが表示されます。

  • 「参照アプリの項目」欄でダブルクリックすると、項目の選択メニューが表示されますので、「レコード番号」を選択します

  • OR条件の位置: OR 開始位置を指定します。

    • 指定位置以降の条件が or「いずれかの条件を満たす」になります。

例:今回は、「取引先名」と「請求予定月」で関連付けしています。

  • 「条件値」欄は、項目のフィールドコードまたは計算式を指定します。

  • 定数

    • 文字: "" で、囲みます。
      "株式会社", "個"

    • 数字: 数字をそのまま記述
      0, 123, 1000

  • 項目:アプリ内項目のフィールドコードを指定します。

  • 「:」(コロン)を入力すると、項目名が一覧表示されますので、項目を選択します。

  • または、計算式を指定します。
    計算式プラグインと同じ計算式を入力できます。

2018-07-20_22h52_47.png

集計順: 集計元アプリのレコード抽出順

集計元アプリのレコード取得順を指定します。

  • 項目:ダブルクリックで項目一覧表示
  • ソート
    • asc:昇順
    • desc:降順
2018-12-25_20h06_47.png

集計項目: 集計先アプリの集計項目と集計内容

集計先アプリの集計項目と、集計元アプリの項目または計算式を指定します。

  • 集計先項目
  • 項目(計算式)
    • 計算式に集計先アプリの項目を「#フィールドコード」で指定可能
      • 計算式例:「#$id」、「#文字列&数値」、「IF(#文字列,数値)」
  • 集計
    • sum:合計
    • max:最大値
    • min:最小値
    • count:カウント
    • c_uniq:一意の値の個数をカウント
    • first:先頭レコードの値
    • firsta:有効な値を持つ最初のレコード
    • last:最終レコード
    • lasta:有効な値を持つ最後のレコード
  • 初期化: 集計元レコードが無い場合に「0」を設定
  • 編集可: 集計先項目を編集可能に設定
  • 変数として、下記が利用できます。
    • $sno: 集計元レコードの処理番号

2023-10-06_11h45_28.png

テーブル項目:集計先アプリのテーブル項目と集計内容

集計先テーブルを設定する場合に指定します。

  • 有効: チェックして、テーブルを選択します。

  • To テーブル: 対象テーブルを選択します。

  • From テーブル: "-----":レコード または、テーブルを選択します。

  • 集計行削除不可: アプリ集計プラグインで追加したテーブル行の削除ボタンを非表示

  • 識別ID非表示: 識別IDに指定した項目を非表示

  • 集計: レコード取得後に集計してテーブルに設定する場合に、チェック

    • 「集計」をチェックすると、集計キー、集計順、ソートキー、ソート順の入力欄を表示
    • 複数アプリから1テーブルに集計する場合、最初に指定された集計方法が有効になる
  • ループ配列: テーブル行のループ処理用に配列を指定します。

    • 数値を指定すると、指定回数分のループ配列と同等になります。
    • ループ配列指定例: ARRAY("A","B","C")
    • 数値指定: 3 -> ARRAY(0,1,2) を同等
  • 出力条件: 計算式の結果で、テーブル行を出力するか制御できます。

    • From テーブル 指定時は、From テーブルの行単位の計算となります。
  • チェック: 設定項目を有効にします。無効の場合は、初期値を設定します。

  • 識別ID: レコード識別用の項目を指定します。チェックすると計算式に $id が自動セットされます。

  • 編集可: チェックすると、集計先項目を編集可能とします。

  • 項目(計算式): 集計項目の計算式と同様です。

  • 集計キー: 集計キーを番号で指定

    • 項目タイプは、数値、文字列、ドロップダウン、ラジオボタンを指定のこと
    • チェックボックス、複数選択、ユーザー選択等は、値が配列で集計・比較できません。
  • 集計順: asc: 昇順, desc: 降順

  • 集計

    • sum:合計
    • max:最大値
    • min:最小値
    • count:カウント
    • c_uniq:一意の値の個数をカウント
    • first:先頭レコードの値
    • firsta:有効な値を持つ最初のレコード
    • last:最終レコード
    • lasta:有効な値を持つ最後のレコード
  • ソートキー: 集計後のソートキーを番号で指定

  • ソート順: asc: 昇順, desc: 降順

  • 変数として、下記が利用できます。

    • $sno: 集計元レコードの処理番号
    • $rno: テーブルの行カウンター
    • $val: ループ配列のループ値

2021-08-15_21h10_29.png

2021-08-15_21h11_46.png

テーブル項目の集計例

活動履歴を対応者別に集計し、最新対応日時順にソートして、テーブルにセット

2021-08-15_19h00_38.png

集計元アプリへの反映指定時の設定

  • 集計元アプリに値を反映する場合、項目(計算式)にレコードID($id)または「値の重複を禁止する」を設定した文字列または数値項目を指定します。
  • 指定されたレコードID またはキー項目は、集計元アプリ更新時にキーとして使われます。

2021-05-30_00h59_09.png

反映:集計元アプリの項目と設定値

集計元アプリに、アプリ集計の結果を反映させる場合に指定します。

※設定例

  • レコード更新反映条件: レコード更新時、計算結果が true の場合m集計元アプリに反映先項目を反映
  • チェックボックス項目「請求」に、"済" を設定
  • 請求番号にレコードIDを設定

2022-05-27_09h43_56.png

※集計先アプリのテーブル項目に、$id、レコード番号、ユニーク項目の指定がなかった場合、
アプリ集計後に対象行を削除してもレコード保存時に、アプリ集計対象レコードすべてに反映されます。

請求書アプリ 集計元反映例

プラグイン設定で、集計元アプリに請求済み・請求番号などを反映できます。

  • 「アプリ集計」ボタンクリックで請求対象レコードをテーブルに設定
  • 「保存」ボタンクリックで、集計元のレコードに請求済み・請求番号などを反映
2019-02-07_14h12_28.png

プラグイン設定例

  • 対象アプリ条件に、チェックボックス請求項目が「済」以外を指定
  • テーブル項目欄の受注ID に、管理ID

    集計元アプリ更新時にキーとして使われます。
  • 反映欄に、
    • チェックボックス請求項目に ARRAY("済")
    • 請求番号に、請求番号
2019-02-07_14h42_01.png

プラグイン設定のダウンロード

  • プラグイン設定をダウンロードできます。
  • 設定変更している場合は、変更後の設定が対象です。
  • ブラウザ IE については、プラグイン設定のダウンロードの動作対象外です。
2018-12-25_20h55_45.png

プラグイン設定のアップロード

  • プラグイン設定をアップロードできます。
  • ブラウザ IE については、プラグイン設定のアップロードの動作対象外です。
2018-12-25_20h56_09.png

注意事項

  • 既に、JavaScript によるカスタマイズを行っているアプリの場合、処理が競合して、エラーになる場合があります。その場合は、該当するアプリでプラグインの使用を中止してください。
1
1
55

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?