条件分岐(ラベリングロジック)

AFormsで条件分岐を実現する方法を具体例を交えながら説明します。ラベルをぺたっと貼るのです。

AFormsでは自動見積で条件分岐を実現するのに「ラベリングロジック」という独自の方法を使っています。

基本的な考え方は「ユーザーが何か特別なことをしたら、ユーザーにぺたっとラベルを貼る」。そして「ユーザーに貼られているラベルを見て、フォーム部品をコントロールする」というものです。

実例で説明するのが分かりやすいと思いますので、例を挙げていきます。

もくじ

例1:特定の選択肢を選んだユーザーにだけ、後の項目で追加の選択肢を提供したい

たとえば、DELLのようなBTOパソコンのカスタマイズフォームで、Windows10 Proを選んだユーザーだけがメモリを32GB以上にできる、というようなロジックです。

この場合、OSの選択の際に、Windows10 Proが選ばれたらユーザーに「pro-edition」というラベルを貼りつけるようにします。そして、メモリの選択の際に、「pro-edition」ラベルが付いてい場合だけ32GBのメモリを選べるようにします。

実際にこの形でフォームを作るには、Wondows10 Proの選択肢の「ラベル」に「pro-edition」と記入し、メモリ32GBの選択肢の「必要ラベル」にまた「pro-edition」と記入します。

例2:見積金額が一定額以上のユーザーには値引きしたい

この場合は「料金監視項目」を使います。
料金チェッカー項目は、見積金額を監視していて、それが指定した条件を満たしている場合にラベルを貼りつける部品です。
たとえば、見積金額が10万円以上なら「large-price」ラベルを貼りつける、というようなことができます。

特定のラベルが付いているときだけ見積に明細行を追加するには「自動項目」を「必要ラベル」付きで使います。
たとえば、名前を「値引き」、金額を「-5000円」、必要ラベルを「large-price」とすると、「large-price」ラベルが貼られたユーザーにだけ、値引き名目で-5000円の明細行を追加できます。

ラベルと部品

AForms2.1.0時点の情報です。

ラベルを貼るのに使える部品

なお、「ラベル」欄にラベルを2つ以上書いた場合、それらすべてがユーザーに貼られます。

ラベルでコントロールできる部品

なお、「必要ラベル」欄にラベルを2つ以上書いた場合、それらすべてが貼られていないと、条件を満たしたことになりません。

ラベルの仕様

ラベルの否定

ラベルを読み取る場面で、ラベルの否定を使えます。通常は「ユーザーにラベルXが貼られている場合」ですが、否定を使うと「ユーザーにラベルXが貼られてない場合」とすることができます。
ラベルを否定するには、そのラベルの前に!(半角のビックリマーク)を付けてください。
ラベルが複数ある場合、たとえばA, !B, Cは、「Aかつ、Bでないかつ、Cの場合」という意味になります。

否定はラベルを読み取る場面(部品をラベルでコントロールするとき)にしか使えませんのでご注意ください。
部品でラベルを貼るときに否定を使うことはできません。

6 1