計算式によって初期値を求める
最終更新日: 2020年3月14日
R8 | R9
次の例は、ラジオボタンの項目の初期値に式を記述した例です。複数の条件を満たすことができれば "1" をセットします。そうでなければ null をセットし、ラジオボタンを未選択状態とします。三項演算子を使うことで1行で記述しています。
以下の例は繰り返し項目from_addressの文字列を結合した中に "info@jasminesoft.co.jp" が含まれ、かつ項目user_accountが空白でなく、かつ項目user_accountに "@jasminesoft.co.jp" が含まれておらず、かつ項目subjectに "添付ファイル" という文字列が含まれていないという条件をすべて満たした場合は 1 を初期値とする。そうでなければ null すなわち初期値は設定しない、というものです。
関連するページ
チェックボックスは複数の値を配列として管理しています。
そのため式中に関数を用いる場合は配列の値を返すようにしてください。
単一の値を返す場合であっても ARRAY_INT 関数などで括ってください。
権限によってチェックボックスの初期値を変える例を示します。
関連するページ
モデル model1 の項目 item1 はモデル参照であり、参照先モデル model2 が複合主キー pkey1, pkey2 となっている構成を想定します。
設計情報の上では "item1" という項目は一つですが、Wagbyの内部では二つの値を保持するフィールド(値を保持する入れ物)が用意されています。フィールドの名前は "item1_pkey1", "item1_pkey2" となっています。
この "item1" に初期値を設定する場合はスクリプトを利用します。スクリプトの「ヘルパ > 登録」および「ヘルパ > 更新」のタイミングで、値をセットしてください。例えば次のようなスクリプトになります。
ラジオボタンへの適用例(三項演算子との組み合わせ)
AND(
ISINCLUDE(JOIN(${from_address}), "info@jasminesoft.co.jp"),
NOT(ISBLANK(${user_account})),
NOT(ISINCLUDE(${user_account}, "@jasminesoft.co.jp")),
NOT(ISINCLUDE(${subject}, "添付ファイル"))
) ? 1: null
チェックボックスへの適用例
IF(HASMODELPERMISSION("sinsei","modelA"),
ARRAY_INT(1,2,3,4),
ARRAY_INT(1)
)
主キーが複合キーのモデルを参照する項目
model1.item1Pkey1 = (pkey1の型に準拠した値);
model1.item1Pkey2 = (pkey2の型に準拠した値);