【问题标题】:Adding the currency balance fields to the customer portal?将货币余额字段添加到客户门户?
【发布时间】:2017-05-11 15:22:25
【问题描述】:

我尝试将当前余额(货币)字段添加到标题区域的客户门户的“我的文档(SP.40.20.00)”页面,但无论我做什么,这些字段都不会显示,并且修改(覆盖)聚合函数似乎是不可能的(包装错误)。有没有其他方法可以让我获得货币(客户)总额而不是默认货币总额?

Link to the project

【问题讨论】:

  • 发布你的包它在细节网格中显示货币信息,你的问题是它没有显示在标题区域?我看到发布包确实将字段放在页面文件中。不知道为什么不出现。也许某些东西将显示限制为仅基础?
  • 是在页眉区域,将更正原始语句。我也在考虑某种限制,但似乎找不到它是什么,或者绕过它的方法。

标签: acumatica portal


【解决方案1】:

您正在处理的基础图 (ARDocumentEnq) 在 RowSelected 事件中根据许可证中选择的功能集和所选行 CuryID/公司基础货币进行可见性验证。

在配置->通用设置->许可->启用/禁用功能中检查这些功能是否已在主站点上启用,并确定 row.CuryID 和 Company.Current.BaseCuryID 所需的条件。要覆盖基本图表条件,您可以在图表扩展中添加 RowSelected 事件。

public class ARDocumentEnq_Extension:PXGraphExtension<ARDocumentEnq>
  {
    public virtual void ARDocumentFilter_RowSelected(PXCache cache, PXRowSelectedEventArgs e)
    {
      ARDocumentEnq.ARDocumentFilter row = (ARDocumentEnq.ARDocumentFilter)e.Row;
      if (row == null) return;

      PXCache docCache = Base.Documents.Cache;

      // Forcing display
      bool byPeriod = true; //(row.Period != null);
      bool isMCFeatureInstalled = true; //PXAccess.FeatureInstalled<FeaturesSet.multicurrency>();
      bool isForeignCurrencySelected = true; //String.IsNullOrEmpty(row.CuryID) == false && (row.CuryID != this.Company.Current.BaseCuryID);
      bool isBaseCurrencySelected = true; //String.IsNullOrEmpty(row.CuryID) == false && (row.CuryID == this.Company.Current.BaseCuryID);

      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentFilter.curyID>(cache, row, isMCFeatureInstalled);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentFilter.curyBalanceSummary>(cache, row, isMCFeatureInstalled && isForeignCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentFilter.curyDifference>(cache, row, isMCFeatureInstalled && isForeignCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentFilter.curyCustomerBalance>(cache, row, isMCFeatureInstalled && isForeignCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentFilter.curyCustomerDepositsBalance>(cache, row, isMCFeatureInstalled && isForeignCurrencySelected);

      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.curyID>(docCache, null, isMCFeatureInstalled);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.rGOLAmt>(docCache, null, isMCFeatureInstalled && !isBaseCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.curyBegBalance>(docCache, null, byPeriod && isMCFeatureInstalled && !isBaseCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.begBalance>(docCache, null, byPeriod);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.curyOrigDocAmt>(docCache, null, isMCFeatureInstalled && !isBaseCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.curyDocBal>(docCache, null, isMCFeatureInstalled && !isBaseCurrencySelected);
      PXUIFieldAttribute.SetVisible<ARDocumentEnq.ARDocumentResult.curyDiscActTaken>(docCache, null, isMCFeatureInstalled && !isBaseCurrencySelected);
    }
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多