헤더 영역의 고객 포털의 "내 문서 (SP.40.20.00)"페이지에 현재 잔액 (통화) 필드를 추가하려고했지만 해당 필드가 내가 무엇을하든 나타나지 않습니다. 집계 함수 수정 (재정의)이 가능하지 않습니다 (래퍼 오류). 기본 통화 합계 대신 통화 (고객) 합계를 얻는 다른 방법이 있습니까?고객 포털에 통화 잔액 필드 추가?
0
A
답변
1
는 작업중인 기본 그래프 (ARDocumentEnq)는 라이센스에서 선택한 기능 세트와 선택된 행 CuryID/회사 기본 통화를 기반으로 RowSelected 이벤트 가시성 검증 있습니다.
구성 -> 일반 설정 -> 라이센스 -> 기능 사용/사용 안 함에서 주 사이트에서 해당 기능을 사용할 수 있는지 확인하고 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);
}
}
+0
이 작품! 감사! –
패키지를 게시하면 세부 정보 표에 통화 정보가 표시됩니다. 문제는 헤더 영역에 표시되지 않는다는 것입니다. 패키지가 페이지 파일에 필드를 넣는 게시를 참조하십시오. 왜 나타나지 않는지 모르겠다. 어쩌면 디스플레이 만 기본으로 제한하는 것일까 요? – Brendan
예 헤더 영역에서 원래 문장을 수정합니다. 나는 또한 어떤 종류의 제한에 대해 생각하고 있지만, 그것이 무엇인지, 또는 그 주위를 돌아 다니는 방법을 찾을 수없는 것처럼 보입니다. –