現場・オフライン 2 / 6
オフライン入力と同期
現場アプリで電波がなくても入力し、あとで同期する仕組みを説明します。同期の流れ、オフラインで使える期間、端末に持ち出すデータ、競合が起きたときの扱い、写真の送りかたを紹介します。
約4分で読めます
Formia マニュアルの目次(章と記事の一覧)
アプリをつくる
入力項目ガイド
現場アプリは、電波のない現場で入力した内容を、端末の中に保存しておき、電波のあるところでFormiaに送ります。この仕組みを「同期」といいます。この記事では、同期の流れと、困りやすい点を説明します。
同期の流れ
同期は、「同期」ボタンを1回押すだけです。中では、次の順で動きます。
- 端末の鍵を確かめる(切れていたら作り直す)
- 端末で入力した内容を、サーバーに送る
- 写真などの添付を送る
- サーバーで変わった内容(フォームの定義、レコード、選択肢のデータ)を受け取る
自分の入力を先に送ります。 先に受け取ってから送ると、受け取った直後に、自分の送信で古い内容になってしまうからです。

同期されたレコードは、Webの一覧にも並びます。上の画面は、スマホのブラウザで開いた設備点検の一覧です。
画面には、同期の状態がいつも出ます。未同期の件数、写真の枚数、最後に同期した時刻が見えます。オフラインのあいだは、「オフライン・未同期12件」のような帯が上に出続けます。同期を中断しても、送れたぶんは確定しています。
オフラインで使える期間
最後に受け取ってから、既定で 14日間は、同期せずに入力できます(組織の設定で変えられます)。
- 期限が切れると、新しい入力だけが止まります。端末にある未送信のデータは消えず、同期もできます。データが人質になることはありません
- 期限の3日前から、警告が出ます
- 端末の一覧では、「オフラインで使えるのは ○月○日まで」と確かめられます
端末に持ち出すデータ
端末に持ち出すのは、その人が画面で見られる範囲までです。フォームの定義、見える行のレコード、選択肢に使う表の行などが入ります。
- フォームで持ち出しの設定をしていないときは、自分のレコードの直近30日分が入ります
- 自分が担当のレコード(ワークフロー)は、日数に関係なく入ります
- 試験データは入りません
持ち出す範囲を、「自分のもの」「グループ」「全体」と、何日分にするかを、フォームの設定で決められます。設備の履歴を現場で見たいときは、必要な範囲を広げてください。
同じレコードを、ほかの人も直したとき(競合)
現場の入力は、ほとんどが新規の登録なので、競合は多くありません。それでも、同じレコードを、端末とWebで別々に直した場合は、項目ごとに比べます。
| 状況 | 結果 |
|---|---|
| 端末だけが直した項目 | 端末の内容が使われる |
| サーバーだけが直した項目 | サーバーの内容が残る |
| 両方が、違う内容に直した項目 | 競合。サーバーの内容を残し、端末の内容も保管する |
競合した項目は、サーバーの内容を残します。端末の内容は消さずに保管するので、データを失いません。アプリには「確認が必要」と出て、「この端末を採用」「サーバーを採用」などを選べます。「あとで」を選んでも、保管されたままで、Webの管理画面からも解決できます。
繰り返し(明細)は、行ごとに扱います。両方が行を足しても競合しません。
写真・添付の送りかた
写真は、端末で縮められて保存されます。レコードを先に送り、写真はあとから送ります。大きなファイルは、小分けにして送るので、途中で電波が切れても、続きから送り直せます。同じ写真は、1回しか送りません。
現場での使いかたの決まり
- 出かける前に、必ず同期する(その日の点検対象などが、端末に入ります)
- 戻ったら、すぐ同期する
- 未同期があるうちは、ログアウトやアプリの削除をしない(アプリが強く警告します)
- 端末の時計は、サーバーの時刻をもとに補正されます。時計が大きくずれていると、記録に印が付きます