反復入力フォーム 行数を都度変更できる特殊なフォーム。他フォームと組み合わせて使用

そもそも反復とはどのようなものでしょうか?例えば次のような日報をイメージしてください。

反復入力フォームの具体例。時間ごとに作業内容を分けて書くといったケースでは必要な行数が毎回変わります。この場合は反復を使うとスマートに表現できます
反復入力フォームの具体例。時間ごとに作業内容を分けて書くといったケースでは必要な行数が毎回変わります。この場合は反復を使うとスマートに表現できます

上の図はWordで作成した簡易的な日報の例です。作成者や天候は普通の入力フォームですが、赤枠で囲われた領域は作業内容に応じて使用する行数が変わることがわかります。 このように日報作成の都度行数が変化するものは「反復入力フォーム」で実装できます。 反復入力フォーム自体はいわゆる行の制御になります。肝心の列(上の例で言うなら「時刻・分類・生産数」)は反復の中に入力フォームとして追加することで再現が可能です。

キャラクター

つまり反復フォーム単体では機能しません。組み合わせて使います

反復入力の初期設定

名称説明
表示名項目見出しエリアに表示される文字です
ラベルの色を指定します。初期値は灰色です
サイズ表示名の文字サイズを最小・小・中・大の4段階から設定できます。初期値は「中」です。表示名が長すぎる場合は設定が無視されます
入力切替を無効にするこれがOnの場合、日報作成時に入力方式(ラジオ・プルダウン)を変更するボタンが表示されなくなります。画面をスッキリさせたいときはONにしてください
メモ入力エリアの画面左上に赤文字で表示されます。日報・チェックシートの作成者が迷うことのないように補足文として活用できます
入力必須これがONの場合、選択肢が選ばれていないと日報の提出ができません
反復入力では幅が12で固定です。幅の変更はできません。
初期の行数日報作成時に反復入力を生成する行数です。初期値は1です

反復入力フォームの使用例

今回は本ページの最初に例示した「時刻・分類・生産数」を反復入力フォームとして登録したと仮定します。 設定の画面イメージは次のようになります。

反復入力フォームの具体的な設定画面
反復入力フォームの具体的な設定画面

何行になるかはその日によって違うので(残業の有無や半日稼働などで変わる)重要ではありません。 反復入力を作る上で重要なのは列の項目ですので、そこに注力してください。列とはすなわち「時刻・分類・生産数」でしたね。 これら3つの入力フォームを、NipoPlusの入力フォームに割り当てると次のように対応付けることができます。

名称適切なフォーム名
時刻期間入力フォームを使います。設定で「時刻のみ」を選ぶことで時間の入力のみ行えるようになります
分類正常・メンテナンス・休止の中から選ばせるので選択肢入力フォームが最適です
生産数数値入力フォームスライダ入力フォームなどいくつか選択肢はありますが、今回はスライダー式を選びました

反復入力フォームを使った日報の作成

反復入力フォームを含んだ日報テンプレートを使って日報を書くときの画面は次のように見えます。

反復の含まれた日報の入力画面イメージ。スマホとタブレットで表示形式を変更しています
反復の含まれた日報の入力画面イメージ。スマホとタブレットで表示形式を変更しています

反復入力フォームでは表示形式が表・カードの2種類から切替が可能です。表示形式は画面サイズが広い端末では「表」、画面サイズが狭い端末では「カード」が初期値としてセットされます。 上の入力例では、画面左のタブレットの画面は「表形式」で入力しており、右側のスマートフォンは「カード式」で表示しています。

1行追加ボタンをクリックすると「時刻・分類・生産数」を含んだ同じ項目がそのまま1行ぽんと追加されます。 行を削除したいときは「生産数」の隣にゴミ箱アイコンがあるため、それをクリックして消すことができます。

キャラクター

サンプルの画像だとゴミ箱アイコンは見切れて表示されていません。実機でお確かめください

反復の日報を表示

反復入力フォームの日報を受信したときの画面イメージ
反復入力フォームの日報を受信したときの画面イメージ

反復の項目は作成された行数だけ表示されます。偶数行目のデータは見分けやすいように薄い水色で塗られて表示されます。 表示形式は表のような形式(上画像でいうタブレット側)と、カード式(上画像でいうスマホ側)の2種類が有り、表示形式の初期値はご利用の端末の画面幅によって自動で設定されます。 表示の切り替えはいつでも行うことが可能です。

データ活用編

反復入力は行数が変動するという性質上、データの活用においても他の入力フォームと若干異なる挙動をします。 CSV出力などの対応状況は反復入力フォームの中で使用されている項目の属性がそのまま適用されます。

反復の日報をCSVに出力する

反復入力フォームでは1つの日報の中に複数の行が出現するため、CSVもその形式に合わせて出力されます。 例えば今回の例で使用した日報をそのままCSVに出力した際は、反復入力フォーム上では2行使用されていたため、CSVも同様に2行使用されます。

日報をCSVに出力した例
日報をCSVに出力した例

C列のIDを見てもらうとIDが同じ担っていることがわかります。つまり2行目と3行目のレコードは同じ日報のデータを表現していることがここから読み解けます。 他にもA/B/D/E列など日報の状態を表すフィールドでは、2行目以降のデータは自動でブランクとなるため、この空欄でもつながりのある日報であることを推測できます。

反復入力フォームと通常の入力フォームを組み合わせた場合でも同様で、1行目にはすべて出力されますが2行目以降は反復入力フォームだけのために出力が行われます。

キャラクター

あまり想定していませんが反復入力フォームが複数個ある場合、その日報の中で最も行数の多い反復を基準として出力が行われます。足りない行は空欄になります

反復の日報をPDFに出力する

反復の列が多すぎるとPDFに出力する際レイアウトが崩れる可能性があるので注意してください。 基本的には日報テンプレートの仕組みと同様に幅の合計が12に収まるように設計するとはみ出しにくくなります。

反復入力を含んだ日報をPDFに出力
反復入力を含んだ日報をPDFに出力

サンプルデータ

このページで使用した実際のサンプルをダウンロードできます

最終更新日: 2022/09/01
nipoplusアプリ起動ボタン

一切の企業情報を入力せずに手軽に体験できます

  • メール・パスワードの設定なしで体験可能(匿名機能
  • クレジットカードの登録も不要
  • Webアプリだからインストール不要
nipoplusアプリ起動ボタン
ios App Store
Android Google Play Store