it-swarm.cn

在CRUD应用程序中报告

这是另一个与企业相关的应用难题。

大多数专业应用程序使用的报表编写器对于一般用户而言过于复杂,即使其中大多数都是所见即所得。一些简单的应用程序仅具有不可自定义的固定模板。

为了解决这个长期存在的问题,我们选择了解决该问题的中间方法,即基于模板的打印,就像博客引擎或论坛引擎的工作方式一样,模板可能包含简单的逻辑代码并包含用户可以设置的简单设置无需知道任何代码即可轻松进行调整。该网站的一个很好的示例是该网站:www.squarespace.com

但是,与网站不同,大多数CRUD应用程序报告都具有数据限制,某些选择标准,例如组或类别。例如。我想要数据库中所有椅子的报告。

问题是,选择标准是否应包含在模板中?将标准分隔开可以更好地控制将要打印的数据。该范式在整个应用程序中使用,但没有选择条件。例如。发票打印但带有模板

作为程序员,我们倾向于认为表示(模板)和逻辑(在这种情况下为数据)应该分开。在这种情况下您会怎么做?

PS:Templates会生成PDF文件,因此无法实时显示模板。

3
vener

假设我们正在谈论应用程序的常规报告部分,其中应用程序中可用的所有数据都必须是“可报告的”:我将选择标准与模板分开。

让用户首先选择他想看的所有东西,然后提供打印动作,从中他可以选择要使用的模板。这样,模板还可以根据所选数据进行过滤(当应用程序在选择网格中显示日记项时,不要使用显示发票模板)。

另一种选择是从选择模板开始(从而限制数据选择)。您的用户将必须为此提供指导。对于他们来说,先选择一个模板可能更自然。

在这两种情况下,我都倾向于显示根据输入的标准选择的数据。例如在某种网格或树状视图中。最好是“实时”,以便用户可以立即看到他们输入的条件的效果。否则,让他们输入一些条件,显示数据,让他们通过返回条件对话框来优化这些条件(添加/删除/编辑),直到对所选内容满意为止。

更新以回应评论

因此,请确保您有一个明智的默认模板。更好的是:根据用户选择的数据选择最适合的模板。

不是说您没有它们:-),而是在这些情况下可以帮助用户的其他功能:

  • 存储上次使用的选择,条件和模板
  • 允许用户以有意义的名称保存搜索,最好允许他们以某种文件夹结构来组织搜索。最好具有完全的拖放支持,这样他们就可以移动保存的搜索
2
Marjan Venema