0
0

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 2025-09-23

確認ダイアログプラグインは、レコード更新・プロセス管理アクション時に確認ダイアログを表示するプラグインです。

概要

実行条件、ダイアログのタイトル・本文、通知内容を計算式で指定します。

確認ダイアログプラグインの特長
・レコード更新・プロセス管理アクション時に、確認ダイアログを表示
・レコード更新・プロセス管理アクション時に、リビジョンチェックを行う
・詳細画面・編集画面においてボタンクリックで概要ダイアログを表示
・3ヶ国語対応
・PC・モバイル対応

※ 注意事項
・プロセス管理のステータス名・アクション名をキーとして、設定情報を保存します。
・プロセス管理のステータス名・アクション名に同じ名称で複数の設定が行われていた場合、プラグイン側で区別できません。
・プロセス管理のステータス名・アクション名の変更を行った場合はプラグインの再設定。
言語ごとの名称の変更を行った場合は、プラグインの設定画面で「保存」が必要です。

※ Ver.3 変更点
・ボタンが他のプラグインと競合して、位置がズレる不具合対策
・プラグイン設定で、ボタンクリックの多言語対応の不具合対策

※ Ver.2 変更点
・複数のダイアログを表示する場合、「次へ」ボタンを表示
・OPT("NEXT","次へ",...) 指定でボタン表示を指定
・詳細画面、編集画面でボタン表示し、ボタンクリックでダイアログを表示する機能を追加

  • レコード更新時

2025-09-23_15h54_04.png

  • レコード更新時: 設定によりボタン名を変更できます

2025-09-23_17h23_13.png

  • 一覧編集時の表示

2025-09-24_02h15_40.png

  • キャンセルクリック時のエラー表示

2025-09-23_17h51_55.png

  • リビジョンチェックのエラー表示

2025-09-24_01h37_53.png

  • プロセス管理アクション時

2025-09-23_15h55_09.png

2025-09-23_16h31_43.png

  • 通知

更新結果を通知として表示します。
通知表示後に指定時間で自動消去します。

2025-09-23_16h12_21.png

2025-09-23_16h22_29.png

  • 詳細画面においてボタンクリックで概要ダイアログを表示

2025-09-26_16h24_30.png

  • 詳細画面においてメニュークリックで概要ダイアログを表示

2025-09-26_15h55_16.png

  • 編集画面においてボタンクリックで概要ダイアログを表示

2025-09-26_16h26_37.png

  • 編集画面においてメニュークリックで概要ダイアログを表示

2025-09-26_15h58_15.png

  • モバイル表示

2025-09-23_16h27_13.png

2025-09-26_16h00_12.png

確認ダイアログプラグイン設定

ダイアログを表示するレコード追加・更新イベントの指定、またはプロセス管理のアクション毎にダイアログ・通知の表示内容を指定します。

複数の設定を行った場合は、上から順番にダイアログ表示を行います。
途中でキャンセルが指定された場合は、即時エラーにします。

基本設定

  • プラグイン有効
  • 行制御
  • 共通CSS: 帳票に共通CSSを適用する
  • 共通CSS: 共通CSSの設定(印刷屋プラグインと同じ共通CSS)
  • 通知秒数: 通知を表示する秒数(0 は、自動消去なし)
  • メニュー表示: ボタンをメニュー表示する場合に選択
  • ダイアログ名: 識別用
  • 対象イベント: 保存イベント、プロセスアクション、ボタンクリックを選択
  • イベント: 対象イベント・アクション
  • ダイアログ・通知: 設定内容の概要

レコード追加・更新のみの例

2025-09-26_16h35_02.png

レコード追加・更新とプロセス管理・ボタンクリックの例

2025-09-26_16h30_24.png

イベントの画面別設定

2025-09-23_16h45_59.png

アクション別設定

2025-09-23_16h46_14.png

画面別ボタン設定

表示条件とボタン名を指定します。

2025-09-26_16h37_59.png

