(57)【要約】【課題】帳票の項目及び項目に対応するデータの入力方法だけでなく、帳票の作成に使用される処理もカスタマイズすることができる帳票作成装置を提供することである。【解決手段】帳票作成装置１のフラッシュメモリ１６には、帳票の作成に使用される複数のモジュールが記憶される。帳票作成装置１は、シナリオ定義データ３１〜３３を取得する。シナリオ定義データ３１〜３３は、帳票の項目及び項目に対応するデータの入力方法をユーザの操作に応じて特定するための項目特定データと、複数のモジュールのうちユーザの操作に応じて指定されたモジュールを特定するためのモジュール特定データとを含む。帳票作成装置１は、項目特定データに基づいて入力画面を作成してタッチパネル１３に表示する。帳票作成装置１は、入力画面に対するユーザの操作を検出した場合、モジュール特定データに基づいて指定されたモジュールを実行する。【選択図】図１
2014075003.tif 000002
【特許請求の範囲】
【請求項１】
帳票を自動的に作成する帳票作成装置であって、
タッチパネルと、
前記帳票の作成に使用される複数のモジュールを記憶する記憶部と、
前記帳票の項目及び前記項目に対応するデータの入力方法をユーザの操作に応じて特定するための項目特定データと、前記複数のモジュールのうちユーザの操作に応じて指定されたモジュールを特定するためのモジュール特定データとを含むシナリオ定義データを取得する取得部と、
前記項目特定データに基づいて入力画面を作成する入力画面作成部と、
前記入力画面を表示するように前記タッチパネルを制御する表示制御部と、
前記タッチパネルに表示された入力画面に対するユーザの操作を検出する操作検出部と、
前記操作検出部が前記入力画面に対する操作を検出した場合、前記モジュール特定データに基づいて前記指定されたモジュールを実行する実行部とを備える、帳票作成装置。
【請求項２】
請求項１に記載の帳票作成装置であって、
前記項目は、上位項目と、前記上位項目に従属する下位項目とを含み、
前記入力画面は、前記上位項目に対応するデータを入力するための上位入力領域を含み、前記下位項目に対応するデータを入力するための下位入力領域を含まない、帳票作成装置。
【請求項３】
請求項２に記載の帳票作成装置であって、
前記実行部は、所定データが前記上位入力領域に入力された場合、前記指定されたモジュールを実行し、
前記指定されたモジュールは、前記下位入力領域を前記入力画面に追加する、帳票作成装置。
【請求項４】
タッチパネルと、帳票の作成に使用される複数のモジュールを記憶する記憶部とを備え、前記帳票を自動的に作成する帳票作成装置に搭載されるコンピュータに、
前記帳票の項目及び前記項目に対応するデータの入力方法をユーザの操作に応じて特定するための項目特定データと、前記複数のモジュールのうちユーザの操作に応じて指定されたモジュールを特定するためのモジュール特定データとを含むシナリオ定義データを取得するステップと、
前記項目特定データに基づいて入力画面を作成するステップと、
前記入力画面を表示するように前記タッチパネルを制御するステップと、
前記タッチパネルに表示された入力画面に対するユーザの操作を検出するステップと、
前記入力画面に対する操作が検出された場合、前記モジュール特定データに基づいて前記指定されたモジュールを実行するステップとを実行させるための帳票作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票作成装置に関し、さらに詳しくは、帳票を自動的に作成する帳票作成装置に関する。
【背景技術】
【０００２】
エアコンなどのビルの設備機器などを安全に使用するために、これらの機器の検査を定期的に行う必要がある。例えば、業者は、設備機器の検査結果を紙の帳票に記入し、帳票を顧客に提出する。自動車の定期検査の結果なども、業者により紙の帳票に記入され、記入された帳票が、自動車の所有者などに提出される。しかし、紙の帳票に点検結果を記入する作業は煩雑であり、業者にとって負担となっている。
【０００３】
そこで、検査結果を入力するための入力画面を表示し、電子帳票や紙の帳票などを自動的に作成する帳票作成装置の使用が考えられている。業者は、検査結果を入力画面に入力するだけでよいため、電子帳票あるいは紙の帳票を効率的に作成することができる。以下、電子帳票及び紙の帳票を総称して、単に「帳票」と呼ぶ。
【０００４】
機器の検査項目が変更されたり、帳票を作成する際に検査結果の入力方法が変更されたりする場合がある。このため、帳票作成装置は、検査項目や検査結果の入力方法を柔軟に変更できることが求められている。
【０００５】
特許文献１には、プログラムコードの修正を行うことなく、データの入力画面をカスタマイズすることができる情報処理システムが開示されている。情報処理システムは、ビルの設備機器を管理するための設備機器台帳を保持しており、設備機器台帳に基づいて、各設備機器の一覧表示画面及び詳細表示画面を表示する。
【０００６】
特許文献１において、ユーザは、一覧表示画面又は詳細表示画面を用いてデータを入力する場合におけるデータの入力方法を設定することができる。例えば、ユーザは、設備機器台帳の項目を追加、削除したり、テキストボックス、コマンドボックスなどを入力項目ごとに設定したりすることができる。これにより、ユーザの設定が反映された一覧表示画面又は詳細表示画面が表示される。
【０００７】
しかしながら、特許文献１に係る情報処理システムは、設備機器台帳の項目や、設備機器台帳に入力されるデータの入力方法をカスタマイズすることができるが、設備機器台帳の項目及び項目に対応するデータの入力方法以外をカスタマイズすることができない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−２１２６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、帳票の項目及び項目に対応するデータの入力方法だけでなく、帳票の作成に使用される処理もカスタマイズすることができる帳票作成装置を提供することである。
【課題を解決するための手段及び発明の効果】
【００１０】
本発明の帳票作成装置は、帳票を自動的に作成する。本発明の帳票作成装置は、タッチパネルと、記憶部と、取得部と、入力画面作成部と、表示制御部と、操作検出部と、実行部とを備える。記憶部は、帳票の作成に使用される複数のモジュールを記憶する。取得部は、帳票の項目及び項目に対応するデータの入力方法をユーザの操作に応じて特定するための項目特定データと、複数のモジュールのうちユーザの操作に応じて指定されたモジュールを特定するためのモジュール特定データとを含むシナリオ定義データを取得する。入力画面作成部は、項目特定データに基づいて入力画面を作成する。表示制御部は、入力画面を表示するようにタッチパネルを制御する。操作検出部は、タッチパネルに表示された入力画面に対するユーザの操作を検出する。実行部は、操作検出部が入力画面に対する操作を検出した場合、モジュール特定データに基づいて指定されたモジュールを実行する。
【００１１】
本発明によれば、帳票作成装置は、項目特定データに基づいて作成した入力画面に対する操作を検出した場合、記憶部に記憶された複数のモジュールのうち、ユーザにより指定されたモジュールを実行する。ユーザは、所望のモジュールをモジュール特定データで特定することにより、帳票の項目及び項目に対応するデータの入力方法だけでなく、帳票の作成に使用される処理もカスタマイズすることができる。
【００１２】
好ましくは、項目は、上位項目と、下位項目とを含む。下位項目は、上位項目に従属する。入力画面は、上位項目に対応するデータを入力するための上位入力領域を含み、下位項目に対応するデータを入力するための下位入力領域を含まない。
【００１３】
本発明によれば、下位入力領域が表示されないため、帳票の全ての項目が、入力画面に一度に表示されることがない。このため、ユーザは、入力画面に表示された上位項目のみに基づいて、帳票に入力すべき項目の全体像を容易に把握することができる。
【００１４】
好ましくは、実行部は、所定データが上位入力領域に入力された場合、指定されたモジュールを実行する。指定されたモジュールは、下位入力領域を入力画面に追加する。
【００１５】
本発明によれば、下位入力領域が、上位入力領域に入力されるデータに応じて追加される。入力画面の構成が動的に変更されるため、ユーザは、帳票の項目に対応するデータを効率的に入力することができる。
【００１６】
本発明の帳票作成プログラムは、本発明の帳票作成装置に用いられる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る帳票作成装置の構成を示す機能ブロック図である。
【図２】図１に示す帳票作成プログラムのフローチャートである。
【図３】図１に示すタッチパネルに表示される入力画面を示す図である。
【図４】図２に示すシナリオ定義データ解析処理のフローチャートである。
【図５】図１に示すシナリオ定義データの構成を示すブロック図である。
【図６】図５に示すヘッダ定義テーブルを示す図である。
【図７】図３に示す入力画面の構成を示す図である。
【図８】図４に示すヘッダ定義テーブル解析処理のフローチャートである。
【図９】図５に示すボディ定義テーブルを示す図である。
【図１０】図４に示すボディ定義テーブル解析処理のフローチャートである。
【図１１】図１０に示すボディ定義テーブル解析処理のフローチャートにおいて、ステップＳ２４１２以降の処理を示す図である。
【図１２】入力レイヤが配置された、図３に示す入力画面を示す図である。
【図１３】図５に示すリスト定義テーブルを示す図である。
【図１４】図５に示すフッタ定義テーブルを示す図である。
【図１５】図２に示すヘッダ処理及びフッタ処理のフローチャートである。
【図１６】図５に示すラベル属性テーブルを示す図である。
【図１７】図２に示すボディ処理のフローチャートである。
【図１８】図３に示す入力画面において、新たに表示行が追加されたボディ領域を示す図である。
【図１９】図９に示すボディ定義テーブルの変形例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１９】
［１．帳票作成装置の全体構成］
図１は、本発明の実施の形態に係る帳票作成装置１の機能ブロック図である。図１を参照して、帳票作成装置１は、タブレット型端末などのコンピュータである。帳票作成プログラム２１が、コンピュータにインストールされることにより、このコンピュータは、帳票作成装置１として動作する。
【００２０】
帳票作成装置１は、ＣＰＵ（Central Processing Unit）１１と、ＲＡＭ（Random Access Memory）１２と、タッチパネル１３と、ネットワークインタフェース１４と、カメラ１５と、フラッシュメモリ１６とを備える。
【００２１】
ＣＰＵ１１は、ＲＡＭ１２にロードされたプログラムを実行して、帳票作成装置１を制御する。ＲＡＭ１２は、帳票作成装置１のメインメモリである。ＲＡＭ１２には、フラッシュメモリ１６に記憶されている各種プログラムがロードされる。
【００２２】
タッチパネル１３は、ＣＰＵ１１によるプログラムの実行結果を表示する。タッチパネル１３は、ユーザの指が触れた位置を操作情報として出力する。
【００２３】
ネットワークインタフェース１４は、無線ＬＡＮ（Local Area Network）又は携帯電話通信網を介してネットワークにアクセスし、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）を用いて通信する。カメラ１５は、被写体を撮影して静止画を生成する。
【００２４】
フラッシュメモリ１６は、不揮発性の記憶装置であり、帳票作成プログラム２１と、ライブラリ２２と、シナリオ定義データ３１〜３３とを記憶する。
【００２５】
帳票作成プログラム２１は、自動車の検査結果が記入された帳票を作成するためのプログラムであり、シナリオ定義データ３１〜３３を参照して入力画面をタッチパネル１３に表示する。シナリオ定義データ３１〜３３の各々は、帳票の入力画面の表示内容及び帳票作成装置１が実行するモジュールが定義されたデータである。シナリオ定義データ３１〜３３の各々は、Microsoft Excel（登録商標）などの市販の表計算用ソフトウェアにより編集可能である。帳票作成プログラム２１及びシナリオ定義データ３１〜３３の詳細については後述する。
【００２６】
ライブラリ２２は、帳票の作成に関するモジュール２２ａ，２２ｂを備える。モジュール２２ａは、カメラ１５を制御して、静止画を撮影する。モジュール２２ｂは、カメラ１５を制御して、バーコードを読み取る。図１では、ライブラリ２２は、２つのモジュール２２ａ，２２ｂを備えているが、実際には、ライブラリ２２は、２つ以上のモジュールを備えている。
【００２７】
［２．帳票作成装置１の動作］
［２．１．全体動作］
図２は、帳票作成プログラム２１のフローチャートである。以下、帳票作成プログラム２１が、自動車の検査用の帳票（以下、単に「検査帳票」と呼ぶ。）を作成するプログラムである場合を例にして、帳票作成装置１の動作を説明する。
【００２８】
ユーザは、帳票作成装置１を使用する前に、検査帳票の入力画面の表示内容及び帳票作成装置１の動作を定義したシナリオ定義データ３１〜３３を作成する。上述のように、ユーザは、表計算用ソフトウェアを用いてシナリオ定義データ３１〜３３を作成することができる。
【００２９】
具体的には、例えば、ユーザは、入力画面に表示される検査項目と、検査項目に対応するデータの入力方法とを、シナリオ定義データ３１〜３３に設定する。また、ユーザは、シナリオ定義データ３１〜３３に、帳票の作成に関するモジュールを設定しておくことにより、帳票作成装置１の動作をカスタマイズすることができる。これにより、ユーザは、帳票作成装置１に表示される検査帳票の入力画面を自由に設定することができるとともに、検査帳票を作成する際の帳票作成装置１の動作を予め設定しておくことができる。また、シナリオ定義データ３１〜３３を作成するために、専用のプログラムを使用しなくてもよいため、コスト的に有利である。
【００３０】
ＣＰＵ１１は、ユーザの操作に応じて、帳票作成プログラム２１をＲＡＭ１２にロードして、帳票作成プログラム２１を実行する。
【００３１】
図２を参照して、ＣＰＵ１１は、ネットワークインタフェース１４を制御して、シナリオ定義データ３１〜３３を、ネットワークに接続されたパーソナルコンピュータから取得する（ステップＳ１）。帳票作成装置１がＵＳＢ（Universal Serial Bus）ポートを備える場合、ＣＰＵ１１は、ＵＳＢポートに接続されたＵＳＢメモリから、シナリオ定義データ３１〜３３を取得してもよい。あるいは、ユーザが帳票作成装置１を操作してシナリオ定義データ３１〜３３を作成し、作成したシナリオ定義データ３１〜３３をフラッシュメモリに１６に保存してもよい。この場合、ＣＰＵ１１は、フラッシュメモリ１６からシナリオ定義データ３１〜３３を取得する。すなわち、ＣＰＵ１１は、帳票作成プログラム２１を実行する際に、シナリオ定義データ３１〜３３を取得することができればよい。
【００３２】
ＣＰＵ１１は、シナリオ定義データ３２を解析して、自動車の検査結果を入力するための入力画面を作成する（ステップＳ２）。ここでは、シナリオ定義データ３２の解析を例にして説明する。シナリオ定義データ３１，３３は、ユーザの操作に応じて解析される。ステップＳ２の詳細は、後述する。
【００３３】
ＣＰＵ１１は、作成された入力画面をタッチパネル１３に表示する（ステップＳ３）。図３は、タッチパネル１３に表示される入力画面４０の一例を示す図である。図３を参照して、入力画面４０は、ヘッダ領域４１、ボディ領域４２及びフッタ領域４３に区分される。
【００３４】
ヘッダ領域４１は、入力画面４０の上に配置され、ラベル４１１〜４１３を備える。ラベル４１１〜４１３は、ラベル名４１１ａ〜４１３ａをそれぞれ備える。ラベル名４１１ａ〜４１３ａは、ユーザがラベル４１１〜４１３にタッチすることにより実行される処理を示す文字列である。ラベル４１１は、バーコード読み取り処理を指示するためのボタンである。ラベル４１２は、静止画の撮影を指示するためのボタンである。ラベル４１３は、ボディ領域４２に表示されている作業内容の手順書、作業内容に関する見本画像などの表示を指示するためのボタンである。
【００３５】
なお、図３に示す例では、ラベル４１１〜４１３は、ボタンとして表示されている。しかし、ラベル４１１〜４１３は、ボタンではなく、文字列の表示領域として使用されてもよい。例えば、ラベル４１１に、検査対象の自動車を特定する情報（ナンバー、所有者名など）を表示してもよい。後述するラベル４３１〜４３４についても同様である。
【００３６】
ボディ領域４２は、入力画面４０の中央に配置される。ボディ領域４２には、帳票の項目に相当する作業内容がリスト形式で配置される。ボディ領域４２は、各作業内容に対応するデータが入力される複数のセル４２１を備える。ユーザは、各作業内容に応じた結果を示すデータをセル４２１に入力することができる。なお、図３では、一部のセル４２１のみに符号を付している。ユーザは、ボディ領域４２で所定の操作を行うことにより、各作業内容の結果を容易に入力することができる入力レイヤを、ボディ領域４２の上に重ねて表示させることができる。入力レイヤの詳細は、後述する。
【００３７】
フッタ領域４３は、入力画面４０の下に配置され、ラベル４３１〜４３４を備える。ラベル４３１〜４３４は、ラベル名４３１ａ〜４３４ａをそれぞれ備える。
【００３８】
ラベル４３１は、帳票作成プログラム２１の終了を指示するためのボタンである。ラベル４３４は、ボディ領域４２に入力されたデータの保存を指示するためのボタンである。
【００３９】
ラベル４３２は、シナリオ定義データ３１に基づく入力画面４０の表示を指示するためのボタンである。ラベル４３３は、シナリオ定義データ３３に基づく入力画面４０の表示を指示するためのボタンである。ラベル４３２，４３３がタッチされた場合、帳票入力装置１は、シナリオ定義データ３１，３３を解析して入力画面４０を新たに作成してタッチパネル１３に表示する。つまり、ユーザは、ラベル４３２，４３３にタッチすることにより、互いに異なるシナリオ定義データで作成された入力画面４０に変更することができる。
【００４０】
ユーザは、シナリオ定義データ３１〜３３を編集して、ヘッダ領域４１，フッタ領域４３のように、モジュールの実行を指示するラベルなどを入力画面４０内に配置させることができる。これにより、ユーザは、入力画面４０において、帳票の項目に対応するデータの入力だけでなく、帳票作成装置１の動作を定義することができる。
【００４１】
再び、図２を参照して、ユーザがタッチパネル１３にタッチした場合、ＣＰＵ１１は、入力画面４０のどの領域がタッチされたかを検出する（ステップＳ４）。ヘッダ領域４１がタッチされた場合（ステップＳ４において「ヘッダ領域」）、ＣＰＵ１１は、ヘッダ処理（ステップＳ５）を実行する。ヘッダ処理（ステップＳ５）の詳細は、後述する。
【００４２】
ボディ領域４２がタッチされた場合（ステップＳ４において「ボディ領域」）、ＣＰＵ１１は、ボディ処理（ステップＳ６）を実行する。ボディ処理（ステップＳ６）の詳細は、後述する。フッタ領域４３がタッチされた場合（ステップＳ４において「フッタ領域」）、ＣＰＵ１１は、フッタ処理（ステップＳ７）を実行する。フッタ処理（ステップＳ７）の詳細は、後述する。
【００４３】
ＣＰＵ１１は、ヘッダ処理（ステップＳ５）、ボディ処理（ステップＳ６）及びフッタ処理（ステップＳ７）のいずれかを終了した場合、ステップＳ４に戻る。以下、ＣＰＵ１１は、終了を指示するラベル４３１のタッチを受け付けるまで、ステップＳ４〜Ｓ７の処理を繰り返し実行する。
【００４４】
［２．２．シナリオ定義データ解析（ステップＳ２）］
図４は、シナリオ定義データ解析処理（ステップＳ２）のフローチャートである。図５は、シナリオ定義データ３２のデータ構造を示す図である。以下、ＣＰＵ１１が、シナリオ定義データ３２を解析する場合を例にして説明する。
【００４５】
図４及び図５を参照して、ＣＰＵ１１は、シナリオ定義データ３２をフラッシュメモリ１６から読み出す（ステップＳ２１）。シナリオ定義データ３２は、ヘッダ定義テーブル５１と、ボディ定義テーブル５２と、フッタ定義テーブル５３と、ラベル属性テーブル５４と、リスト定義テーブル５５とを備える。シナリオ定義データ３１，３３も、シナリオ定義データ３２と同様の構成である。
【００４６】
ヘッダ定義テーブル５１は、ヘッダ領域４１の表示内容を定義する。ボディ定義テーブル５２は、ボディ領域４２の表示内容を定義する。フッタ定義テーブル５３は、フッタ領域４３の表示内容を定義する。ラベル属性テーブル５４は、ヘッダ領域４１又はフッタ領域４３で表示されるラベルを、複数のモジュールのいずれかに対応付けるためのテーブルである。リスト定義テーブル５５は、作業内容の結果として入力できるデータが登録される。各テーブルの詳細は、後述する。
【００４７】
ＣＰＵ１１は、ヘッダ定義テーブル５１、ボディ定義テーブル５２及びフッタ定義テーブル５３のうち、未選択のテーブルを選択する（ステップＳ２２）。
【００４８】
ＣＰＵ１１は、ヘッダ定義テーブル５１を選択した場合（ステップＳ２２において「ヘッダ」）、ヘッダ定義テーブル５１を解析し（ステップＳ２３）、ヘッダ領域４１を作成する。ＣＰＵ１１は、ボディ定義テーブル５２を選択した場合（ステップＳ２２において「ボディ」）、ボディ定義テーブル５２を解析し（ステップＳ２４）、ボディ領域４２を作成する。ＣＰＵ１１は、フッタ定義テーブル５３を選択した場合（ステップＳ２２において「フッタ」）、フッタ定義テーブル５３を解析し（ステップＳ２５）、フッタ領域４３を作成する。
【００４９】
ＣＰＵ１１は、ステップＳ２３〜Ｓ２５のいずれかを実行した後に、未選択の定義テーブルが存在するか否かを判断する（ステップＳ２６）。未選択の定義テーブルが存在する場合（ステップＳ２６においてＹｅｓ）、ＣＰＵ１１は、ステップＳ２２に戻る。一方、ヘッダ定義テーブル５１、ボディ定義テーブル５２及びフッタ定義テーブル５３を全て選択した場合（ステップＳ２６においてＮｏ）、ＣＰＵ１１は、シナリオデータ解析処理を終了する。ラベル属性テーブル５４及びリスト定義テーブル５５は、ステップＳ２２において選択されず、ヘッダ定義テーブル解析処理（ステップＳ２３）、ボディ定義テーブル解析処理（ステップＳ２４）、フッタ定義テーブル解析処理（ステップＳ２５）の実行中に用いられる。
【００５０】
［２．２．１．ヘッダ定義テーブル解析（ステップＳ２３）］
ＣＰＵ１１は、ヘッダ定義テーブル５１を解析して、図３に示すヘッダ領域４１を作成する（ステップＳ２３）。ヘッダ定義テーブル５１は、ライブラリ２２が備える複数のモジュールのうちユーザの操作に応じて特定されたモジュールを特定するためのモジュール特定データである。
【００５１】
図６は、ヘッダ定義テーブル５１を示す図である。図７は、ヘッダ領域４１、ボディ領域４２及びフッタ領域４３を構成する表示行の数を説明する図である。図６及び図７を参照して、ヘッダ領域４１とヘッダ定義テーブル５１との対応を説明する。
【００５２】
ヘッダ定義テーブル５１には、行番号「１」が設定されている。ヘッダ領域４１において、１つの表示行が配置されている。表示行とは、ヘッダ領域４１、ボディ領域４２及びフッタ領域４３を水平方向に区分した場合における各々の領域のことである。ヘッダ定義テーブル５１には、行番号「１」のみが設定されているため、ヘッダ領域４１の表示行の数は１である。ＣＰＵ１１は、ヘッダ定義テーブル５１を行番号ごとに解析して、各行番号に対応する表示行を作成する。
【００５３】
以下、ヘッダ定義テーブル５１の行と、ヘッダ領域４１の表示行とを区別するために、ヘッダ定義テーブル５１の行を「インデックス」と呼び、ヘッダ定義テーブル５１の行番号を「インデックス番号」と呼ぶ。ボディ定義テーブル５２及びフッタ定義テーブル５３の行番号についても同様とする。
【００５４】
図８は、ヘッダ定義テーブル解析処理（ステップＳ２３）のフローチャートである。図６及び図８を参照して、ＣＰＵ１１は、ヘッダ定義テーブル５１から、先頭のインデックス番号「１」を取得する（ステップＳ２３０１）。インデックス番号「１」には、３つのラベル名が設定されている。具体的には、左から順に、「バーコード」、「撮影」、「ガイダンス」がラベル名として設定されている。
【００５５】
ＣＰＵ１１は、インデックス番号「１」のラベル数「３」を取得し（ステップＳ２３０２）、ラベル数と、ヘッダ領域４１の幅とに基づいて、ヘッダ領域４１に配置されるラベルの幅を決定する（ステップＳ２３０３）。ラベル数は、インデックス番号「１」に設定されているラベル名の数である。すなわち、ＣＰＵ１１は、ラベル数「３」に基づいて、ヘッダ領域４１の幅を３等分して、各ラベルの幅を決定する。
【００５６】
ＣＰＵ１１は、ヘッダ定義テーブル５１の左側から順に、ラベル名及びラベル属性を取得する。具体的には、ＣＰＵ１１は、左側のラベル名「バーコード」と、ラベル属性「バーコード処理」を取得する（ステップＳ２３０４）。ＣＰＵ１１は、取得したラベル名及びラベル属性の両者が空白であるか否かを判断する（ステップＳ２３０５）。
【００５７】
取得したラベル名及びラベル属性の両者が空白でないため（ステップＳ２３０５においてＮｏ）、ＣＰＵ１１は、ラベル名「バーコード」を左詰めで表示する（ステップＳ２３０６）。すなわち、ヘッダ領域４１の３つに分割された領域のうち、左側の領域にラベル名「バーコード」が表示される。これにより、左側の領域がラベル４１１として使用される。ＣＰＵ１１は、ラベル属性「バーコード処理」をラベル４１１に割り当てる（ステップＳ２３０７）。
【００５８】
なお、図６に示すヘッダ定義テーブル５１において、ラベル属性が「文字表示」と設定されている場合、ラベルは、ボタンではなく、文字表示領域として設定される。また、ラベル属性が「文字入力」と設定されている場合、ラベルは、文字入力領域として設定される。つまり、ラベルは、ボタンでなくてもよく、設定されたラベル属性に応じた表示領域として用いられる。
【００５９】
一方、取得したラベル名及びラベル属性の両者が空白である場合（ステップＳ２３０５においてＹｅｓ）、ＣＰＵ１１は、左側の領域を空白のまま確保する（ステップＳ２３０８）。左側の領域は、空白の領域として保持される。
【００６０】
ＣＰＵ１１は、取得したラベル名が最後（右側）のラベル名であるか否かを判断する（ステップＳ２３０９）。取得したラベル名が最後でない場合（ステップＳ２３０９においてＮｏ）、ＣＰＵ１１は、次のラベル名及びラベル属性を取得し（ステップＳ２３１０）、ステップＳ２３０５に戻る。ＣＰＵ１１は、最後のラベル名を取得するまで（ステップＳ２３０９においてＹｅｓ）、ステップＳ２３０５〜Ｓ２３０８を繰り返し実行する。この結果、図３に示すように、フッタ領域４１において、ラベル名「撮影」が表示されたラベル４１２が中央の領域に配置され、ラベル名「ガイダンス」が表示されたラベル４１３が右側の領域に配置される。ラベル４１２には、ラベル属性「撮影処理」が割り当てられ、ラベル４１３には、ラベル属性「参照処理」が割り当てられる。後述するように、各ラベルに割り当てられたラベル属性は、ユーザの操作に応じて指定されたモジュールの特定に用いられる。
【００６１】
ステップＳ２３０９において、取得したラベル名が最後である場合（ステップＳ２３０９においてＹｅｓ）、ＣＰＵ１１は、現在のインデックス番号が最後であるか否かを確認する（ステップＳ２３１１）。
【００６２】
現在のインデックス番号が最後でない場合（ステップＳ２３１１においてＮｏ）、ＣＰＵ１１は、次のインデックス番号を取得し（ステップＳ２３１２）、ステップＳ２３０２に戻る。ＣＰＵ１１は、ステップＳ２３０２〜ステップＳ２３１０を繰り返し実行する。この場合、２つ以上の表示行がヘッダ領域４１に設定される。
【００６３】
一方、現在のインデックス番号が最後である場合（ステップＳ２３１１においてＹｅｓ）、ＣＰＵ１１は、ヘッダ定義テーブル解析処理を終了する。
【００６４】
［２．２．２．ボディ定義テーブル解析（ステップＳ２４）］
図９は、図５に示すボディ定義テーブル５２を示す図である。図９を参照して、ＣＰＵ１１は、ボディ定義テーブル５２をインデックス番号ごとに解析して、ボディ領域４２を作成する。
【００６５】
ボディ定義テーブル５２のうち、作業内容の欄及びラベル名の欄に設定されるデータは、検査帳票の項目と項目に対応するデータの入力方法をユーザの操作に応じて特定するための項目特定データに相当する。作業内容が、検査帳票の項目に相当する。インデックス番号が、作業内容ごとに付与される。作業内容は、大分類、中分類及び小分類により区分される。図９に示すように、小分類を設定しなくてもよい。
【００６６】
作業内容ごとに、検査結果に応じた様々なデータを入力することができる。入力されるデータは、入力されるデータの内容に応じて５種類に分類される。具体的には、入力されるデータの種類は、ラベル名に設定されているように、「種別・容量等の内容」、「不良内容」、「コメント」、「処置内容」及び「判定」である。データの入力方法（入力属性）が、ラベル名ごとに設定されている。つまり、ラベル名に対応して設定されるデータが、項目に対応するデータの入力方法に相当する。例えば、インデックス番号「１」において、「種別・容量等の内容」、「不良内容」及び「コメント」の入力属性として、「文字入力」が設定されている。「処置内容」の入力属性として「リスト入力２」が設定されている。「判定」の入力属性として、「リスト入力１」が設定されている。
【００６７】
遷移先行番号は、次の作業内容のインデックス番号を示す。例えば、インデックス番号「１」の遷移先行番号において、インデックス番号「４」がＯＫ遷移の欄に設定されている。これは、インデックス番号「１」の作業内容の判定結果として、「ＯＫ」が入力された場合、次に行われる作業が、インデックス番号「４」の作業であることを示す。遷移先行番号は、複数のモジュールのうちユーザの操作に応じて指定されたモジュールを特定するためのモジュール特定データに相当する。遷移先行番号の詳細は、後述する。
【００６８】
参照ファイルには、各インデックス番号の作業内容に関する手順書、見本画像などの格納先が設定される。インデックス番号「１」の参照ファイルとして、「液量見本」が設定されている。例えば、ユーザが、インデックス番号「１」の作業内容の結果を入力中に、ヘッダ領域４１（図３参照）のラベル４１３をタッチした場合、液量見本の画像がタッチパネル１３に表示される。
【００６９】
帳票紐付け番号は、表計算ソフトウェアにより作成された検査帳票の印刷用テンプレートにおいて、作業内容に対応するデータが配置されるセルを示す。各作業内容に対応するデータが帳票紐付け番号に従って印刷用テンプレートに配置されることにより、検査結果が反映された電子帳票を自動的に作成して印刷することができる。
【００７０】
図１０及び図１１は、ボディ定義テーブル解析処理（ステップＳ２４）のフローチャートである。図１０を参照して、ＣＰＵ１１は、先頭のインデックス番号「１」を取得する（ステップＳ２４０１）。ＣＰＵ１１は、インデックス番号「１」の大分類〜小分類を取得し（ステップＳ２４０２）、取得した分類をボディ領域４２の１番目の表示行に表示する（ステップＳ２４０３）。図３を参照して、「エンジン＞バッテリー」の文字列が、ボディ領域４２の１番目の表示行に表示される。
【００７１】
ＣＰＵ１１は、項目名及びラベル名をボディ定義テーブル５２から取得し（ステップＳ２４０４）、取得した項目名及びラベル名をボディ領域４２の２番目の表示行に表示する（ステップＳ２４０５）。図３に示すように、ステップＳ２４０４、Ｓ２４０５の処理により、ボディ領域４２の２番目の表示行には、「作業内容」が項目名として表示され、「種別・容量等の内容」、「不良内容」、「コメント」、「処置内容」及び「判定」がラベル名として表示される。
【００７２】
ＣＰＵ１１は、ステップＳ２４０６〜Ｓ２４０８を実行して、取得したインデックス番号「１」の表示行を作成する。具体的には、ＣＰＵ１１は、インデックス番号「１」の作業内容（帳票の項目）を取得し（ステップＳ２４０６）、インデックス番号「１」の表示行の一番左側の欄に、取得した作業内容を表示する（ステップＳ２４０７）。ＣＰＵ１１は、各ラベル名に対応するセル４２１を確保する（ステップＳ２４０８）。これにより、インデックス番号「１」に対応する表示行が作成される。
【００７３】
ＣＰＵ１１は、インデックス番号「１」の階層に基づいて、インデックス番号「１」の表示行をボディ領域４２に表示するか否かを決定する（ステップＳ２４０９）。
【００７４】
ここで、図９を参照して、ボディ定義テーブル５２の階層について説明する。本実施の形態において、それぞれの作業内容は、ツリー構造で構成される。作業内容に対応して設定される階層は、ツリー構造の深さを示すパラメータである。階層として１が設定されたインデックス番号の作業内容は、最上位の項目を示す。階層として２以上が設定されたインデックス番号は、下位項目となる。
【００７５】
例えば、インデックス番号「３」は、階層が２であるため、下位項目である。インデックス番号「３」が従属するインデックス番号は、以下のように決定される。階層として１が設定されたインデックス番号のうち、インデックス番号「３」の上側に位置し、インデックス番号「３」に一番近いインデックス番号「１」が、インデックス番号「３」の従属先として決定される。つまり、インデックス番号「１」の作業内容（項目）は、インデックス番号「３」の上位項目である。逆に、インデックス番号「３」の作業内容（項目）は、インデックス番号「１」の下位項目である。
【００７６】
図９及び図１０を参照して、ステップＳ２４０９の説明に戻る。インデックス番号「１」の階層が１であるため、ＣＰＵ１１は、インデックス番号「１」の表示行を表示することを決定する。これにより、インデックス番号「１」の表示行が、ボディ領域４２に配置される。図３を参照して、「１．バッテリーの液量は適切か」という文字列と、各ラベルに対応する空欄のセル４２１とを含むインデックス番号「１」の表示行が、ボディ領域４２の３行目に配置されていることが分かる。
【００７７】
ＣＰＵ１１は、取得したインデックス番号がボディ定義テーブル５２の最後であるか否かを確認する（ステップＳ２４１０）。インデックス番号「１」が最後でないため（ステップＳ２４１０においてＮｏ）、ＣＰＵ１１は、次のインデックス番号「２」を取得し（ステップＳ２４１１）、ステップＳ２４０６に戻る。以下、取得したインデックス番号が最後となるまで（ステップＳ２４１０においてＹｅｓ）、ＣＰＵ１１は、ステップＳ２４０６〜Ｓ２４１１を繰り返す。この結果、各インデックス番号に対応する表示行が作成され、作成された表示行が、ボディ領域４２に配置されるか否かが決定される（ステップＳ２４０９）。
【００７８】
図９を参照して、インデックス番号「２」、「３」及び「５」の階層が２である。従って、ＣＰＵ１１は、インデックス番号「２」、「３」及び「５」の表示行を非表示に決定する（ステップＳ２４０９）。一方、インデックス番号「４」、「６」及び「７」の階層は１であるため、ＣＰＵ１１は、インデックス番号「４」、「６」及び「７」の表示行を表示することを決定する（ステップＳ２４０９）。この結果、図３に示すように、ボディ領域４２には、階層が１に設定されたインデックス番号の表示行のみが表示される。
【００７９】
つまり、ボディ定義テーブル５２は、上位項目と、上位項目に従属する下位項目とを含む。上位項目は、階層が１である作業内容（帳票の項目）であり、下位項目は、階層が２以上である作業内容（帳票の項目）である。ユーザは、ボディ定義テーブル５２において、階層を作業内容ごとに設定することにより、ボディ領域４２に最初に表示される項目を選択することができる。
【００８０】
図１１を参照して、ＣＰＵ１１は、ステップＳ２４１２〜Ｓ２４１９を実行して、インデックス番号「１」に対応する表示行の入力レイヤを作成する。図１２は、入力レイヤ４４が配置された入力画面４０を示す図である。図１２では、ヘッダ領域４１及びフッタ領域４３の構成を示す符号の表示を省略している。
【００８１】
図１２を参照して、入力レイヤ４４は、各作業内容の結果を入力するために用いられる。入力レイヤ４４に配置されるテキストボックス４４ａなどは、セル４２１よりも大きく表示される。したがって、ユーザは、入力レイヤ４４を用いることで、作業内容に対応するデータを容易に入力することができる。
【００８２】
また、入力レイヤ４４が表示される場合、ボディ領域４２において、入力対象の作業内容（帳票の項目）と、入力レイヤ４４とがハイライト表示され、その他の作業内容は、グレーアウト（図１２においてハッチングの領域）で表示される。これにより、ユーザは、入力レイヤ４４がどの作業内容に対応しているかを容易に認識することができる。
【００８３】
また、ユーザは、入力レイヤ４４を簡易な操作で表示させることができる。ユーザは、図３に示す入力画面４０において、タッチパネル１３を右から左方向にフリックすることにより、入力レイヤ４４を表示させることができる。入力レイヤ４４を非表示にする場合、ユーザは、左から右方向にフリックすればよい。
【００８４】
再び図９及び図１１を参照して、入力レイヤ４４の作成について説明する。ＣＰＵ１１は、ボディ定義テーブル５２の項目名及びラベル名を取得して入力レイヤ４４に配置する（ステップＳ２４１２）。ＣＰＵ１１は、先頭行のインデックス番号「１」を取得する（ステップＳ２４１３）。ＣＰＵ１１は、取得したラベル名のうち、一番左側のラベル名を選択し（ステップＳ２４１４）、インデックス番号「１」において、一番左側のラベル名に対応する入力属性が空白であるか否かを判定する（ステップＳ２４１５）。
【００８５】
インデックス番号「１」の一番左側のラベル名に対応する入力属性が「文字入力」である（ステップＳ２４１５においてＮｏ）。このため、ＣＰＵ１１は、一番左側のラベル名と、入力属性「文字入力」に対応するテキストボックス４４ａを入力レイヤ４４に配置する（ステップＳ２４１６）。一方、インデックス番号「１」の一番左側のラベル名が空白であった場合（ステップＳ２４１５においてＹｅｓ）、ＣＰＵ１１は、選択したラベル名に対応する入力インタフェースを入力レイヤ４４に配置することなく、ステップＳ２４１８に進む。
【００８６】
ＣＰＵ１１は、選択したラベル名が最後（一番右側）でない場合（ステップＳ２４１８においてＮｏ）、次のラベル名を選択し（ステップＳ２４１９）、ステップＳ２４１５に戻る。以下、最後のラベル名が選択されるまで（ステップＳ２４１８においてＹｅｓ）、ＣＰＵ１１は、ステップＳ２４１５〜Ｓ２４１９を繰り返す。これにより、図１２に示すような入力レイヤ４４が作成される。
【００８７】
図１２を参照して、テキストボックス４４ａ〜４４ｃが、ラベル名「種別・容量等の内容」、「不良内容」及び「コメント」に対応する入力インタフェースとして、入力レイヤ４４に配置される。ラベル名「処置内容」及び「判定」の入力属性は、それぞれ、「リスト入力２」及び「リスト入力１」である。このため、リスト４４ｄ，４４ｅが、ラベル名「処置内容」及び「判定」の入力インタフェースとして表示される。図１３に示すように、「リスト入力１」及び「リスト入力２」の内容は、リスト定義テーブル５５に設定されている。ＣＰＵ１１は、リスト定義テーブル５５に基づいてリスト４４ｄ，４４ｅを作成し、入力レイヤ４４に配置する。
【００８８】
ＣＰＵ１１は、選択したラベル名が最後（一番右側）である場合（ステップＳ２４１８においてＹｅｓ）、ボディ定義テーブル解析処理を終了する。ボディ定義テーブル解析処理により作成されたボディ領域４２と、入力レイヤ４４とは、タッチパネル１３に表示される。
【００８９】
［２．２．３．フッタ定義テーブル解析（ステップＳ２５）］
ＣＰＵ１１は、フッタ定義テーブル５３を解析して、図３に示すフッタ領域４３を作成する（ステップＳ２３）。フッタ定義テーブル５３は、モジュール特定データとして用いられる。
【００９０】
図１４は、フッタ定義テーブル５３を示す図である。図６及び図１４を参照して、フッタ定義テーブル５３は、ヘッダ定義テーブル５１と同様の構成であるため、ヘッダ定義テーブル５１と異なる点を中心に説明する。フッタ定義テーブル５３は、４つのラベル名及びラベル属性が設定されている点がヘッダ定義テーブル５１と異なる。また、フッタ定義テーブル５３に設定されているラベル名及びラベル属性は、ヘッダ定義テーブル５１のものと異なる。
【００９１】
フッタ定義テーブル解析処理（ステップＳ２５）は、図８に示すヘッダ定義テーブル解析処理と同様の処理であるため、その詳細な説明を省略する。フッタ領域４３に配置されるラベル４３１〜４３３のラベル名とラベル属性とが、フッタ定義テーブル５３に基づいて設定される。
【００９２】
図４を参照して、ヘッダ定義テーブル解析処理（ステップＳ２３）、ボディ定義テーブル解析処理（ステップＳ２４）及びフッタ定義テーブル解析処理（ステップＳ２５）が実行されることにより、ヘッダ領域４１、ボディ領域４２及びフッタ領域４３が作成される。ＣＰＵ１１は、ヘッダ領域４１、ボディ領域４２及びフッタ領域４３を含む入力画面４０（図３参照）をタッチパネル１３に表示する（ステップＳ３、図２参照）。インデックス番号「１」に対応する入力レイヤ４４が、図１２に示すように、ボディ領域４２の上に重ねて配置される。
【００９３】
［３．ヘッダ処理（ステップＳ５）及びフッタ処理（ステップＳ７）］
ユーザは、自動車の検査結果を、図３又は図１２に示す入力画面４０に入力する。ユーザは、検査結果の入力中に、ヘッダ領域４１のラベル４１１〜４１３又はフッタ領域４３のラベル４３１〜４３４にタッチすることにより、データ入力以外の動作を帳票作成装置１に実行させることができる。
【００９４】
以下、ラベル４１１がタッチされた場合を例にして、ヘッダ処理（ステップＳ５、図２参照）について説明する。なお、フッタ処理（ステップＳ７）は、ヘッダ処理（ステップＳ５）と同様の処理であるため、その詳細な説明を省略する。
【００９５】
図２を参照して、ＣＰＵ１１は、ヘッダ領域４１に対応する座標がタッチされた場合（ステップＳ４において「ヘッダ領域」）、ヘッダ処理を実行する（ステップＳ５）。
【００９６】
図１５は、ヘッダ処理（ステップＳ５）及びフッタ処理（ステップＳ７）のフローチャートである。図１５を参照して、ＣＰＵ１１は、タッチされた座標を取得し（ステップＳ５１）、ヘッダ定義テーブル５１に基づいて、取得した座標をラベル名「バーコード」に変換する（ステップＳ５２）。上述のように、ラベル４１１〜４１３の幅は、ラベル数に基づいて３等分されており、ラベル４１１〜４１３は、左から順に配置される。従って、ＣＰＵ１１は、タッチされた座標がヘッダ領域４１のどのラベルに対応するかを決定することができる。
【００９７】
ＣＰＵ１１は、ヘッダ定義テーブル５１を参照して、変換されたラベル名「バーコード」に対応するラベル属性「バーコード処理」を取得する（ステップＳ５３）。ＣＰＵ１１は、ラベル属性テーブル５４を解析して、ラベル属性「バーコード処理」を実行するモジュール２２ｂを決定する（ステップＳ５４）。図１６は、ラベル属性テーブル５４を示す図である。図１６を参照して、ラベル属性テーブル５４には、ラベル属性に対応するモジュールを特定する情報（モジュール名、ライブラリ名など）が記述されている。
【００９８】
ＣＰＵ１１は、ステップＳ５４により決定されたモジュール２２ｂを実行する（ステップＳ５５）。これにより、バーコード読み取り処理が実行される。例えば、検査対象の自動車に関する情報が記録されたバーコードが、検査対象の自動車に貼り付けられている場合、ユーザは、バーコードを帳票作成装置１に読み取らせる。これにより、帳票作成装置１は、検査対象の自動車に関する情報を取得し、入力画面４０に入力される作業結果と対応付けることが可能となる。
【００９９】
ＣＰＵ１１は、モジュール２２ｂの実行結果を表示して（ステップＳ５６）、ヘッダ処理（ステップＳ５）を終了する。バーコード読み取り処理が実行された場合、ＣＰＵ１１は、バーコードの読み取り結果をタッチパネル１３に表示して、読みとった情報を保存するか否かを確認してもよい。
【０１００】
図３及び図１４を参照して、ラベル４３２がタッチされた場合、ＣＰＵ１１は、ラベル名４３２ａに対応するラベル属性「前シナリオ定義処理」を特定する。ＣＰＵ１１は、図１６に示すラベル属性テーブル５４を解析して、「前シナリオ定義処理」に対応するモジュールＣを実行する。「前シナリオ定義処理」は、シナリオ定義データ３１を解析して、シナリオ定義データ３１に対応する入力画面４０を表示する処理である。つまり、モジュールＣは、帳票作成プログラム２１に組み込まれている。同様に、ラベル４３３がタッチされた場合、ＣＰＵ１１は、帳票作成プログラム２１に組み込まれたモジュールＤを実行して、シナリオ定義データ３３を解析する。
【０１０１】
［４．ボディ処理（ステップＳ６）］
図２を参照して、ＣＰＵ１１は、ボディ領域４２に対応する座標がタッチされた場合（ステップＳ４において「ボディ領域」）、ボディ処理（ステップＳ６）を実行する。ボディ処理は、タッチされた場所に対応した入力レイヤ４４を作成したり、入力結果に応じて表示行を追加したりする処理である。
【０１０２】
図１７は、ボディ処理（ステップＳ６）のフローチャートである。図３に示す表示行４５がタッチされた場合を例にして、ボディ処理（ステップＳ６）を説明する。
【０１０３】
図１７を参照して、ＣＰＵ１１は、タッチされた座標を取得し（ステップＳ６１）、取得した座標に対応する表示行４５のインデックス番号を特定する（ステップＳ６２）。表示行４５に表示されている作業内容「２．バッテリー液の比重は適切か」は、インデックス番号「４」に対応する。ＣＰＵ１１は、ステップＳ６２において、インデックス番号「４」を特定する。
【０１０４】
ＣＰＵ１１は、ボディ定義テーブル５２を参照して、インデックス番号「４」のラベル名及びラベル属性を取得する（ステップＳ６３）。ＣＰＵ１１は、取得したラベル名及び入力属性に基づいて、インデックス番号「４」に対応する入力レイヤ４４を作成して、入力画面４０上に表示する（ステップＳ６４）。インデックス番号「４」に対応する入力レイヤ４４は、図１２に示す入力レイヤ４４と同様の構成である。ステップＳ６４は、図１１のステップＳ２４１４〜Ｓ２４１９の処理に対応する。
【０１０５】
ユーザは、インデックス番号「４」に対応する入力レイヤ４４に、インデックス番号「４」の作業内容の結果（バッテリー液の比重の検査結果）を入力する。入力レイヤ４４に入力された検査結果は、図３に示す表示行４５の各セルにも反映される。なお、ユーザは、セル４２１に検査結果を直接入力してもよい。各セル４２１の入力方法は、インデックス番号「４」の入力属性に応じて決定される。
【０１０６】
ＣＰＵ１１は、入力レイヤ４４又は表示行４５のセル４２１に入力されたデータを取得する（ステップＳ６５）。ＣＰＵ１１は、取得したデータに対応する遷移先行番号がボディ定義テーブル５２に設定されているか否かを確認する（ステップＳ６６）。
【０１０７】
具体的には、図９を参照して、インデックス番号「６」が、インデックス番号「４」のＯＫ遷移の欄に、遷移先行番号として設定されている。インデックス番号「４」に対応する入力レイヤ４４のリスト４４ｅ、又は表示行４５の「判定」に対応するセル４２１において、「ＯＫ」が入力された場合、ＣＰＵ１１は、遷移先行番号が設定されていると判断する（ステップＳ６６においてＹｅｓ）。ＣＰＵ１１は、設定された遷移先行番号（インデックス番号「６」）を取得する（ステップＳ６７）。
【０１０８】
ＣＰＵ１１は、取得したインデックス番号「６」の表示行が入力画面４０に既に表示されているか否かを判断する（ステップＳ６８）。図３及び図９を参照して、インデックス番号「６」の作業内容は、「３．バッテリーの電圧は適切か」であり、図３に示すボディ領域４２に既に表示されている（ステップＳ６８においてＹｅｓ）。ＣＰＵ１１は、ステップＳ６３に戻り、インデックス番号「６」に対応する入力レイヤ４４を作成する。
【０１０９】
図９及び図１７を参照して、ステップＳ６６の説明に戻る。インデックス番号「４」の遷移先行番号において、ＮＧ遷移の欄には、インデックス番号が設定されていない。このため、インデックス番号「４」に対応する入力レイヤ４４のリスト４４ｅにおいて、「ＮＧ」が入力された場合、ＣＰＵ１１は、遷移先行番号が設定されていないと判断する（ステップＳ６６においてＮｏ）。ＣＰＵ１１は、処理対象のインデックス番号「４」をインクリメントすることにより（ステップＳ７０）、新たな処理対象のインデックス番号「５」を取得する。
【０１１０】
ＣＰＵ１１は、新たに取得したインデックス番号「５」がボディ定義テーブル５２の最後のインデックス番号よりも大きいか否かを判断する（ステップＳ７１）。新たに取得したインデックス番号「５」が最後のインデックス番号よりも大きい場合（ステップＳ７１においてＹｅｓ）、ＣＰＵ１１は、図１７に示す処理を終了する。
【０１１１】
一方、新たに取得したインデックス番号「５」が最終のインデックス番号以下である場合（ステップＳ７１においてＮｏ）、ＣＰＵ１１は、インデックス番号「５」の表示行が既に表示されているか否かを判定する（ステップＳ６８）。図３及び図９を参照して、インデックス番号「５」の作業内容「２．１．バッテリー液の比重の調整はできたか」が、ボディ領域４２に表示されていない（ステップＳ６８においてＮｏ）。この理由は、インデックス番号「５」の階層が２に設定されているためである。ＣＰＵ１１は、インデックス番号「５」の表示行をボディ領域４２に追加する（ステップＳ６９）。
【０１１２】
このように、ボディ定義テーブル５２において、遷移先行番号の欄に設定されるデータは、帳票作成装置１の動作を指定するモジュール特定データとして機能する。遷移先行番号に対応する表示行を追加するモジュールは、ライブラリ２２に格納されるのではなく、帳票作成プログラム２１に組み込まれている。
【０１１３】
図１８は、新たに表示行が追加された入力画面４０を示す図である。図１８を参照して、インデックス番号「４」に対応する表示行４５と、インデックス番号「６」に対応する表示行４６との間に、インデックス番号「５」に対応する表示行４７が新たに追加されている。ＣＰＵ１１は、ステップＳ６３に戻り、インデックス番号「５」の入力レイヤ４４を表示する。
【０１１４】
このように、ＣＰＵ１１は、ボディ処理（ステップＳ６）において、処理対象の表示行のリスト４４ｅにおいて、ＯＫ又はＮＧが入力された場合、入力結果に応じて遷移先のインデックス番号を決定する。遷移先のインデックス番号が表示されていない場合、ＣＰＵ１１は、遷移先の表示行をボディ領域４２に追加する。ＣＰＵ１１は、作業内容の入力結果に応じて、ボディ領域４２に表示される表示行を動的に変更することができる。ユーザは、入力する必要のない帳票の項目を表示させずに、自動車の検査結果を帳票作成装置１に入力できるため、効率的に検査帳票を作成することができる。
【０１１５】
上記実施の形態において、遷移先行番号がリスト２２ｅに対する入力結果によって決定される例を説明したが、これに限られない。ボディ定義テーブル５２は、図１８に示すように、入力される数値によって、遷移先のインデックス番号を決定してもよい。図１８に示すボディ定義テーブル５２において、インデックス番号「４」のラベル名「種別・容量等の内容」の入力属性は、「数値入力」である。また、遷移先行番号として、下限遷移の欄にインデックス番号「６」が設定されている。設定レンジの下限の欄に「０．５」が設定されている。０．５以下の数値が、ラベル名「種別・容量等の内容」に対応するセル４２１に入力された場合、ＣＰＵ１１は、遷移先のインデックス番号が「６」であると判定する。なお、図１８において、階層の表示を省略している。
【０１１６】
上記実施の形態において、帳票作成プログラム２１がタブレット型端末などのコンピュータにインストールされている例を説明した。帳票作成プログラム２１をインストールする方法は、特に限定されない。例えば、帳票作成プログラム２１は、ネットワークに接続されたサーバからダウンロードされ、タブレット端末にインストールされてもよい。あるいは、帳票作成プログラム２１を記録したコンピュータ読み取り可能な媒体（例えば、光ディスク、ＵＳＢ（Universal Serial Bus）メモリ、フレキシブルディスクなど）が配布されている場合、帳票作成プログラム２１は、その媒体からタブレット型端末にインストールされてもよい。
【０１１７】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１１８】
１  帳票作成装置
１１  ＣＰＵ
１２  ＲＡＭ
１３  タッチパネル
１４  ネットワークインタフェース
１５  カメラ
２１  帳票作成プログラム
３１〜３３  シナリオ定義データ
４１  ヘッダ領域
４２  ボディ領域
４３  フッタ領域
５１  ヘッダ定義テーブル
５２  ボディ定義テーブル
５３  フッタ定義テーブル
【図１】
2014075003.tif 000003
【図２】
2014075003.tif 000004
【図３】
2014075003.tif 000005
【図４】
2014075003.tif 000006
【図５】
2014075003.tif 000007
【図６】
2014075003.tif 000008
【図７】
2014075003.tif 000009
【図８】
2014075003.tif 000010
【図９】
2014075003.tif 000011
【図１０】
2014075003.tif 000012
【図１１】
2014075003.tif 000013
【図１２】
2014075003.tif 000014
【図１３】
2014075003.tif 000015
【図１４】
2014075003.tif 000016
【図１５】
2014075003.tif 000017
【図１６】
2014075003.tif 000018
【図１７】
2014075003.tif 000019
【図１８】
2014075003.tif 000020
【図１９】
2014075003.tif 000021