概要
1.【Basic】オーダーシートと利用ユーザー選択について
オーダーシートについて、活用方法や利用の流れなどをご紹介いたしました。
あわせて、お問い合わせをよくいただく、利用ユーザー選択についてもご紹介させていただきました。
2.【Advanced】入力チェック機能の紹介
今回はモデル構築の応用編ということで、「痒い所に手が届く 入力チェック」をテーマに活用法をご紹介させていただきました。
※内容は、開催当時のものとなります。
1.【Basic】オーダーシートと利用ユーザー選択について
【内容】
オーダーシートを利用することでできることとして、以下の設定方法を紹介しました。
・ユーザ/グループの表示順を設定
・ユーザ/グループの表示名を設定
・特定のユーザ/グループを選択できないように設定
・追加情報の表示を設定
・外部メール通知のメールアドレスを設定
・Slack/LINE WORKS/ChatWorkへの通知先設定
あわせて利用ユーザー選択機能の利用シーンについてもご紹介しました。
※今回はGoogle Workspace版で説明しております。Microsoft365版、Gluegent Flow Plusをご利用のお客様は【参考】のリンク先をご覧ください。
【設定】
●オーダーシート
オーダーシートに必要な情報を記載します。
・ユーザ/グループの表示順を設定
・ユーザ/グループの表示名を設定
→表示したい順番にオーダーシートへ記載してください。
・特定のユーザ/グループを選択できないように設定
→<selectable> 欄に「no」を記載します。
・追加情報の表示を設定
→表示したい項目を列に追加し、内容を記載します。
・外部メール通知のメールアドレスを設定
→<EXTERNAL_EMAIL>欄に外部メール通知用のメールアドレスを記載します。
・Slack/LINE WORKS/ChatWorkへの通知先設定
→<SLACK>、<LINE>、<Chatwork>の該当する欄にIDを記載します。
重要:
Slack/LINE WORKS/ChatWorkとの連携機能をご利用いただくには別途お申し込みが必要となります。
●ドメイン設定画面
①「オーダーシートを指定する」で、作成したオーダーシートを設定します。その後、②「グループキャッシュ更新実行」でオーダーシートをGluegent Flowに反映させます。
●利用ユーザー選択設定シート
Gluegent Flowを利用するユーザーのメールアドレスを記載してください。
●利用ユーザー選択設定画面
設定画面より①「利用ユーザー選択」をクリックし、②「利用ユーザー選択を行う」にチェックを入れます。その後、③「利用ユーザー選択設定シート」を選択し、④「取り込む」ボタンをクリックします。
【動画】
【参考】
・オーダーシートとは
・組織ツリーの並び順を変更する
2.【Advanced】入力チェック機能の紹介
【内容】
今回は「痒い所に手が届く 入力チェック」をテーマに「入力チェック」にてスクリプトを使った例をいくつか紹介いたしました。
(カスタムバリデーションチェック)
・ある条件でのみ特定の項目を必須入力としたい
・郵便番号形式チェック
・日付開始・終了チェック
(項目表示制御)
・複数項目表示制御
重要:
ここで使用するスクリプトについては、サポート対象外となります。
【設定画面】
スクリプトは「入力チェック」にて設定を行います。
入力フォームを追加後、個別設定枠にスクリプトを入力していきます。
【紹介したスクリプト】
例1:ある条件でのみ特定の項目を必須入力としたい
//販売区分が直接販売の場合
if (${販売区分} == "直接販売") {
//単価が入力されていない場合はエラー
if (${単価} === undefined || ${単価} == "" || ${単価} == 0) {
return false;
}
//代理店単価が入力されている場合はエラー
if (!(${代理店単価} === undefined || ${代理店単価} == "" || ${代理店単価} == 0)) {
return false;
}
//販売区分が代理店販売の場合
} else if (${販売区分} == "代理店販売"){
//単価が入力されている場合はエラー
if (!(${単価} === undefined || ${単価} == "" || ${単価} == 0)) {
return false;
}
//代理店単価が入力されていない場合はエラー
if (${代理店単価} === undefined || ${代理店単価} == "" || ${代理店単価} == 0) {
return false;
}
//販売区分が直接/代理店販売の場合
} else {
//単価が入力されていない場合はエラー
if (${単価} === undefined || ${単価} == "" || ${単価} == 0) {
return false;
}
//代理店単価が入力されていない場合はエラー
if (${代理店単価} === undefined || ${代理店単価} == "" || ${代理店単価} == 0) {
return false;
}
}
//エラーなし!
return true;
例2:郵便番号形式チェック
//郵便番号の形式を決めている(正規表現)
var pattern = /^\d{3}\-\d{4}$/;
//形式に適合しているかをGluegent Flowに伝えている
return pattern.test(${郵便番号});
例3:日付開始・終了チェック
//入力されていない場合はチェックしない(スキップ)
if (${開始日} === undefined || ${開始日} == "") {
return true;
}
if (${終了日} === undefined || ${終了日} == "") {
return true;
}
//日付入力内容を日付型に変換
var from = ${開始日}.split("/");
var to = ${終了日}.split("/");
var fromDate = new Date(Number(from[0]), Number(from[1]) - 1, Number(from[2]));
var toDate = new Date(Number(to[0]), Number(to[1]) - 1, Number(to[2]));
//秒数によって大小チェック
if (fromDate.getTime() > toDate.getTime()) {
return false;
}
//開始日が終了日以前なのでOK
return true;
例4:複数項目表示制御
//「非表示にしたい」項目のリストを準備
var results = [];
//交通手段が車でない場合は、車種は非表示
if (${交通手段} != "車") {
results.push("車種");
}
//交通手段が公共機関でない場合は、交通機関名は非表示
if (${交通手段} != "公共機関") {
results.push("交通機関名");
}
//性別が女性でない場合は、婦人科検診希望を非表示
if (${性別} != "女性") {
results.push("婦人科検診希望");
}
//「非表示にしたい」項目のリストをGluegent Flowに伝える
return results;
【動画】
【参考】
・モデル編集 入力チェックに関する設定
・モデル編集 複数項目間チェック / 複数項目必須チェック
・モデル編集 項目表示制御
・2022年9月レクチャー会 - 2.既存機能のご紹介
質問と回答
Q.入力チェックの項目表示制御の例はどこに載っていますか?
A.入力チェックの項目表示制御の例はこちらに記載しておりますので、ご参照ください。
モデル編集 項目表示制御
Q.「表示/非表示」と「必須/必須でない」の関係性を教えてください。
例:非表示かつ必須のフィールドはどうなる?
A.「必須」にした入力フォームが「非表示」になっている場合、必須チェックは実行されません。(※スクリプトを用いない場合)
Q.参考にしたいので先ほどのスクリプトのサンプルデータをいただくことはできますか?
A.本ページにて公開しておりますので、ご参照ください。
Q.要望となり恐縮ですが、チャットツールへの通知についてTeamsへの対応予定はありますか?
A.Gluegent FlowとMicrosoft 365との連携につきましては、検討と実装を進めています。こちらにつきましては、今後のリリースをお待ち下さい。
Q.以前、入力チェック機能で非表示で必須設定をしていると、エラーで進めなくなったことがあったのですが。
A.入力チェックでカスタムバリデーションを設定している際、非表示項目も必須チェック対象にしていると、エラーが表示される場合がございます。この場合、非表示の場合はチェック対象外とするようにスクリプトを構築する必要がございます。
レクチャー会にて使用したスライドは以下よりダウンロードできます。