オープンソースWebDBのプリザンター(pleasanter)ブログ

オープンソースのWebDBのプリザンター(pleasanter)のブログとサービス情報サイトです

カテゴリ : お知らせプリザンターとは?使い方スクリプト・スタイル環境構築事例動画

【分かりやすく解説】明細行のある帳票をプリザンターのテーブルで開発する方法

f:id:h-ogawa-reedex-co-jp:20201220230551p:plain

こんにちは。
リーデックス小川です。

本年もどうぞよろしくお願いいたします。個人的には、今年は後厄も終わり、やっと上り調子になりそうです。まだまだ油断できない情勢ですが、上を向いて歩いていきたいと思います。

 さて、今回は明細行を持つ帳票について、プリザンターでの開発方法を考えていきます。今回は、経費精算の帳票を例にし、テーブルを1つで実現する方法、2つに分ける方法をご紹介します。

 

 

サンプルの経費精算書について

今回は、下記のテンプレートを参考に考えてみます。

f:id:h-ogawa-reedex-co-jp:20210115143258p:plain

 経費精算書テンプレートが無料!書き方や注意するポイントを紹介! | 経費の教科書

 

明細データ繰り返し部分(赤枠部分)をどのように実装するかがポイントとなり、テーブルを分ける、分けない、の主に2つやり方があります。

今回はそれぞれで実現させる方法について説明し、それぞれのメリット、デメリットについて考えていきます。

なお、この考え方は、明細がある帳票をプリザンターで開発する場合に応用できますので、ぜひマスタ―してください。

f:id:h-ogawa-reedex-co-jp:20210115144312p:plain

 

テーブル2つで開発する方法

テーブル2つで表現する場合、繰り返す部分(赤枠)と共通部分(赤枠以外)でテーブルを分けます。テーブルのリンク機能を使い、共通部分と明細部分を別々で管理します。今回は、共通部分を経費精算書、明細部分を経費精算書詳細としてテーブルを作りました。

f:id:h-ogawa-reedex-co-jp:20210115161052p:plain

 

実際の業務を想定すると、上司や経理などのチェックがあり、状況やワークフローが必要になることが多いですが、今回はテーブル構造のみにフォーカスをあてているため、省略しています。 

 

共通部分のテーブル(経費精算書)

f:id:h-ogawa-reedex-co-jp:20210115154151p:plain

 

明細テーブル(経費精算書詳細)

f:id:h-ogawa-reedex-co-jp:20210115233855p:plain

 

帳票を見ると合計金額があります。テーブル2つに分ける場合、プリザンターではサマリを利用して経費精算書詳細の小計の合算を、経費精算書の合計金額に設定します。

 

テーブル1つで実現する方法

では次に、テーブル1つで明細情報も表示します。一画面ですべての情報を表示することができます。

f:id:h-ogawa-reedex-co-jp:20210115225444p:plain

上記キャプチャは、明細を1行で表示できるよう、ブラウザの表示倍率を落としています。モニタの解像度によっては上記のように表示されますが、明細行を1行で表示するためには、ターゲットとする解像度によりスクリプトやスタイルで入力欄を狭く表示する必要が出てきます。

また、合計金額は、計算式を利用しています。すべての金額を加算しているだけですので、特に難しくはないと思います。 

 

メリットデメリット

テーブル1つ、2つ、それぞれの実装方法でメリット、デメリットがありますので、比較していきたいと思います。

 

テーブル2つの場合

メリット :明細の登録行数を気にしなくてよい。

デメリット:共通部分を新規登録した後、明細部分のテーブルを登録するという2ステップが必要があり、入力に手間がかかる。

明細行が多くなることが想定されている場合、明細行を別テーブルで管理するほうが安心だと思います。1行1行画面遷移するため、使い勝手はあまりよくないかもしれません。また、新規登録時には、新規登録後に、明細テーブルに遷移するようなスクリプトを実装すれば使い勝手は改善できると思います。

 

テーブル1つの場合

メリット :新規登録時に明細もそのまま入力することができる。

デメリット:明細行数に上限がある。

入力画面にすべての情報が表示されるため、新規登録時に明細行を同時に入力できます。また、元々の表に近い見た目にしやすいのではないでしょうか。

ただし、テーブル1つの場合は、明細行がエディタで設定できる項目数が上限となります。明細行の1行の項目数が多ければ多いほど、行数は少なくなってしまいます。

解決方法としては、プリザンターのエンタープライズエディションを利用するやり方があります。項目数を最大900程度増やすことが可能です。詳細を知りたい方は、お気軽にお問合せ下さい。

 

なお、見た目をより帳票に合わせるためには、スクリプトやスタイルによるカスタマイズで実現することができます。
pleasanter.hatenablog.jp

  

まとめ

今回は、経費精算書のテーブル構造について書いてみました。今回ご紹介した方法が基本的な考え方になりますので、参考にして頂けると幸いです。

弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。

 

それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。