/// <summary> /// Reads the selected values from the controls, /// and stores them into the parameter system of FCalculator /// /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> /// <returns>void</returns> public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction) { System.Int32 MaxDisplayColumns; MaxDisplayColumns = TUC_ColumnHelper.ReadControls(ref FColumnParameters, ref ACalculator); FPetraUtilsObject.FMaxDisplayColumns = MaxDisplayColumns; for (int Counter = 0; Counter <= FColumnParameters.Get("MaxDisplayColumns").ToInt() - 1; Counter += 1) { String SelectedLedgers = FColumnParameters.Get("param_selected_ledgers", Counter).ToString(false); if (SelectedLedgers.Length != 0) { ACalculator.AddColumnFunctionLedgers(Counter, "add", StringHelper.StrSplit(SelectedLedgers, ","), FColumnParameters.Get("param_calculation", Counter).ToString(), FColumnParameters.Get("param_ytd", Counter).ToBool()); } } // set the global param_ytd; that is needed for formatting the header of some reports String ytdMixed = ""; for (int Counter = 0; Counter <= FColumnParameters.Get("MaxDisplayColumns").ToInt() - 1; ++Counter) { TVariant ParamYtd = FColumnParameters.Get("param_ytd", Counter); if (!ParamYtd.IsZeroOrNull()) { if (ytdMixed.Length == 0) { ytdMixed = ParamYtd.ToString(); } if (ParamYtd.ToString() != ytdMixed) { ytdMixed = "mixed"; } } } if (ytdMixed.Length != 0) { ACalculator.AddParameter("param_ytd", ytdMixed); } }