在这篇文章中,我们将了解如何使用视图将财务维度(Financial dimensions)显示为表单网格中的字段,该视图将使用计算列直接从表中检索信息。这是一种快速获取信息以将其显示在列表中的方法,并且能够使用控件按维度值进行筛选。
解决方案:
如何做:
步骤 1:创建视图
我们创建一个新的视图 ( FTDDimensionSetView ),使用 DimensionAttributeValueSet 作为数据源,并添加 RecId 作为视图字段。请注意,此 RecId 将是 表中我们想要显示维度的DefaultDimension字段(本例中为CustTrans ),这就是为什么我在视图中也将其命名为 DefaultDimension。
步骤 2:创建计算列方法
我们将对要添加到视图中的每个维度值使用一个静态方法。标准 DimensionSetEntity 实体需要对其进行概括,并且仅使用一个复杂的方法,在配置好所有维度后,使用插件加载所有维度,这些维度会自动创建,因为每个实现都有不同的维度……在我们的例子中,我们不需要额外的复杂性,因为我们已经知道并拥有我们想要显示的维度。保持简单!
这里有 3 种方法(我决定将逻辑放在一种通用方法中,所以有 4 种)。
public class FTDDimensionSetView extends common { private static str getSQLStringForDimension(DimensionRefFieldName _dimensionName) { DimensionAttribute dimensionAttribute = DimensionAttribute::findByName(_dimensionName); return dimensionAttribute.DimensionValueColumnName; } private static str getDepartment() { return FTDDimensionSetView::getSQLStringForDimension(FTDDimensionUtils::Department); } private static str getCostCenter() { return FTDDimensionSetView::getSQLStringForDimension(FTDDimensionUtils::CostCenter); } private static str getRetailChannel() { return FTDDimensionSetView::getSQLStringForDimension(FTDDimensionUtils::RetailChannel); } }
在这些方法中,我们将从配置它们的表 DimensionAttribute 中获取 SQL 中的列名称(对 VS 隐藏)。(FTDDimensionUtils 类中的值只是该表的名称字段的值)。
步骤 3:创建字符串计算列
现在,我们创建 3 个新的计算列,并使用属性View 方法将它们与上面创建的适当方法关联 。
如果在同步我们的视图之后,我们转到 SQL 并查看它的设计,它可以帮助我们直观地了解 计算列 实际上是什么:
步骤 4:从 CustTrans 添加新关系
现在,我们必须添加从 CustTrans 到 视图的关系。如果您想将财务维度添加到任何其他表格中,则只需重复执行此步骤和步骤 5(将其添加到表单)。因此,正如所有良好的发展一样,我们创建了一个非常有用、简单且可重复使用的代码片段!
第 5 步:在表单中使用它
将新视图作为新的相关数据源添加到表单,将字段添加到网格…
瞧! 请注意,我们可以通过它们进行筛选!需求匹配,客户满意
我希望这篇文章能够对你,匆忙的开发人员有所帮助,就像我之前知道它就会对我有所帮助一样。