web-dev-qa-db-ja.com

CRUDアプリケーションでのレポート

これは、さらに別のエンタープライズ関連アプリのジレンマです。

ほとんどのプロフェッショナルアプリは、ほとんどのユーザーがwysiwygであっても、一般ユーザーには複雑すぎるレポートライターを使用します。一部のシンプルなアプリには、カスタマイズできない固定テンプレートしかありません。

この長年の問題を解決するために、問題の中間的な解決策としてテンプレートベースの印刷を採用しました。これは、ブログエンジンやフォーラムエンジンの仕組みのようなもので、テンプレートには単純なロジックコードが含まれ、ユーザーが簡単な設定を含めることができますコードを知らなくても簡単に調整できます。それがどのように機能するかの非常に良いサンプルは、このサイトを見てください:www.squarespace.com

ただし、Webサイトとは異なり、ほとんどのCRUDアプリレポートにはデータの制約、グループやカテゴリなどの特定の選択基準があります。例えば。データベースからすべての椅子のレポートが欲しい。

問題は、選択基準をテンプレートに含める必要があるかどうかです。基準を個別にすると、印刷されるデータをより適切に制御できます。このパラダイムはアプリ全体で使用されますが、基準の選択はありません。例えば。請求書印刷、ただしテンプレートあり

プログラマーとして、プレゼンテーション(テンプレート)とロジック(この場合はデータ)を分離する必要があると考えがちです。この状況で何をしますか?

PS:TemplatesはPDFファイルを生成するため、テンプレートでライブ表示することはできません。

3
vener

アプリから入手可能なすべてのデータが「レポート可能」でなければならない、アプリの一般的なレポート部分について話していると仮定します。選択基準はテンプレートとは別に保持します。

ユーザーが最初に、見たいものをすべて選択してから、使用するテンプレートを選択できる印刷アクションを提供できるようにします。このようにして、選択したデータに応じてテンプレートをフィルタリングすることもできます(アプリが選択グリッドに日記の項目を表示しているときに請求書テンプレートを提示する必要はありません)。

代わりの方法は、テンプレートの選択から始めることです(したがって、データ選択を制限します)。ユーザーはそのことについてのガイダンスを提供する必要があります。最初にテンプレートを選択するほうが自然な場合があります。

どちらの場合も、入力した基準に基づいて選択したデータを表示する傾向があります。たとえば、ある種のグリッドまたはツリービューで。ユーザーが入力した基準の効果をユーザーがすぐに確認できるように、「ライブ」であることが望ましい。それ以外の場合は、いくつかの基準を入力してデータを表示し、選択した内容に満足するまで基準ダイアログに戻って、基準を追加(削除/編集)させます。

コメントに応じて更新

したがって、適切なデフォルトテンプレートがあることを確認してください。さらに良い方法:ユーザーが選択したデータに基づいて最適なテンプレートを選択します。

それらがないと言っているわけではありません:-)が、これらの状況でユーザーを支援できる他の機能:

  • 最後に使用した選択、基準、およびテンプレートを保存します
  • ユーザーが検索を意味のある名前で保存できるようにします。できれば、検索をある種のフォルダー構造に整理できるようにします。保存された検索を移動できるように、完全なドラッグアンドドロップサポートが望ましい
2
Marjan Venema