※おことわり
2025年4月時点の情報です。プリザンターのバージョンは 1.4.14.0 です。Google Chrome でやっています。
javascript,html,cssともに初心者です。調べながら、やってみながら、きっとこうすればいいんだ!という感じで書いていますので、間違っている、または効率的な書き方ではない可能性が大いにあります。間違ってるよ!とか、こうしたほうがいいよ!ということがありましたら、コメント等で教えていただけると大変ありがたいです。
1.はじめに
プリザンターの大型アップデート、ドラッグ&ドロップでアプリが作れるようになるなど、数々の新機能が追加され、世の中がざわついていますが、私のプリザンターは現時点でまだアップデートしていないので、地道に計算式拡張についてつらつらやるシリーズ。。。
今回は、プロセスにも計算式を入力できることろがあったので、おっ!と思ってさっそくやってみました。
2.プロセスで計算式を使って値を入力
(1)やりたいこと
以下のプロセスを実装します。
①「申請」ボタンをクリック
②「状況」が「申請中」になる
②「申請日」が入力される
③「申請日」が15日以前であれば「期限」に月末日が入力され、16日以降であれば「期限」に翌月末日が入力される。←ここで計算式(拡張)をつかう
(2)エディタの設定
項目 | 表示名 | 備考 |
日付A | 申請日 | 書式:年月日 |
日付B | 期限 | 書式:年月日 |
状況 | 状況 | 100,起票中,起,status-new 200,申請中,申,status-inprogress 900,完了,完,status-closed 910,保留,留,status-rejected |
(3)プロセスの設定
[プロセス]タブで「新規作成」して「申請」という名前のプロセスを設定します。
[全般]タブで以下の指定をします。

[データの変更]タブで以下の設定をします。
①変更種別[日付の入力]で「申請日」に現在の日付が入力される設定をします。
②変更種別[値の関数操作]で「期限」に計算式を入力します。
現在の日付が 15以下の場合は当月月末日、16以上の場合は翌月月末日が入力されるように、以下の計算式を設定します。
$IF($DAY($TODAY()) <= 15, $EOMONTH($TODAY(),0), $EOMONTH($TODAY(),1))
$TODAY()の部分は 項目「申請日」でもいいと思います。
$IF($DAY(申請日) <= 15, $EOMONTH(申請日,0), $EOMONTH(申請日,1))

(4)完成イメージ
これで完成。「申請」ボタンをクリックすると、状況が「申請中」となり、申請日に当日日付、期限には、今日が4月12日なので、4月の月末日付が入りました。

プロセスでの計算式はいろいろと、使えそうですね!
3.プロセスの「一括処理を許可」で計算式を利用
(1)プロセスの「一括処理を許可」
プロセスの計算式を使って、あまりやったことのない「一括処理を許可」を使ってやってみようと思いました。
プロセスを設定する際に「一括更新を許可」にチェックを付けると、プロセスの「ボタン名」が一覧画面の一括更新の部分で選択できるようになり、「実行」ボタンで設定した処理が実行されます。
一括処理を許可
チェックを付けると、一覧画面で複数のレコードにプロセスを実行することができます。
チェックを付けたプロセスのうちアクセス権限がある全てのプロセスが表示されます。
「一括処理を許可」って要するに、一括更新と同じ?ようなもの?ですよね。
とくかくやってみましょう。
(2)エディタの設定
項目 | 表示名 | 備考 |
日付A | 生年月日 | 書式:年月日 |
数値A | 年齢 |
(3)プロセスを設定
[プロセス]タブで「新規作成」してプロセスを設定していきます。
[全般]タブで以下の設定としました。「一括処理を許可」にチェックを入れます。
表示名は「年齢更新」としました。これが一覧画面の一括更新欄にでてくる名前になります。

次に [データの変更] タブで計算式を設定します。
[変更種別] を「値の関数操作」とします。
関数を入れる欄が表示されるので、計算式(拡張)と同様に関数を入力します。
[項目] (出力先)は「年齢」を指定し、$DATEDIF で年齢を算出する計算式を入力します。
$DATEDIF(生年月日, $TODAY(), "Y")

「追加」ボタンでプロセスの設定を完了し、「更新」ボタンで変更を保存します。
(4)「一括処理」をやってみる。
さて、一覧画面を見てみます。
下のほうに「(一括処理を選択)」というのがあります。ここからプロセスで設定した「年齢更新」を選択します。

様子が変わりましたね。更新したいレコードにチェックを入れ「実行」ボタンをクリックします。

年齢が計算されて、値が変わりましたね!
「一覧モード」ボタンをクリックすると、いつもの一覧画面に戻ります。

一括更新自体を使ったことなかったのですが、使い方はこんな感じでいいのかなあ。計算式を使った一括更新ができるのは、便利ですね!
4.さいごに
なんとなんと。便利じゃぁないですか!
これまではプロセスの「OnClick」で実行していたスクリプトや、サーバースクリプトを使ってやっていたものが、プロセスの計算式でだいぶカバーできちゃうんじゃないですか?
お読みいただきありがとうございました!
5.参考サイト、記事
プリザンター公式サイト
テーブルの管理:プロセス
テーブルの管理:計算式(既定)
テーブルの管理:計算式(拡張)
計算式(拡張)の関数一覧
計算式(拡張)の関数で使用する論理式
テーブル機能:レコードの一括更新
内部リンク:計算式
【pleasanter】計算式(規定・拡張)についてまとめてみた
【pleasanter】計算式(拡張)活用サンプル①~リマインダーの日付として利用する~
【pleasanter】計算式(拡張)活用サンプル②~入力チェックに利用する~
【pleasanter】計算式(拡張)活用サンプル③~タイトルを自由自在に~
【pleasanter】計算式(拡張)活用サンプル④~フィルタ項目として利用する~
【pleasanter】計算式(拡張)活用サンプル⑤~プリザンターでeラーニングテスト~
もう読みましたか?プリザンターの概要、インストール方法から基本操作方法、導入事例、サンプル等役に立つ情報が満載でしたよ!
コメント