Nintex Forms 非表示ルールを複雑に組むと並び順がおかしくなる挙動と対策

SharePointの標準ではできないFormsの様々な機能の中のよく使われそうな機能が、表示・非表示のルールかと思います。別の選択肢でAを選択するとAパネルが表示され、Bを選択するとAパネルは消えてBパネルが表示されるみたいな。非常に便利な機能ですが、クセがあります。

サンプルとしてこのようなフォームを作りました。
上部操作エリア内にある選択肢でそれぞれのパネルの表示・非表示を制御します。

■想定する挙動

  1. ABC全パネルを選択すると → 上からABC
  2. 「A-非表示」にすると → 上からBC
  3. 「A-表示」にすると → 上からABC
  4. 「B-非表示」にすると(…省略)

このように、Formsで配置した上からABCの順番は崩れずに、表示・非表示で自在に制御できるようにしたい。

■想定外な挙動

  1. 未選択 → 全て非表示
  2. 「B-表示」にすると → 上からB
  3. 「A-表示」にすると → 上からBA
    えっ??ABじゃなくてBA???

つまり、Forms上で正しく上からABCとパネルを並べても、表示させるラジオボタンをクリックするパターン次第で、配置順がABCにならなくなる。
これは例えば業務フロー順にパネルを表示・非表示させるとして、その順番が入れ替わってしまったら困りますよね。これ、半日ほど試行錯誤して原因と解決方法がわかりました。

■原因

といっても明確に原因がわかったわけではなく、想定外な挙動をするパターンが判明しただけです…。

隙間なくキレイにパネルを配置した際に起きる現象でした(なんてこった)。

■解決方法

パネルを1マスずつ空けて配置しなおします。

先ほどの想定外な挙動と同じ動作をしますと…

  1. 未選択 → 全て非表示
  2. 「B-表示」にすると → 上からB
  3. 「A-表示」にすると → 上からAB
    BAではなく、ちゃんとABになりました。他にも色々なパターンで表示・非表示を繰り返しましたが、上からABCが崩れることはありませんでした。

 

表示・非表示の際にはパネルが重なってしまっても思った挙動になりませんが、まさかキレイに配置してもこのような挙動になるとは思いませんでした。

通常はパネルとパネル、コントロールとコントロールをキレイに配置しても問題ありませんが、もしこのような挙動になる、もしくはしようとしている場合は、1マス空けて配置すると良いです。

Nintex Forms コントロールのクセと対策 その2

コントロールを作っているとたまにコントロール内にスクロールが発生する事があるかと思います。この状態でコントロールを移動させたい時に気をつけたい点があります。

スクロール部分をドラッグしてしまうと、ドロップしてもコントロールは離れません。接着剤でくっついてしまったかのごとく離れません。これ結構焦ります。

何度左クリックしても離れません(たまに離れる事もありますが…)。

右クリックをすると離れますが、掴んだコントロールや入れ子にしているパネルが瞬間移動で意図しない場所に動いたりします。

また、くっついてしまった状態で、画面外でクリックすると、コントロールが消えてしまいます。しかも高確率で元に戻すボタンを押しても戻ってきません。

つまり、コントロールの瞬間移動か失踪事件です。このようにNintex Formsは結構動作が不安定だったりします。複雑に作れば作るほど、ドキドキします。

【対策】

  • コントロールにスクロールが出た場合は絶対にスクロール部分をクリックしない。
  • マメに保存や公開をし、おかしな事になったら一旦閉じて元に戻しましょう。
  • 複数人で作業をしている場合は、他メンバーが壊してしまう可能性もあるので、マメにエクスポートをするとなお良し。