キンコミ kintone user community

みんなの投稿

Kintoneアプリ作成担当:半年と少し。
まだまだ初心者ですが、複数のアプリを作成するにつれて少しづつ慣れてきました。

現在、小口発注の発注書~支払までの購買管理ツールの作成を行っております。

購買透明性確保の観点から、
①担当者と第一承認者と最終承認者が同一は不可のため、3人が同じの時はエラーを返す(保存不可)ようにしたい
②また、第一承認者と最終承認者が同一人物の場合は承認スキップさせるため、承認スキップの場合は担当者と最終承認者が同じならエラーを返す(保存不可)にしたいと思っています。

担当者  第一承認者  最終承認者
 Aさん   Aさん   Aさん    ➡エラー

担当者  第一承認者  最終承認者
 Aさん  スキップ   Aさん    ➡エラー

担当者  第一承認者  最終承認者
 Aさん   Bさん   Cさん    ➡OK

担当者  第一承認者  最終承認者
 Aさん  スキップ   Cさん    ➡OK

担当者  第一承認者  最終承認者
 Aさん   Bさん   Aさん    ➡OK

設定方法を教えていただけないでしょうか。

どうぞよろしくお願いいたします。

💡記載いただくと良いポイント
・ご契約中のコース :スタンダード
・TIS様の各種プラグイン導入可能
・JS、CSSは社内規定により使用できません。
・無料のプラグインであれば導入検討可能

1件のコメント (新着順)

キン小判さん、こんにちは!

はじめに確認させてください。
プロセス管理機能をご利用でしょうか?
https://jp.cybozu.help/k/ja/user/app_settings/process.html


はい プロセス管理機能を利用しております!
担当者申請→第一承認者へ→第一承認、第一承認者は最終承認へ申請→最終承認者承認 となっております。第一承認者をスキップする場合もあります。

よろしくお願いいたします。

ありがとうございます!!

自己承認させたくないというのは、どの会社さんでも ありえそうですよね。
みなさん どう実現されているのか気になります。

ちょっと思いついた案があるので、自分のkintone環境で試してから また返信いたしますね。

自己承認させない というのがここ数年で強化されてきまして・・・
色々関数などを織り交ぜて見たり、TISさんの条件分岐プラグインをいじってみたり・・・してはみましたが、私の理解不足でなかなかゴールにたどり着けていません。
お気づきの案が成功することを待っています!
何卒、どうぞよろしくお願いいたします。

案を2つ考えてみました!
キン小判さんの組織規模や風土が分かりかねるのですが、なにか参考になると嬉しく思います🙏

===============

概要

■1案目:申請時に承認者を選ぶ
・事前準備
 購買管理アプリ を作成します。
・操作イメージ
 申請者は、購買管理アプリのレコードを作成し、第一承認者・最終承認者を手動選択します。選択した承認者が申請者本人の場合、エラーとなり保存できません。

■2案目:申請時に承認者を自動設定する
・事前準備
 承認者管理アプリ と、購買管理アプリ を作成します。承認者管理アプリには、申請者ごとの承認者情報をレコード登録しておきます。
・操作イメージ
 申請者は購買管理アプリのレコードを作成します。レコード作成時、申請者に紐づく第一承認者・最終承認者を、承認者管理アプリから自動設定します。

===============

設定例

■1案目

購買管理アプリ
 フォーム設定
  ・申請者(ユーザー選択)(初期値=ログインユーザー)
  ・申請者_ログイン名(文字列(1行))
  ・第一承認者(ユーザー選択)
  ・第一承認者_ログイン名(文字列(1行))
  ・最終承認者(ユーザー選択)
  ・最終承認者_ログイン名(文字列(1行))
  ・申請者チェック(文字列(1行))
   → 計算式に以下を設定する。
IF(
申請者_ログイン名 = 第一承認者_ログイン名,
"NG: 申請者と第一承認者が同一です。",
IF(
AND(
第一承認者_ログイン名 = "",
申請者_ログイン名 = 最終承認者_ログイン名
),
"NG: 申請者と最終承認者が同一です。",
"OK"
)
)

 kintone ユーザー/組織/グループ属性取得プラグイン
  ・基準フィールド:申請者
  ・取得属性:ログイン名
  ・属性値表示フィールド:申請者_ログイン名
   → 第一承認者・最終承認者も、上記3点のとおり設定する。

 kintone 条件分岐処理プラグイン 保存時チェック
  ・保存時チェック条件:申請者チェックにNGを含む

 プロセス管理
  ・各プロセスの作業者に、作成者・第一承認者・最終承認者を指定する。

■2案目

承認者管理アプリ
 フォーム設定
  ・申請者_ログイン名(文字列(1行))(値の重複を禁止する)
  ・第一承認者(ユーザー選択)
  ・最終承認者(ユーザー選択)

 レコード登録
  ・申請者ごとの承認者情報をレコード登録する。

購買管理アプリ
 フォーム設定
  ・申請者(ユーザー選択)(初期値=ログインユーザー)
  ・申請者_ログイン名(文字列(1行))
  ・第一承認者(ユーザー選択)
  ・最終承認者(ユーザー選択)

 kintone ユーザー/組織/グループ属性取得プラグイン
  ・基準フィールド:申請者
  ・取得属性:ログイン名
  ・属性値表示フィールド:申請者_ログイン名

 kintone 条件分岐処理プラグイン 自動ルックアップ
  ・参照元アプリ:承認者管理アプリ
  ・取得するレコードの条件:参照元アプリ.申請者_ログイン名=このアプリ.申請者_ログイン名
  ・取得するフィールド:第一承認者、最終承認者

 プロセス管理
  ・各プロセスの作業者に、作成者・第一承認者・最終承認者を指定する。

ありがとうございます!!
第一案で早速やってみました。
フォームの設定とTISのグループ属性取得プラグインで、ユーザーを文字列で抽出するところまでは、すでに想定してやっていたので、結局は「申請者チェック」フィールドに記載する関数の書く力がなかったというか・・・お恥ずかしい限りです。

きちんと、担当者と最終承認者が同一人物であっても、間に第一承認者の別人が入っていたらOKと認識されましたので、これで前に進めます。

本当に本当に本当に!ありがとうございました!

そういっていただけると嬉しいです!!
うまくいったようでヨカッタです~☺

ぜひまた いろいろ情報交換させてください!