計算式プラグインで、テーブルを初期設定できるようになりました。
新規レコード追加時に固定データを用意するなどの用途に利用できます。
※計算式プラグイン Ver.48以降でサポート
※参考 rex0220 計算式プラグイン テーブル初期設定(DIC関数版)
概要
テーブルの計算式に、テーブル文字列データを指定することで、レコード追加時のテーブル設定が出来ます。
-
JSON 文字列: レコード追加時のテーブルの初期値を設定
- 引用符は、計算式プラグインの都合上、「"」の代わりに「'」を使用
- 例:"[{'日付':'2022-01-19','ドロップダウン':'sample2','数値':'393'},
{'日付':'2022-01-03','ドロップダウン':'sample1','数値':'77900'}]" - ここで指定するJSON文字列は、OTVAL 関数で作成可能。
-
編集: チェックが無しで、テーブル行の追加・削除ボタンを非表示
-
非表示: チェックすると、テーブル全体を非表示
テーブル文字列データのつくり方
既存のレコードから計算式ツールで、OTVAL 関数を実行するのが簡単です。
- 初期データ用のレコード作成
- 計算式プラグイン設定
- 計算式ツールで、OTVAL 関数をくみたてて実行
- 実行結果の文字列をテーブルの計算式に設定
初期データ用のレコード作成
既存レコードでもいいですし、一時的にアプリを複製してレコードを作成してもOKです。
計算式プラグイン設定
計算式プラグイン設定で、「ツール」をチェックして、「保存」します。
計算式ツールで、OTVAL 関数をくみたてて実行
それでは、計算式ツールを使ってみましょう。
テーブル全データの処理
計算式を入力して、「計算」ボタンクリックで実行すると、計算結果が結果欄に表示されます。
-
計算式:OTVAL(テーブル,TPOPT("QMARKS","'"))
- 「テーブル」は、フィールドコードを指定
- TPOPT("QMARKS","'") は、引用符を「'」にする指定
-
計算結果:「exec:」の次の文字列が計算結果です。
[{'番号':'1','区分':'A','数値':''},{'番号':'2','区分':'B','数値':''},{'番号':'3','区分':'C','数値':''},{'番号':'4','区分':'D','数値':''},{'番号':'5','区分':'E','数値':''}]
テーブルの一部項目のみを指定
テーブルの全項目だと、通常の初期値でよい項目も含まれて、データ量が多く扱いにくいので、必要な項目のみに絞り込みます。
-
計算式: OTVAL(テーブル,TPOPT("QMARKS","'"),TPOUT(番号,区分))
- TPOUT(番号,区分) は、出力項目の指定
-
計算結果:
[{'番号':'1','区分':'A'},{'番号':'2','区分':'B'},{'番号':'3','区分':'C'},{'番号':'4','区分':'D'},{'番号':'5','区分':'E'}]
- テーブル項目の確認方法
計算式ツールの左上に、項目一覧が表示されます。
- フィールドコードの入力1
項目欄をダブルクリックすると、計算式欄にフィールドコードが入力されます。
- フィールドコードの入力2
: コロンを入力すると、項目一覧を表示
クリックすると、フィールドコードが入力されます。
- フィールドコードの入力3
OTCSV 関数を実行して、ヘッダー部の項目名をコピペ
OTCSV : テーブルをCSV文字列に変換する関数 - 計算式:OTCSV(テーブル,TPOPT("QMARKS",""))
- TPOPT("QMARKS","") で、引用符「""」なしを指定
- 計算結果:番号,区分,数値
実行結果の文字列をテーブルの計算式に設定
計算式に"" ダブルクォーテーションを入力して、テーブル初期データ用文字列をコピペします。
プラグイン設定を「保存」して、本番環境に反映させます。
- テーブルの計算式:
"[{'番号':'1','区分':'A'},{'番号':'2','区分':'B'},{'番号':'3','区分':'C'},{'番号':'4','区分':'D'},{'番号':'5','区分':'E'}]" - 番号、区分の計算式
- 計算式を指定せず、チェックのみ行うと、入力不可になります。
レコード追加画面
初期データが表示され、番号と区分が入力不可になります。