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

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円の明細行を追加できます。

ラベルと部品

AForms 1.0.1時点の情報です。

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

  • 選択肢
    選択項目の選択肢は、ユーザーがその選択肢を選んだときにラベルを貼れます。貼りたいラベルの名前を「ラベル」欄に入力してください。
  • 料金監視項目
    見積額が特定の条件を満たす場合(〇円以上とか、〇円未満とか)にラベルを貼れます。貼りたいラベルの名前を「ラベル」欄に入力してください。

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

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

  • 自動項目
    自動項目はユーザーに入力欄を見せずに明細行を追加できる部品ですが、ラベルでコントロールできます。「必要ラベル」欄にラベルの名前を書くと、そのラベルが貼られている場合にのみ明細行を追加するようになります。
  • 選択肢
    選択項目の選択肢はラベルでコントロールできます。「必要ラベル」欄にラベルの名前を書くと、そのラベルが貼られている場合にのみ選択肢が有効になります。(ラベルが貼られていないと選択できなくなります)

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

ラベルの仕様

  • ラベルに使える文字は英語、数字、ハイフン「-」、アンダースコア「_」(すべて半角)です。ラベルの前後に付いた半角スペース「 」はラベル名から除去されます。
  • ラベルを複数書く場合は半角カンマ「,」で区切ってください。
1 0