ダイアログ・通知設定

  • 多言語: 多言語設定時にチェック
  • 初期化: 設定行を新規作成時の1行に戻します
  • 追加: 設定行を追加
  • 概要: 識別用
  • 表示条件: ダイアログ・通知を表示する条件を計算式で指定
  • ダイアログ: ダイアログを表示する場合にチェック
  • アイコン: ダイアログに表示されるアイコンを選択
    • info, warning, success, error, question
    • error 指定時は、ダイアログ表示後エラー表示
  • タイトル: ダイアログのタイトルを計算式で指定
  • ダイアログ本文: ダイアログの本文を計算式で指定
  • 通知: 通知を表示する場合にチェック
  • 通知(OK): ダイアログでOKをクリック時に表示される通知を計算式で指定
  • 通知(Cancel): ダイアログでCancelをクリック時に表示される通知を計算式で指定

2025-09-23_16h48_27.png

  • ダイアログ・通知設定(多言語)
    • 「多言語」をチェックすると、タイトル・本文等に言語毎の設定欄が表示される

2025-09-23_16h48_52.png

  • ボタンクリック時のダイアログ・通知設定

2025-09-26_16h39_56.png

ダイアログ本文の指定例

ダイアログ本文には、単純な文字列やHTML文字列を指定できます。
また OPT 関数を使うとボタン名などを指定できます。

  • OPT 関数指定
    • HTML: ダイアログ本文
    • OK: OKボタンの表示(""指定時は、ボタン非表示)
    • CANCEL: CANCELボタンの表示(""指定時は、ボタン非表示)
    • NEXT: NEXTボタンの表示
  • レコード追加・更新時の例
    • $id(レコードID) があれば更新、無ければ追加と判定できます
IF($id,
  " 更新します",
  " 追加します"
)
  • OPT 関数指定例:ボタン名を指定
OPT(
  "HTML",
    IF($id,
      " レコードを更新します",
      " レコードを追加します"
    ),
  "OK", "保存",
  "CANCEL", "取消"
)
  • プロセス管理の指定例: アクションとステータス遷移を表示
EV_INFO("action")&": "&
EV_INFO("status")&" -> "&
EV_INFO("nextStatus")&
"<br><br>続行しますか?"
  • 印刷屋プラグインの見積書の指定を流用
    • 横幅、フォント等はダイアログに合わせて STYLE 指定
    • ヘッダー部、テーブル部などは共通CSSを適用
TAGS_HTML(
  TAG("style", ".rex0220-cfdialog-dialog { --kuc-dialog-max-width: 800px;} .rex0220-cfdialog-dialog-content {font-size:16px;}"),
  TAG("div", ATTR("class", "pcraft-inv-header"), "見積書"),

  TAG("div", ATTR("class", "pcraft-inv-info"),
    // header left
    TAG("div", ATTR("class", "pcraft-inv-left"),
      TAG("p", 宛名 & " 御中"), VTAG("br"),
      TAG("p", ATTR("class", "pcraft-inv-estimate-amount"), "見積金額:", TAG("span", FVAL(合計))),
      TAG("p", ATTR("class", "pcraft-inv-validity"),
        "見積の有効期限: " & DATE_ADD(見積日, 1, "month", "YYYY年M月D日")
      )
    ),

    // header right
    TAG("div", ATTR("class", "pcraft-inv-right"),
      TAG("p", "見積書番号: " & 見積番号),
      TAG("p", "発行日: " & DATE_FORMAT(見積日, "YYYY年M月D日")),
      TAG("p", "株式会社△△△△"),
      TAG("p", 担当者)
    )
  ),

  // table
  TABLE_HTML(見積明細,
    OPT("pref", "pcraft-inv-item-"),
    ARRAY("#", ROWNO(見積明細) + 1),
    商品名, 数量, 単価, 金額
  ),

  // summary
  TAG("div", ATTR("class", "pcraft-inv-summary-section"),
    // 備考
    TAG("div", ATTR("class", "pcraft-inv-remarks-section"),
      TAG("strong", "備考:"), VTAG("br"),
      TAG("span", HTML(FVAL(備考)))
    ),
    // 合計
    TAG("div", ATTR("class", "pcraft-inv-total-section"),
      TAG("table",
        TAG("tbody",
          TAG("tr", TAG("th", "小計"), TAG("td", FVAL(小計))),
          TAG("tr", TAG("th", "消費税 (10%)"), TAG("td", FVAL(消費税))),
          TAG("tr", TAG("th", TAG("strong", "合計")), TAG("td", TAG("strong", FVAL(合計))))
        )
      )
    )
  )
)
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?