スクリプト自動生成機能を使ってスクリプトを生成するためには指示文(プロンプト)を正しく入力する必要があります。
ここでは、それぞれのスクリプト設定箇所ごとにプロンプトの入力例を紹介します。
重要:
自動生成されるスクリプトは一定ではありません。そのため、ここで紹介したプロンプトを使用して生成されるスクリプトは異なる場合があります。(ここで紹介されているスクリプトは2025年3月または4月時点で出力されたものです)
ボタン表示切替
ボタン表示切替には「有効・無効を切り替える」と「表示・非表示を切り替える」の 2 種類があります。
条件に対し、true が返された場合は、ボタンが有効化または表示されます。false が返された場合はボタンが無効化または非表示になります。
プロンプトを入力する際は、「◯◯だったら有効にする」「◯◯ならば無効にする」「◯◯の時は表示する」「◯◯で××だったら非表示」のように記述することで期待するスクリプトが生成されます。
入力フォームの値と金額など数値との比較で有効・無効 / 表示・非表示を切り替える
もし金額が10万円以上ならば無効にする
if (${金額} >= 100000) {
return false;
} else {
return true;
}
もし金額が10万円以上ならば表示しない
if (${金額} >= 100000) {
return false;
} else {
return true;
}
入力フォームの内容が特定のキーワードや選択肢と一致することで有効・無効 / 表示・非表示を切り替える
選択欄が何かしらチェックされてたら有効にする。
if (${選択欄} !== undefined) {
return true;
} else {
return false;
}
申請種別がチェックされたらボタンを表示する。
チェックされなかったらボタンを表示しない。
if (${申請種別} !== undefined) {
return true;
} else {
return false;
}
リスト1の値が新規以外の場合有効にする
if (${リスト1} !== "新規") {
return true;
} else {
return false;
}
複数の条件を指定し、一部またはすべて満たすことで有効・無効 / 表示・非表示を切り替える
在庫数が0であり、注文ステータスが発注済である場合、有効にする。
if (
${在庫数} === 0 &&
${注文ステータス} === "発注済"
) {
return true;
} else {
return false;
}
発注金額が予算額を超えており、承認ステータスが未承認である場合、無効にする。
if (
${発注金額} > ${予算額} &&
${承認ステータス} === "未承認"
) {
return false;
} else {
return true;
}
もし「分類」が「品質マニュアル・環境マニュアル」であり、なおかつ、「部署名」が選択されており、なおかつ、「新規改定選択」が「新規」または「改定」の場合、ボタンを有効にする。
if (
${分類} === "品質マニュアル・環境マニュアル" &&
${部署名} !== undefined &&
(
${新規改定選択} === "新規" ||
${新規改定選択} === "改定"
)
) {
return true;
} else {
return false;
}
カスタムラベル
入力フォームの内容や計算結果や固定文字など、自由に表示できるため、様々な用途で使用されます。表示したい内容を return で表現するため、「◯◯を表示する」「◯◯を返す」のように記述します。
今日の日付を表示する
return new Date().toLocaleDateString();
金額が10万円以上ならば、署名を表示する
if (${金額} >= 100000) {
return ${署名};
}
申請日から3か月後の第二土曜日の日付を返す
var applicationDate = new Date(${申請日}); var threeMonthsLater = new Date(applicationDate.getFullYear(), applicationDate.getMonth() + 3, applicationDate.getDate()); var secondSaturday = new Date(threeMonthsLater.getFullYear(), threeMonthsLater.getMonth(), 8); while (secondSaturday.getDay() !== 6) { secondSaturday.setDate(secondSaturday.getDate() + 1); } var year = secondSaturday.getFullYear(); var month = String(secondSaturday.getMonth() + 1).padStart(2, '0'); var day = String(secondSaturday.getDate()).padStart(2, '0'); return year + '-' + month + '-' + day;
「メンバー/グループ」タイプのフォームで選択したメンバー/グループ数を表示する場合
大賞推薦者.mailがundefinedか空欄の場合は0を表示する。
大賞推薦者.mailを","で区切った数を表示する。
if (${大賞推薦者.mail} === undefined || ${大賞推薦者.mail} === ""){
return 0;
}
return ${大賞推薦者.mail}.split(",").length;
計算式(カスタムフォーマット)
入力フォームを使った計算結果を表示します。
計算式の固定フォーマットや関数フォームでは設定できない複雑な計算式を定義したい場合にカスタムフォーマットを使用します。
金額1から金額5の合計を出す。未記入のものは除く。
let sum = 0;
if (${金額1} !== undefined) {
sum += ${金額1};
}
if (${金額2} !== undefined) {
sum += ${金額2};
}
if (${金額3} !== undefined) {
sum += ${金額3};
}
if (${金額4} !== undefined) {
sum += ${金額4};
}
if (${金額5} !== undefined) {
sum += ${金額5};
}
return sum;
数値1/数値2を出力する。未入力の場合は0を出す。数値2が0のときも0を出す。
if (${数値1} === undefined || ${数値2} === undefined) { return 0; } if (${数値2} === 0) { return 0; } return ${数値1} / ${数値2};
現地通貨1にレートを掛けて四捨五入したものを作成する。
現地通貨1から現地通貨5まで同じものを作成し、その合計を出す。未記入を除く。
{ let total = 0; const calculateValue = (currency, rate) = { if (currency === undefined || currency === null || currency === "") { return 0; } const value = Math.round(currency * rate); return value; }; const value1 = calculateValue(${現地通貨1}, ${レート}); if (value1 !== 0) { total += value1; } const value2 = calculateValue(${現地通貨2}, ${レート}); if (value2 !== 0) { total += value2; } const value3 = calculateValue(${現地通貨3}, ${レート}); if (value3 !== 0) { total += value3; } const value4 = calculateValue(${現地通貨4}, ${レート}); if (value4 !== 0) { total += value4; } const value5 = calculateValue(${現地通貨5}, ${レート}); if (value5 !== 0) { total += value5; } return total; }
カスタムバリデーション
条件に対し、false が返された場合はエラーメッセージを表示します。true が返された場合はエラーがないことを表します。必須や数値の最大値など、各入力フォームで設定できますが、複雑な条件や複数の入力フォームの内容次第でエラーにしたいといった場合に使用します。
金額の値が合計以上の場合エラーを出す。
if (${金額} >= ${合計}) {
return false;
} else {
return true;
}
申請種別という複数チェックでいちごにチェックが入っていない場合エラーを出す
if (!${申請種別}.includes("いちご")) {
return false;
} else {
return true;
}
在庫数が0であり、注文ステータスが発注済である場合、エラーを出す。
if (
${在庫数} === 0 &&
${注文ステータス} === "発注済"
) {
return false;
} else {
return true;
}
氏名かなにひらがな以外が含まれていたらエラー出す。
if (String(${氏名かな}).match(/[^ぁ-ゖ]/)) {
return false;
} else {
return true;
}
検証用科目コードに勘定科目コードが含まれているかをチェック
if (${検証用科目コード}.includes(${勘定科目コード})) {
return true;
} else {
return false;
}
人数が2より大きいならエラーを出す
if (${人数} > 2){
return false;
} else {
return true;
}
項目表示制御
単一チェックの項目表示切替では表現できない条件で入力フォームの表示・非表示を切り替える場合に使用します。
項目表示制御の特徴として「非表示」にする項目を返すため、プロンプトでは「〜ならば非表示にする」「〜の場合は表示しない」のように記述します。
もし金額が1万円以上ならば署名を非表示にする
let list = [];
if (${金額} >= 10000) {
list.push("署名");
}
return list;
年齢10が18歳未満であれば、セクション12を表示しない
let list = [];
if (${年齢10} < 18) {
list.push("セクション12");
}
return list;
スコア11が80点未満であれば、メッセージ13を非表示にする。 また、名前が田中なら移住地12を消す。
let list = [];
if (${スコア11} < 80) {
list.push("メッセージ13");
}
if (${名前} === "田中") {
list.push("移住地12");
}
return list;
経路設定
入力フォームの内容に応じて経路担当者を変更したり、経路のスキップ状況を設定します。
経路設定のスクリプトでは条件に対して経路設定の名前を返すため、プロンプトは「もし~ならば〇〇(経路設定の名前)を設定する」のように記述します。
もし部門が鮮魚のとき、鮮魚担当を設定する。
もし部門が惣菜のとき、惣菜担当を設定する。
もし部門が精肉のとき、精肉担当を設定する。
let list = []; if (${部門} === "鮮魚"){ list.push("鮮魚担当"); } if (${部門} === "惣菜"){ list.push("惣菜担当"); } if (${部門} === "精肉"){ list.push("精肉担当"); } return list;
もし申し送り事項が空欄の場合、「確認経路の担当者をクリア」を設定する。
もし申し送り事項が1文字以上ある場合、「確認経路の担当者設定」を設定する。
let list = [];
if (${申し送り事項} === undefined){
list.push("確認経路の担当者をクリア");
}
if (${申し送り事項} !== undefined && String(${申し送り事項}).length >= 1){
list.push("確認経路の担当者設定");
}
return list;
もし交通手段が「バス」または「電車」ならスキップありを設定する。それ以外はスキップなしを設定する。
let list = []; if (${交通手段} === "バス" || ${交通手段} === "電車"){ list.push("スキップあり"); } else { list.push("スキップなし"); } return list;
もしチェックボックス1がチェックされてないなら"スキップ外す"を設定する。
それ以外ならば"スキップつける"を設定する。
let list = [];
if (${チェックボックス1} === undefined){
list.push("スキップ外す");
} else {
list.push("スキップつける");
}
return list;