1C という名前はもともと「1 秒」というフレーズを意味していたと言われています。 プログラムはレポートを「1 秒以内」に迅速に作成する必要があります。 レポートの速度は非常に重要ですが、レポートが正しい情報を提供することはさらに重要です。Trade Management 10.3 構成に基づいて 1C 8.3 で単純なレポートを作成する例を使用してこれを理解します。 正しいレポートを作成するには、1C を設定でき、1C の内部言語とクエリ言語で少しプログラミングできることが望ましい (さらに強く推奨されます)。ただし、一方で、レポートの作成は素晴らしい機会です。これらのスキルの習得を開始します。
この説明は、1C レポート作成の基本原則を理解するための教育的です。
1C 8.3 でレポートを作成する方法
レポートを作成するには、1C をコンフィギュレータ モードで開く必要があります。これを行うには、1C 起動ウィンドウでリストから目的のデータベースを選択し、[コンフィギュレータ] ボタンをクリックします。
コンフィギュレーター自体で、「ファイル」メニューに移動し、「新規」を選択します。
表示されるメニューで、「外部レポート」を選択し、「OK」をクリックします。
この後、新しいレポート ウィンドウが開きます。 「名前」フィールドに、スペースや特殊文字を含まないレポートの名前を入力します。
レイアウトを使用してレポートを作成する方法
この方法では 1C のプログラミング スキルが最も必要ですが、ここではデータの受信と処理のメカニズムを分析するのではなく、レポートを起動して画面にレポート フォームを表示するメカニズムを理解するために簡単なレポートを作成します。
レポート ウィンドウ (レポートの作成時に開きます) の下部のリストで、[レイアウト] 項目にカーソルを置き、右クリックして表示されるメニューで [追加] をクリックします。
開いたレイアウト デザイナーで、レイアウトの名前を指定できます。レイアウト タイプとして [スプレッドシート ドキュメント] を選択し、デザイナーの [完了] ボタンをクリックします。
これにより、Excel シートに似たレイアウト ウィンドウが開きます。
このレイアウトでは、プログラムがテンプレートとして使用する行または列のグループである領域を作成し、データベースから受け取ったデータをそこに挿入し、これらのテンプレートを画面上に表示して、これらの部分からレポートをまとめる必要があります。
項目のリストを表示するレポートを作成してみましょう。 これを行うには、レポート ヘッダーとアイテム行という 2 つのレイアウト領域を作成します。
ヘッダー領域を作成するには、行ヘッダー (行番号が表示されている) を左クリックして、次のように行を選択します (ヘッダーを 1 回クリックするだけで行全体が選択されます)。
その後、メイン メニューの [テーブル] メニューに移動し、[名前] サブメニューに移動して、[名前の割り当て] 項目をクリックします。
プログラムはエリア名の指定を求めるプロンプトを表示します。名前にはスペースや特殊文字も含めることはできません。その後、「OK」をクリックすると、次のようになります。
次に、作成した領域に、レポートに表示されるテキストを入力し、書式設定する必要があります。 これを行うには、最初のセルに「項目のリスト」などのテキストを入力します。 セルの操作は Excel と似ています。
セル内のテキストの書式を設定するには、セルを右クリックし、「プロパティ」をクリックします。 セルのプロパティ ウィンドウが右側に開きます。 ウィンドウの内容を下にスクロールして、[フォント] フィールドを見つけて、[...] ボタンをクリックします。
開いたウィンドウの「スタイル」セクションで、「太字」ボックスをオンにして「OK」をクリックします。
レイアウトは次のようになります。
同様に、項目行領域を作成しますが、太字で強調表示しません。
行領域では、Name がパラメータであることを示す必要があります。 レポートを出力するときに、アイテムの実際の名前がそこに置き換えられることを確認します。 これを行うには、その名前のセルのプロパティを開き、[Filling] フィールドのプロパティで値 [Option] を選択します。これでレイアウトの設定が完了します。
メイン レポート ウィンドウに戻り、下部のリストで [フォーム] 項目を右クリックし、[追加] をクリックします。
開いたレポート フォーム デザイナーで、[完了] ボタンをクリックすると、レポート フォームが開き、[生成] ボタンをダブルクリックします。
その結果、画面の右側にボタンのプロパティ ウィンドウが開き、[アクション] フィールドで虫眼鏡をクリックします。
この後、レポートの生成をプログラムする必要があるフォーム モジュールが開きます。
まず、選択したテキストを次のプログラム コードに置き換えます。
// レポートの一部を入力して画面に表示するスプレッドシート ドキュメントを作成します
TabDocument = 新しい表形式ドキュメント;
//次に、レポート作成時に作成されたレイアウトを取得します。
レイアウト = GetLayout("レイアウト");
// 次に、レポート ヘッダーを表示する必要があります。このために、レイアウトからヘッダー領域を取得し、スプレッドシート ドキュメントに表示します。
AreaHeader = Layout.GetArea("ヘッダー");
TabDocument.Output(AreaHead);
// クエリを使用して、レポートに表示する必要がある項目名の選択を取得します
リクエスト = 新しいリクエスト。
リクエスト.テキスト = "
|選択
| 名前
|から
| ディレクトリ.命名法
|";
// レイアウトから項目行領域を取得します - ループ内でアクセスして各項目を表示します
AreaString = Layout.GetArea("文字列");
// 結果の選択結果から各名前をループで処理します
選択 = Query.Run().Select();
While Select.Next() ループ
//次の行を表示するには、areaパラメータに次の名前を指定する必要があります(パラメータ自体はレイアウト作成時に設定しました)
AreaString.Parameters.Name = 選択.名前;
//パラメータが入力されたので、文字列を表示できるようになります
TabDocument.Output(AreaString);
エンドサイクル;
//スプレッドシートドキュメントが作成されたので、画面に表示します
TabDocument.Show("項目のリスト");
テキストがフォーム モジュールにコピーされると、二重スラッシュ「//」で始まる行が緑色で強調表示されます。これらは、コードの各行の動作を説明するコメントです。
レポートを生成するために必要なプログラム コードの行をまとめてみましょう。
- レポートの一部を入力して画面に表示するスプレッドシート ドキュメントを作成する必要があります。これは、「TabDocument = New TabularDocument;」という行で行われます。
- レポートのレイアウトを取得する必要があります。そこからパーツ (領域) のレポート構造を取得します。これは、「Layout = GetLayout("Layout")」という行で行われます。
- 各領域を表示するには、レイアウトから取得してスプレッドシート ドキュメントに出力する必要があります。これは、「Header Area = Layout.GetArea("Header")」および「TabDocument.Output(HeaderArea)」の行で行われます。 」
- プログラムの実行時にのみ判明するパラメータを入力する必要がある場合は、そのようなパラメータを入力する必要があるエリアを表示する前に、「AreaString.Parameters.Name = Selection.Name」という行でこれを行います。
- そして、スプレッドシート文書にレポートの必要な部分がすべて入力された場合にのみ、それが画面に表示されます。これは、「TabDocument.Show("List of items")」行で行われます。
これで、レポートの動作を確認できます。エンタープライズ モードで 1C を開きます (1C 起動ウィンドウのボタン 1C: Enterprise)。 メイン メニューで、[ファイル] メニューに移動し、[開く] をクリックします。
保存されたレポート ファイルを見つけて開きます。 開いたフォームで、「生成」ボタンをクリックします。
そして、命名規則のリストを取得します。
これは、1C でレポートを作成する方法の 1 つにすぎません。 次の記事では、他のものについて見ていきます。
1C が提供するソフトウェア製品の操作には、一次情報の入力と体系化 (ディレクトリへの記入や適時の文書入力) だけでなく、このデータに基づいたさまざまな印刷フォームの作成も含まれます。 これらの目的のために、レポートという特別なオブジェクトが作成されました。 1C のレポートは、さまざまな指標の観点から会社の現状を分析するのに役立ち、この情報に基づいて適切な経営上の意思決定を行う機会を提供します。
レポートと処理
一般に、次の 2 つのタイプのオブジェクトの間に大きな違いはありません。
- 印刷されたフォームのレイアウトが含まれる場合があります。
- モジュール内に情報を変更するための手順が含まれている場合があります。
- これらは内部または組み込みの場合があります。
- 標準構成の外部レポートと外部処理は、同じディレクトリに保存されます。
使用原則に従って、レポートと処理を条件付きで分割できます。 情報をわかりやすい形式で表示するにはレイアウトが必要で、データベースに変更を加えるために処理が作成されます。 さらに、出力テーブルでは、返されるドキュメントの外観を形成するメインのレイアウト スキームや、パラメーターを保存するための設定を指定できます。
この記事で物理的に考慮されているオブジェクトは、ファイル拡張子によって外部処理とは異なります。
- 外部処理 – EPF;
- 外部レポート – erf.
外部レポートと組み込みレポート
1C の構成のツリーをよく見ると、レポート ブランチもあることに気づくでしょう (図 1)。
外部プロセッサと内部プロセッサの間には実質的に違いはありません。 さらに、任意の ert ファイルを構成に埋め込むことができ、その逆に、組み込みメカニズムを外部リソースにアップロードすることもできます。 たとえば、標準の「資金への寄付の分析」プロセッサに変更を加えたい場合は、対応するオブジェクトのコンテキスト メニューを呼び出し、サブメニュー「外部として保存...」を選択する必要があります (図 2)。
米。 2
逆のアクションは「外部と置換」サブメニューによって呼び出されますが、このためには構成を変更できるように開いておく必要があります。
組み込みオブジェクトの唯一の違いは、モジュールのプログラム コードからアクセスできることです。外部レポートの場合、適切なリファレンス ブックに追加しない限り、これを行うのは非常に困難です。
外部レポートの作成
外部レポートはコンフィグレータ モードでのみ作成できます。そのためには、組み込みプログラミング言語の知識が必要であり、おそらくその言語とクエリ デザイナーを操作する能力が必要です。
基本的に、プログラマにはデータベース テーブルから抽出されたデータを組み立てる 2 つのオプションがあります。
- データ構成システム (DCS) メカニズムを使用します。
- 事前に用意されたレイアウトを使用して、スプレッドシート ドキュメントにプログラムで入力します。
2 番目のケースでは、開発者は、ユーザーの作業中にアクセス制御システムで作成できるインターフェイス、選択、グループ化、その他のものについて独自に考える必要があります。
ただし、選択したメカニズムに関係なく、「ファイル」メニューの「新規」サブメニューから開始する必要があります。 開発者には、作成するオブジェクトを選択するためのメニューが表示されます (図 3)。
米。 3
米。 4
ここで次のことがわかります。
- オブジェクトの目的をできるだけ正確に要約した名前。
- 同義語とコメントは完全な説明を目的としています。
- 基本レイアウト スキーム – ここで、レポートの印刷に使用されるスキームを指定できます。
- 「図を開く...」ボタンをクリックすると、処理結果のデザイナーが開きます。
- フォーム、詳細、レイアウトを説明するウィンドウ。
「アクション」ボタンをクリックすると、作成中のオブジェクトのモジュールを開くことができます。
配置図
ACS を使用してレポートを作成すると、開発者の作業が大幅に簡素化されます。
- オブジェクトの形状を考えて作成する必要はありません。
- 表示されたフォームの選択、グループ化、列はユーザー モードで動的に変更できます。
- 最終的なテーブルを生成するためのいくつかのオプションを作成して保存することができます。
これが、最新のソリューションでデータ レイアウト スキームの人気が高まっている理由です。 適切なボタンをクリックすると、ACS デザイナーが開発者の前に開きます。 (図5)
米。
5
スキーマはオブジェクト レイアウトに保存されます。
内部レポートおよび組み込みレポートに加えて、これらのオブジェクトを保存およびアクセスする別の可能性、つまり「追加処理」ディレクトリがあります。
外部オブジェクトをデータベースに登録する
最新の 1C ソフトウェア製品のベースとなっているマネージド フォームでは、外部処理をデータベースに登録するためのフォームが大幅に変更されました。
以前 (通常のフォームの場合) に、対応するディレクトリに新しい要素を作成し、保存されているハンドラーの種類を指定し、ert 形式ファイルへのパスを決定するだけで十分だった場合、マネージド フォームでは、登録されたオブジェクトのモジュールから登録が行われます。
これを行うには、ハンドラーモジュールに外部処理情報エクスポート関数を定義する必要があります。 (図6)
米。 6
図 6 は、ディレクトリにファイルを登録できるコマンドのおおよそのセットを示しています。
情報を含む関数に加えて、別のプロシージャ (コマンドの追加) と関数 (コマンド テーブルの取得) がここに表示されます。 それらの内容を図に示します。 7
米。 7
データ構成システムを使用して 1C 8.3 でレポートを作成するプロセスを見てみましょう。 たとえば、次のタスクを考えてみましょう。レポートでは、特定の期間および選択した組織の商品およびサービスの販売伝票の商品の表部分からデータを入力する必要があります。 また、アカウント、ドキュメントへのリンク、アイテムのフィールドごとにデータをグループ化する必要があります。
結果のレポートの例は、からダウンロードできます。
「ファイル」->「新規」メニューを使用して、新しい外部レポートを追加し、名前を付けてディスクに保存します。 [データ レイアウト図を開く] ボタンを使用してレイアウト図を作成しましょう。
SKD の 1C リクエストの書き込み
レイアウト図を作成した後、レポートのデータを収集するクエリを作成する必要があります。 これを行うには、[データ セット] タブでクエリ データ セットを作成します。
これで、クエリの作成を開始できます。データ セットにはクエリ用の特別なフィールドがあります。 手動で記述することも、コンストラクターを使用して記述することもできます (コンストラクターの方がはるかに便利です)。 私たちのレポートでは、クエリは最も単純です。
|選択 | 商品およびサービスの販売リンク、| 商品およびサービスの販売組織、| 商品およびサービスの販売取引先、| 商品およびサービスの販売の命名法、 | 商品およびサービスの売上高、 | 商品およびサービスの売上高 VAT 率、 | 商品およびサービスの売上 VAT 額、 | 商品およびサービスの販売価格 | ドキュメント.商品の販売、サービス.グッズ | 製品とサービスの販売方法 製品の販売場所 | 商品およびサービスの販売日 | 期間の開始(&E) と 期間の終了(&E) の間 | および商品およびサービスの販売組織 | =&組織
データセットフィールドの設定
リクエストを作成した後、ACS はテーブルにフィールド設定を自動的に入力します。
いくつかの設定について簡単に説明します。
リソースのセットアップ
データ合成システムにおいて、リソースフィールドとは、グループ化に含まれる詳細なレコードに基づいて値が計算されるフィールドを意味します。 基本的に、リソースはレポートのグループ結果または全体的な結果です。 この場合、リソースは「金額」フィールドと「VAT 金額」フィールドになります。 リソースの合計は、SKD 式言語の関数を使用して計算できます。最も単純なものは、Sum()、Average()、Minimum()、Minimum()、および Quantity() です。 レポート リソースを設定するには、[リソース] タブに移動し、必要なレポート フィールドをリソース テーブルにドラッグする必要があります。 この後、式 (この場合は Sum()) を設定する必要があります。また、このリソースの合計を表示するグループを選択することもできます。これは [計算方法] 列で行うことができます。
リソースで選択したフィールドに基づいてグループを作成することはできないことに注意してください。
リクエストで指定されたすべてのパラメータが、[レイアウト スキーム パラメータ] タブに表示されます。 私たちの場合、これらは期間の開始、期間の終了、および組織です。 設定の一部を見てみましょう。
- [名前]、[タイトル]、および [タイプ] 列は自動的に入力されるため、それらの値は不必要に変更しないでください。
- 値のリストが利用可能です。 リストをパラメーターとして渡したい場合は、このフラグを設定する必要があります。そうしないと、リストの最初の要素のみがそこに渡されます。
- 意味。 ここでパラメータのデフォルト値を指定できます。 この例では、Organizations パラメーターの値 Elements (Organizations ディレクトリへの空のリンク) を選択します。
- 利用可能なフィールドに含めます。 このフラグをクリアすると、パラメータは設定 (選択されたフィールド、選択) に表示されなくなります。
- 可用性の制限。 このフラグは、ACS 設定でパラメータ値を設定する機能を担当します。
レポート構造のセットアップ
[設定] タブに移動しましょう。ここでは、レポートのグループ化、レポートに表示されるフィールド、選択、並べ替えなどを指定できます。 タスク条件では、レポートでデータをフィールド (アカウント、リンク、アイテム) ごとにグループ化する必要があることが示されており、グループ化領域に順番に表示します。
[選択したフィールド] タブで、リソース (金額、VAT 金額) を使用可能なフィールドからレポート フィールドにドラッグします。
レポートを使いやすくするために、請負業者と品目による選択を追加しましょう。 選択を使用するためのフラグをクリアします。必要に応じてユーザーがフラグを設定します。
これでレポートのセットアップが完了し、エンタープライズ モードで実行できるようになります。
レポートの生成
1C のアクセス制御システムに関するレポートの場合、フォームを作成する必要はありません。レイアウト システム自体がフォームを生成します。 1C Enterprise 8 モードでレポートを開きます。
作成する前に、「設定」ボタンをクリックしてパラメータ値を入力します。 必要に応じて選択を設定したり、グループ化や並べ替えなどを変更したりすることもできます。
アクセス制御システムでのレポートの作成に関するビデオもご覧ください。
この例では、レポートには、部門別、製品グループ別、および月ごとの製品とサービスの成果が表示されます。
レポートのメインページは次のとおりです。
このページは、メニューの [ファイル] – [新規] – [外部レポート] のコンフィギュレータから呼び出されます。
まず、データセット (DataSet1) を追加します。 「クエリ」ウィンドウでは、クエリを自分で入力することも、クエリ ビルダーを使用して作成することも、ファイルからロードすることもできます。 最も便利な方法は、クエリ コンストラクターを使用することです。 コンストラクターがどのように動作するかを読んでください。
必要なものはすべて自動的に入力されますが、一部の項目は調整する必要があります。
たとえば、列見出し (上図の「数量」チェックボックスを使用すると、このフィールドに任意の見出しテキストを入力できます) では、データ出力形式を設定できます (数量行の形式を参照)。 この形式は、文字列、日付、数値など、あらゆる種類のデータに対して編集できます。
[リソース] タブで、リソース自体を選択し、それらの結果の表示を構成します。
[パラメータ] タブには、レポートの内容を変更するすべての項目 (データが選択される期間など) が含まれています。 リクエストパラメータに基づいて自動的に入力されます (最初のページを参照)。 チェックボックスを使用して、これらのパラメータの表示と可用性を調整したり、初期値を設定したりできます。
1C の 267 ビデオ レッスンを無料で入手:
そして最後に「設定」です。 ここでは、列、行、それらの相互の位置、グループ化など、レポートの外観が描画されます。 「設定デザイナーを開く」ボタンを使用すると、行と列を希望の順序で配置できます。 「カスタム要素設定」ボタンを使用すると、レポートヘッダーにパラメータを表示できます。
Period.PartsDate.NameMonth 列に注目してください。 列ヘッダーに月の名前を表示するにはどうすればよいですか? ここで出てきます。
ちなみに、この設定により、複数の期間のデータを隣接するレポート列に一度に表示できるようになります。
もう 1 つの重要なタブは、[選択されたフィールド] です。 空の場合、レポートは生成されません。 通常は、「設定デザイナーを開く」ボタンをクリックすると自動的に入力されます。
実際、必要最低限のものはこれだけです。 その結果、次のようなレポートが作成されます。
あらゆる種類の要約テーブルを取得し、1C 構成での分析や表示に便利な形式でデータを整理するように設計されたアプリケーション オブジェクトは、通常レポートと呼ばれます。 1C でレポートを追加する方法、追加のためのさまざまなオプション、この記事ではこれらの質問やその他の質問について説明します。
レポートと処理: 相違点
同時に、それらは他の同様のオブジェクトと区別されます - 処理:
- DCS (データ合成システム) を使用する可能性。
- 処理を使用すると、レポートにデータを表示および整理するために情報を入力できます。
- 違いはファイル形式にあります。拡張子 epf は処理を扱っていることを示し、erf は外部レポートに一般的です。
プログラマの観点から見ると、これらのオブジェクトの使用は非常に便利です。構成メタデータを変更する必要がないため、データベースを更新するためにユーザーをデータベースから追い出す必要がありません。
レポートをデータベースに追加する方法
専用の参考書を使って
1C が提供するほとんどの構成には「外部処理」ディレクトリがあり、メタデータを変更せずにデータベースに処理を保存できます。 このディレクトリにアクセスするには 2 つの方法があります。
- フル インターフェイスと管理インターフェイスの場合は、[操作] -> [ディレクトリ] -> [外部処理] に移動します。
- 他のすべては、[サービス] -> [追加のレポートと処理] を介して行われます。
- 次に、受信したいフォームの種類を選択する必要があります。
それでは、フォームを介してディレクトリにレイアウトを追加する方法を説明します。そのフォームは図 1 に示されています。
図1 報告または処理登録フォーム
まず第一に、生成されるテーブルの本質を最もよく反映するディレクトリ要素の元の名前を考える必要があります。 2 番目のステップは、追加するフォームのタイプを選択することです。 かもしれない:
- 「印刷フォームアクセサリ」という表形式のセクションに示されているオブジェクトの印刷ボタンまたは別のボタンによって呼び出される印刷フォーム。
- 表形式パーツ「表形式パーツを埋めるための処理アクセサリ」で示されている文書や参考書籍の表形式パーツの表形式パーツを記入します。
- 処理;
- 報告。
米。 2 レポートタイプ選択フィールド
最終段階では、ディスク上に保存されているファイルから、処理するコードを含むファイルを選択する必要があります。
図3 レポートファイルを選択する必要があることを示す記述
要素を記録すると、それがデータベースに保存されます。 データベースを復元および転送すると、この方法で保存された要素も転送されます。
構成への追加
以下の手順では、データベースへの排他的アクセスが必要です。
コンフィギュレーターに移動して構成を開くと、処理の追加を開始できます。
構成が編集のために閉じられている場合は、メニュー項目の「構成」->「サポート」->「サポート設定」に移動する必要があります。 図4のようなウィンドウが開きます。
米。 4 サポート編集ウィンドウ
- 「変更オプションを有効にする」ボタンをクリックします。
- システムの質問には積極的に答えてください。
こうすることで、独自の要素をデータベースのメタデータに追加できるようになります。
ここで、構成ツリーの「レポート」行を右クリックすると、図 5 の構成に外部データ コンポジターを追加できます。
米。 5 設定にレポートを追加するためのサブメニュー
管理フォーム上に処理を配置する機能
管理フォーム上に構築されたインターフェイスは、データベースに追加された追加ハンドラーの表示に独自の制限を課します。
1C の管理フォームにレポートを追加する前に、レポートがアクセス制御システムを使用して作成されたことを確認する必要があります。そうしないと、フォームが正しく表示されません。
プログラムを管理モードで開いたら、ナビゲーション パネルで「フォーム、レポート、処理の印刷」項目を見つける必要があります。
米。 6 ナビゲーションパネル 1C 8.3
開いたウィンドウで [追加のレポートと処理] チェックボックスをオンにすると、管理フォームの開発内容をデータベースに追加できます。
フォーム上で「作成」ボタンをクリックします。 警告ウィンドウを無視した後、ファイルの選択に進むことができます。
プログラムの最新バージョンでは、「オブジェクト メソッドが見つかりません」というエラーが表示されて追加がクラッシュすることがよくあります。 実際には、データ合成システムを使用してハンドラーを作成した後、Export とマークされた関数 InformationOnExternalProcessing() をそのモジュールに登録する必要があります。この関数は登録パラメーターを返す必要があります。
- ハンドラーが接続するオブジェクト。
- データベースに登録される名前。
- チームの名前。
この後、インターフェイスへのレポートの配置を開始できます。 これを行うには、「配置」コマンドをクリックします。
米。 7 宿泊施設
この場合、要素のアクティビティは、「公開」フィールドで適切な値を選択することによって制御されます。
投稿せずに追加する
コードに変更が加えられるたびにディレクトリ要素を書き直すこと、特にこのハンドラーを構成に登録することは、非常に面倒な作業です。 これがなくても大丈夫です。 「ファイル」→「ファイルを開く」メニューを使用して、処理を含むファイルを開くだけで十分です。 最近開いたオブジェクトは、「ファイル」サブメニューの下部にあるリストに保存されます。
規制されたレポート
構成によって提供される外部ファイルとプロセッサに加えて、1C には別の種類のレポート (規制対象) があります。 これらはデータの取り決めであり、その作業は税務当局によって規制されています。
彼らの仕事の性質上、これらの形式はより文書を彷彿とさせます。 このようなプロセッサの有効期間が 1 四半期を超えることはほとんどありません。1C は定期的にアップデートをリリースします。
これらは、「レポート」->「規制レポート」メニューから開くことができます。 レポート オプションを選択すると、プログラムはデータベースからのデータをレポート オプションに入力します。 十分なデータがない場合、プログラムは不足しているデータを手動で追加することを提案します。
完全に記入されていないフォームは、追加記入できる状態で保存されます。 完全に記入され検証された文書は、紙に印刷することも、電子的に税務署に提出することもできます。