誤って削除したフォームの復旧とキーについて
入力フォームを誤って削除してしまった場合の救出
テンプレートをいつでも自由にカスタマイズできるのは便利ですが、テンプレート内の入力フォームを削除する際は注意が必要です。
テンプレート内のフォームを削除して保存すると、再度同じ項目を追加しても削除前に作られたレポート上にはその項目のデータが表示されません。
(※レポート作成時にこの項目は存在しませんでした。と表示されます)
同じタイトルで入力フォームを追加しても表示されない原因は、同じタイトルのフォームであっても異なるキーがランダムに割り当てられるためです。
問題の原因がキーにあるため、対応策は削除前と同じキーに設定することで問題を解決できます。
削除した入力フォームの復旧
具体的な症状から、修正までの手順を順を追って解説します。
JSONというデータ構造については簡単で良いので理解してから作業してください。
削除してしまった画面を確認
仮に「天気・体調・業務報告」の3つで構成されたテンプレートで書かれたレポートがあるとします。 ここから誤って「業務報告」を削除してしまったと仮定します。
削除後、同じタイトルの入力フォームを作り直しても、入力されたデータは表示されません。
削除前のデータから目的のキーを探す
「レポート作成時このフィールドは存在しなかった」と表示されるのは同タイトルで再生成しても異なるキーが割り当てられるためです。
キーは通常3〜5文字程度のランダムな英数字で構成されます。
削除前の入力フォームのキーを、過去のレポートから見つけることができます。
レポート表示画面から詳細表示を開き、生データを表示してください。
生データはJSONと呼ばれるプログラミングの世界では広く使われている形式で保存されています。
{
"DQQ": "今日の業務内容を書きます",
"Knn": "晴",
"PTC": 3
}
生データを注意深く見ると、{ DQQ: 今日の業務内容を書きます }というデータがあります。レポート表示画面からは見えていませんでしたが、生データにはちゃんとデータが記録されていることが確認できました。
キーは DQQの部分です。このキー名を控えてください。
テンプレート編集画面からキー名を手動で変更する
先ほど控えたキーをテンプレート編集画面から手動で適用させます。問題のある入力フォームのスパナアイコンをクリックしてキーを手動で書き換えできます。
これで削除前のキーが反映されるようになります。過去のレポートを開き、正しく修正できていることを確認してください。
キーを扱う際は細心の注意を払ってください
キーはテンプレートを編集する際自動で割り当てられるランダムな文字列で、3桁から5桁で表現されます。通常の利用ではキーを手動で操作したり、そもそも存在を意識することすらありません。 今回のように誤ってフォームを削除してしまった場合にのみ利用します。 1つのテンプレート内に同じキーは存在しません。同じキーが複数あると挙動がおかしくなるため、手動で設定する際は注意してください。 また、反復入力フォームは少し特殊ですがキーの中に更にキーを持っています。