/// <summary> /// read the values from the controls and give them to the calculator /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction) { if (rbtPartner.Checked) { ACalculator.AddParameter("param_selection", "one partner"); } else if (rbtExtract.Checked) { ACalculator.AddParameter("param_selection", "an extract"); } ACalculator.AddParameter("param_extract", txtExtract.Text); ACalculator.AddParameter("param_partnerkey", txtPartnerKey.Text); if ((AReportAction == TReportActionEnum.raGenerate) && rbtPartner.Checked && (txtPartnerKey.Text == "0000000000")) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Enter a valid Partner Key."), Catalog.GetString("No Partner Key entered!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } if ((AReportAction == TReportActionEnum.raGenerate) && rbtExtract.Checked && (txtExtract.Text == "")) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Enter an extract name."), Catalog.GetString("No extract name entered!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } }
/// <summary> /// Print or reprint the posting report for this batch. /// </summary> public static void PrintPostingRegister(Int32 ALedgerNumber, Int32 ABatchNumber, Boolean AEditTemplate = false) { FastReportsWrapper ReportingEngine = new FastReportsWrapper("Batch Posting Register"); if (!ReportingEngine.LoadedOK) { ReportingEngine.ShowErrorPopup(); return; } GLBatchTDS BatchTDS = TRemote.MFinance.GL.WebConnectors.LoadABatchAndContent(ALedgerNumber, ABatchNumber); TRptCalculator Calc = new TRptCalculator(); ALedgerRow LedgerRow = BatchTDS.ALedger[0]; //Call RegisterData to give the data to the template ReportingEngine.RegisterData(BatchTDS.ABatch, "ABatch"); ReportingEngine.RegisterData(BatchTDS.AJournal, "AJournal"); ReportingEngine.RegisterData(BatchTDS.ATransaction, "ATransaction"); Calc.AddParameter("param_batch_number_i", ABatchNumber); Calc.AddParameter("param_ledger_number_i", ALedgerNumber); String LedgerName = TRemote.MFinance.Reporting.WebConnectors.GetLedgerName(ALedgerNumber); Calc.AddStringParameter("param_ledger_name", LedgerName); if (AEditTemplate) { ReportingEngine.DesignReport(Calc); } else { ReportingEngine.GenerateReport(Calc); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_extract_name", txtExtract.Text); if ((AReportAction == TReportActionEnum.raGenerate) && rbtExtract.Checked && (txtExtract.Text.Length == 0)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No recipient selected."), Catalog.GetString("Please select a recipient."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
// // This will be called if the Fast Reports Wrapper loaded OK. // Returns True if the data apparently loaded OK and the report should be printed. private bool LoadReportData(TRptCalculator ACalc) { String RootCostCentre = "[" + FLedgerNumber + "]"; ACalc.AddParameter("param_cost_centre_code", new TVariant(RootCostCentre)); // I need to get the name of the current ledger.. ALedgerTable LedgerTbl = TRemote.MFinance.AP.WebConnectors.GetLedgerInfo(FLedgerNumber); Boolean IsClosed = false; if (LedgerTbl.Rows.Count > 0) { ALedgerRow LedgerRow = LedgerTbl[0]; // // I want to tell the user whether the selected period is closed // (although they probably know already...) Int32 SelPeriod = ACalc.GetParameters().GetParameter("param_end_period_i").value.ToInt32(); Int32 SelYear = ACalc.GetParameters().GetParameter("param_year_i").value.ToInt32(); if ((SelYear < LedgerRow.CurrentFinancialYear) || (SelPeriod < LedgerRow.CurrentPeriod)) { IsClosed = true; } } String LedgerName = TRemote.MFinance.Reporting.WebConnectors.GetLedgerName(FLedgerNumber); ACalc.AddStringParameter("param_ledger_name", LedgerName); ACalc.AddParameter("param_period_closed", IsClosed); return(FPetraUtilsObject.FFastReportsPlugin.LoadReportData("TrialBalance", false, new string[] { "TrialBalance" }, ACalc, this, false)); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); // Add param_mailing_code manually as string parameter, as automated code would incorrectly add mailing codes that are numbers as integers. ACalc.AddStringParameter("param_mailing_code", cmbMailingCode.GetSelectedString()); ACalc.AddStringParameter("param_mailing_code_descr", cmbMailingCode.GetSelectedDescription()); if (dtpToDate.Date.HasValue) { Int32 ToDateYear = dtpToDate.Date.Value.Year; //TODO: Calendar vs Financial Date Handling - Confirm that these should not be ledger dates, i.e. allowing for >12 periods and non-calendar period boundaries DateTime FromDateThisYear = new DateTime(ToDateYear, 1, 1); DateTime ToDatePreviousYear = new DateTime(ToDateYear - 1, 12, 31); DateTime FromDatePreviousYear = new DateTime(ToDateYear - 1, 1, 1); ACalc.AddParameter("param_from_date_this_year", FromDateThisYear); ACalc.AddParameter("param_to_date_previous_year", ToDatePreviousYear); ACalc.AddParameter("param_from_date_previous_year", FromDatePreviousYear); } int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if ((AReportAction == TReportActionEnum.raGenerate) && (rbtPartner.Checked && (txtRecipient.Text == "0000000000"))) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("No recipient selected."), Catalog.GetString("Please select a recipient."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } if ((AReportAction == TReportActionEnum.raGenerate) && rbtExtract.Checked && (txtExtract.Text == "")) { TVerificationResult VerificationMessage = new TVerificationResult( Catalog.GetString("Enter an extract name."), Catalog.GetString("No extract name entered!"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationMessage); } ACalc.AddParameter("param_recipient_key", txtRecipient.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); }
} // AutoEmailReports /// <summary>Get all the data for the report</summary> /// <remarks>Called from the server during batch posting, and also from File/Print gui</remarks> /// <param name="ACalc"></param> /// <param name="ALedgerNumber"></param> /// <param name="ABatchNumber"></param> /// <returns></returns> public Boolean RegisterBatchPostingData(TRptCalculator ACalc, Int32 ALedgerNumber, Int32 ABatchNumber) { GLBatchTDS BatchTDS = TRemote.MFinance.GL.WebConnectors.LoadABatchAndContent(ALedgerNumber, ABatchNumber); if (BatchTDS.ABatch.Rows.Count < 1) { MessageBox.Show(Catalog.GetString("Batch not found"), Catalog.GetString("Batch Posting Register"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } //Call RegisterData to give the data to the template RegisterData(BatchTDS.ABatch, "ABatch"); RegisterData(BatchTDS.AJournal, "AJournal"); RegisterData(BatchTDS.ATransaction, "ATransaction"); RegisterData(TDataCache.TMFinance.GetCacheableFinanceTable(TCacheableFinanceTablesEnum.AccountList, ALedgerNumber), "AAccount"); RegisterData(TDataCache.TMFinance.GetCacheableFinanceTable(TCacheableFinanceTablesEnum.CostCentreList, ALedgerNumber), "ACostCentre"); ACalc.AddParameter("param_batch_number_i", ABatchNumber); ACalc.AddParameter("param_ledger_number_i", ALedgerNumber); String LedgerName = TRemote.MFinance.Reporting.WebConnectors.GetLedgerName(ALedgerNumber); ACalc.AddStringParameter("param_ledger_name", LedgerName); ACalc.AddStringParameter("param_linked_partner_cc", ""); // I may want to use this for auto_email, but usually it's unused. ACalc.AddParameter("param_currency_name", TRemote.MFinance.Reporting.WebConnectors.GetTransactionCurrency(ALedgerNumber, ABatchNumber)); return(true); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { int MinAge = Convert.ToInt32(txtFromYears.Text); // 0 int MaxAge = Convert.ToInt32(txtToYears.Text); // 17 DateTime EarliestBirthday; DateTime LatestBirthday; DateTime StartDate = DateTime.Today; DateTime EndDate = DateTime.Today; DateTime EarliestArrivalDate = DateTime.Today; DateTime LatestDepartureDate = DateTime.Today; bool IsSuccessful; if (ucoConferenceSelection.AllConferenceSelected) { IsSuccessful = TRemote.MConference.WebConnectors.GetEarliestAndLatestDate(-1, out EarliestArrivalDate, out LatestDepartureDate, out StartDate, out EndDate); } else { long ConferenceKey = Convert.ToInt64(ucoConferenceSelection.ConferenceKey); IsSuccessful = TRemote.MConference.WebConnectors.GetEarliestAndLatestDate(ConferenceKey, out EarliestArrivalDate, out LatestDepartureDate, out StartDate, out EndDate); } if (IsSuccessful) { EarliestBirthday = StartDate.AddYears(-MaxAge - 1); LatestBirthday = EndDate.AddYears(-MinAge); ACalc.AddParameter("param_earliest_birthday", EarliestBirthday.Date); ACalc.AddParameter("param_latest_birthday", LatestBirthday.Date); } }
/// <summary> /// read the values from the controls and give them to the calculator /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction) { String[] OrderByArray = new string[NUMBER_SORTBY]; for (Int32 counter = 0; counter <= NUMBER_SORTBY - 1; counter += 1) { OrderByArray[counter] = FSortByComboboxes[counter].GetSelectedString(); // MessageBox.Show('Sort by '+Counter.ToString+': '+FSortByComboboxes[counter].GetSelectedString()); // have to encode the number of "order by" in the variable name instead of the column, // otherwise the meaning would be changed when columns are switched or deleted ACalculator.AddParameter("orderby" + counter.ToString(), OrderByArray[counter]); } String OrderByReadable = ""; for (Int32 counter = 0; counter <= NUMBER_SORTBY - 1; counter += 1) { if (OrderByArray[counter].Length != 0) { if (OrderByReadable.Length > 0) { OrderByReadable = OrderByReadable + ", "; } OrderByReadable = OrderByReadable + OrderByArray[counter]; } } ACalculator.AddParameter("param_sortby_readable", OrderByReadable); ACalculator.SetupSorting(); }
/// <summary> /// /// </summary> /// <param name="ACalculator"></param> /// <param name="AReportAction"></param> private void ReadControlsManual(TRptCalculator ACalculator, TReportActionEnum AReportAction) { int ColumnCounter = 0; double ColumnPosition = 0; String SpecialValues = "County,Donors,ExParticipants,Churches,Applicants"; // Get the columns List <KeyValuePair <String, Double> > ColumnDefinitions = ucoReportColumns.GetColumnHeadings(); // store the column values in ACalculator foreach (KeyValuePair <String, Double> ColumnDefinition in ColumnDefinitions) { String ColumnType = "Publication"; if (SpecialValues.Contains(ColumnDefinition.Key)) { // the column is one of the special columns County, Donors, ExParticipants, Churches or Applicants ColumnType = ColumnDefinition.Key; } if (AReportAction == TReportActionEnum.raGenerate) { // Add these only to the calculator if we generate the report. Not used // when the report is saved. ACalculator.AddParameter("param_calculation", ColumnType, ColumnCounter); ACalculator.AddParameter("param_label", ColumnType, ColumnCounter); ACalculator.AddParameter("ColumnAlign", "left", ColumnCounter); ACalculator.AddParameter("ColumnCaption", ColumnDefinition.Key, ColumnCounter); ACalculator.AddParameter("ColumnPosition", ColumnPosition.ToString(), ColumnCounter); } ++ColumnCounter; ColumnPosition += ColumnDefinition.Value; } }
/// <summary> /// Reads the selected values from the controls, and stores them into the parameter system of FCalculator /// </summary> /// <param name="ACalc"></param> /// <param name="AReportAction"></param> public void ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_active", this.chkActivePartners.Checked); ACalc.AddParameter("param_mailing_addresses_only", this.chkMailingAddressesOnly.Checked); ACalc.AddParameter("param_families_only", this.chkFamiliesOnly.Checked); ACalc.AddParameter("param_exclude_no_solicitations", this.chkExcludeNoSolicitations.Checked); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (rbtNow.Checked) { ACalc.AddParameter("param_from_date", DateTime.Today.Date); ACalc.AddParameter("param_until_date", DateTime.Today.Date); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_cost_centre_breakdown", false); ACalc.AddParameter("param_cost_centre_summary", false); ACalc.AddParameter("param_cost_centre_codes", ""); ACalc.AddParameter("param_costcentreoptions", "AccountLevel"); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_with_analysis_attributes", false); ACalc.AddColumnLayout(0, 8, 0, 3); ACalc.AddColumnLayout(1, 11, 0, 3); ACalc.SetMaxDisplayColumns(2); ACalc.AddColumnCalculation(0, "Debit"); ACalc.AddColumnCalculation(1, "Credit"); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_with_analysis_attributes", true); ACalc.AddColumnLayout(6, 23, 0, 3); ACalc.AddColumnLayout(7, 26, 0, 3); ACalc.SetMaxDisplayColumns(8); ACalc.AddColumnCalculation(6, "AnalysisType"); ACalc.AddColumnCalculation(7, "AnalysisValue"); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_donorkey", txtDonor.Text); ACalc.AddParameter("param_extract_name", txtExtract.Text); DateTime FromDateThisYear = new DateTime(DateTime.Today.Year, 1, 1); DateTime ToDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 12, 31); DateTime FromDatePreviousYear = new DateTime(DateTime.Today.Year - 1, 1, 1); ACalc.AddParameter("param_to_date_this_year", DateTime.Today); ACalc.AddParameter("param_from_date_this_year", FromDateThisYear); ACalc.AddParameter("param_to_date_previous_year", ToDatePreviousYear); ACalc.AddParameter("param_from_date_previous_year", FromDatePreviousYear); ACalc.AddParameter("DonorAddress", ""); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { if ((AReportAction == TReportActionEnum.raGenerate) && (dtpFromDate.Date > dtpToDate.Date)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("From date is later than to date."), Catalog.GetString("Please change from date or to date."), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_currency", "Base"); ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); // Set the values for accumulating the costs to 0 ACalc.AddParameter("CostCentreCredit", 0); ACalc.AddParameter("CostCentreDebit", 0); ACalc.AddParameter("AccountCodeCredit", 0); ACalc.AddParameter("AccountCodeDebit", 0); ACalc.AddParameter("TotalCredit", 0); ACalc.AddParameter("TotalDebit", 0); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); // we need to know some indices of the columns for (int Counter = 0; Counter < MaxColumns; ++Counter) { String ColumnName = "param_column_" + ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); ACalc.AddParameter(ColumnName, Counter); } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddColumnLayout(0, 8, 0, 3); ACalc.AddColumnLayout(1, 11, 0, 3); ACalc.AddColumnLayout(2, 14, 0, 7); ACalc.SetMaxDisplayColumns(3); ACalc.AddColumnCalculation(0, "Debit"); ACalc.AddColumnCalculation(1, "Credit"); ACalc.AddParameter("param_daterange", "false"); }
/// <summary> /// read the values from the controls and give them to the calculator /// </summary> /// <param name="ACalculator"></param> public void ReadControls(TRptCalculator ACalculator) { ACalculator.AddParameter("SaveCSVFilename", txtCSVDestination.Text); if (txtCSVSeparator.Text.Length > 0) { ACalculator.AddParameter("CSV_separator", txtCSVSeparator.Text); } ACalculator.AddParameter("OnlySaveCSV", chbExportToCSVOnly.Checked); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_with_analysis_attributes", false); // if rbtSortByCostCentre is checked then these parameters are added in generated code if (!rbtSortByCostCentre.Checked) { ACalc.AddParameter("param_paginate", false); ACalc.AddParameter("param_auto_email", false); } }
/// <summary> /// Reads the selected values from the controls, and stores them into the parameter system of FCalculator /// </summary> /// <param name="ACalc"></param> /// <param name="AReportAction"></param> public void ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { if (chkShowDetailedMotivationInformation.Checked) { ACalc.AddParameter("param_chkShowDetailedMotivationInformation", true); } else { ACalc.AddParameter("param_chkShowDetailedMotivationInformation", false); } FSelectMotDialog.ReadControls(ACalc, AReportAction); }
private void grdFields_ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { int ColumnCounter = 0; DataTable ParaTable = ACalc.GetParameters().ToDataTable(); // We need at least 14 columns (for the details) foreach (DataRow Row in ParaTable.Rows) { if ((String)Row[0] == "param_calculation") { ColumnCounter++; } } if (ColumnCounter < 15) { for (int Counter = ColumnCounter; Counter < 15; ++Counter) { ACalc.AddParameter("param_calculation", "DummyValue" + Counter.ToString(), Counter); } ACalc.AddParameter("MaxDisplayColumns", 15); } if (rbtFull.Checked) { ACalc.AddParameter("param_report_detail", "Full"); } else if (rbtSummaries.Checked) { ACalc.AddParameter("param_report_detail", "Summary"); } String SelectedFields = GetSelectedFieldKeysCSV(); ACalc.AddStringParameter("param_selected_keys_csv", SelectedFields); if ((SelectedFields.Length < 1) && (AReportAction == TReportActionEnum.raGenerate)) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Select at least one Unit Key from the Additional Settings tab."), Catalog.GetString("No Field for the report selected"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_today", DateTime.Today); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("ControlSource", "", ReportingConsts.HEADERCOLUMN); ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_all_partners", rbtAllPartners.Checked); ACalc.AddParameter("param_extract", rbtExtract.Checked); if (rbtExtract.Checked) { ACalc.AddParameter("param_extract_name", txtExtract.Text); } if (rbtAllRecipients.Checked) { ACalc.AddParameter("param_recipientkey", "0"); } else { ACalc.AddParameter("param_recipientkey", txtRecipient.Text); } int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Gift Amount") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); ACalc.AddParameter("param_all_partners", rbtAllPartners.Checked); ACalc.AddParameter("param_extract", rbtExtract.Checked); if (rbtExtract.Checked) { ACalc.AddParameter("param_extract_name", txtExtract.Text); } if ((txtThisYear.Text != "0") && (txtLastYear.Text != "0")) { int LastYear = Convert.ToInt32(txtLastYear.Text); int ThisYear = Convert.ToInt32(txtThisYear.Text); if (LastYear >= ThisYear) { TVerificationResult VerificationResult = new TVerificationResult( Catalog.GetString("Wrong year entered."), Catalog.GetString("'Gift given in year' must be less than 'No gifts in year'"), TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } ACalc.AddParameter("param_this_year_start_date", new DateTime(ThisYear, 1, 1)); ACalc.AddParameter("param_this_year_end_date", new DateTime(ThisYear, 12, 31)); ACalc.AddParameter("param_last_year_start_date", new DateTime(LastYear - 1, 1, 1)); ACalc.AddParameter("param_last_year_end_date", new DateTime(LastYear - 1, 12, 31)); } }
// // New methods using the Fast-reports DLL: /// <summary> /// Called after MonthEnd. No GUI will be displayed. /// </summary> public void PrintPeriodEndReport(Int32 ALedgerNumber, Boolean AMonthMode) { LedgerNumber = ALedgerNumber; ALedgerRow Ledger = ((ALedgerTable)TDataCache.TMFinance.GetCacheableFinanceTable(TCacheableFinanceTablesEnum.LedgerDetails, ALedgerNumber))[0]; int currentPeriod = Ledger.CurrentPeriod; TRptCalculator Calc = new TRptCalculator(); Calc.AddParameter("param_account_hierarchy_c", "STANDARD"); Calc.AddParameter("param_ledger_number_i", new TVariant(ALedgerNumber)); Calc.AddParameter("param_year_i", Ledger.CurrentFinancialYear); Calc.AddParameter("param_current_financial_year", true); Calc.AddParameter("param_end_period_i", new TVariant(currentPeriod - 1)); Calc.AddParameter("param_current_period", new TVariant(currentPeriod)); DateTime startDate = TRemote.MFinance.GL.WebConnectors.GetPeriodStartDate( ALedgerNumber, Ledger.CurrentFinancialYear, -1, currentPeriod); Calc.AddParameter("param_start_date", new TVariant(startDate)); DateTime endDate = TRemote.MFinance.GL.WebConnectors.GetPeriodEndDate( ALedgerNumber, Ledger.CurrentFinancialYear, -1, currentPeriod); Calc.AddParameter("param_end_date", new TVariant(endDate)); FPetraUtilsObject.FFastReportsPlugin.GenerateReport(Calc); }
private void grdCommitmentStatusChoices_ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { // TODO // The reason that the status choices listbox is not // filled in with saved data is that Parameter.Save() // and Parameter.Load() do not use // TVariant.EncodeToString() and // TVariant.DecodeFromString() when storing a saved set // of parameters. Composites survive fine over the // remoting interface, though. I (binki) am allowed to // change the behavior of TParameterList.Save() and // TParameterList.Load() _if_ I change the // XmlReports/Settings/.../standard.xml files to support // DecodeFromString(). TVariant param_grdCommitmentStatusChoices = new TVariant(); foreach (DataRow ARow in FCommitmentStatusTable.Rows) { if ((bool)ARow["Selection"]) { param_grdCommitmentStatusChoices.Add(new TVariant((String)ARow[PmCommitmentStatusTable.GetCodeDBName()]), "", false); } } ACalc.AddParameter("param_commitment_status_choices", param_grdCommitmentStatusChoices); }
private void ReadControlsManual(TRptCalculator ACalc, TReportActionEnum AReportAction) { ACalc.AddParameter("param_ledger_number_i", FLedgerNumber); int MaxColumns = ACalc.GetParameters().Get("MaxDisplayColumns").ToInt(); for (int Counter = 0; Counter <= MaxColumns; ++Counter) { String ColumnName = ACalc.GetParameters().Get("param_calculation", Counter, 0).ToString(); if (ColumnName == "Total Gifts") { ACalc.AddParameter("param_gift_amount_column", Counter); } } }
private void LoadReportParams(TRptCalculator ACalc) { // Add standard parameters for the report header ACalc.GetParameters().Add("param_requested_by", UserInfo.GUserInfo.UserID); Version ClientVersion = Assembly.GetAssembly(typeof(FastReportsWrapper)).GetName().Version; ACalc.GetParameters().Add("param_version", ClientVersion.Major.ToString() + "." + ClientVersion.Minor.ToString() + "." + ClientVersion.Build.ToString() + "." + ClientVersion.Revision.ToString()); // // Some params are always provided for reports: bool TaxDeductiblePercentageEnabled = TSystemDefaults.GetBooleanDefault(SharedConstants.SYSDEFAULT_TAXDEDUCTIBLEPERCENTAGE, false); ACalc.AddParameter("param_tax_deductible_pct", TaxDeductiblePercentageEnabled); ArrayList reportParam = ACalc.GetParameters().Elems; MethodInfo FastReport_SetParameterValue = FFastReportType.GetMethod("SetParameterValue"); foreach (Shared.MReporting.TParameter p in reportParam) { if (p.name.StartsWith("param") && (p.name != "param_calculation")) { FastReport_SetParameterValue.Invoke(FfastReportInstance, new object[] { p.name, p.value.ToObject() }); } } }
private void grdStatuses_ReadControls(TRptCalculator ACalc, TReportActionEnum AReportAction) { String DocumentTypeList = ""; foreach (DataRow Row in FCommitmentStatusTable.Rows) { if ((Row["Selection"].GetType() == Type.GetType("System.Boolean")) && ((bool)Row["Selection"])) { DocumentTypeList = DocumentTypeList + (String)Row[PmCommitmentStatusTable.GetCodeDBName()] + ','; } } if (DocumentTypeList.Length > 0) { // Remove the last comma DocumentTypeList = DocumentTypeList.Remove(DocumentTypeList.Length - 1, 1); ACalc.AddParameter("param_commitmentstatuses", DocumentTypeList); } else if ((AReportAction == TReportActionEnum.raGenerate) && (chkSelectedStatus.Checked) && (!chkNoSelectedStatus.Checked)) { // at least one commitment status must be checked TVerificationResult VerificationResult = new TVerificationResult("Select at least one commitment status.", "No commitment status selected!", TResultSeverity.Resv_Critical); FPetraUtilsObject.AddVerificationResult(VerificationResult); } }
/// <summary> /// Print out the Motivation Details using FastReports template. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FilePrint(object sender, EventArgs e) { FastReportsWrapper ReportingEngine = new FastReportsWrapper("Motivation Details"); if (!ReportingEngine.LoadedOK) { ReportingEngine.ShowErrorPopup(); return; } ReportingEngine.RegisterData(FMainDS.AMotivationDetail, "MotivationDetail"); TRptCalculator Calc = new TRptCalculator(); ALedgerRow LedgerRow = FMainDS.ALedger[0]; Calc.AddParameter("param_ledger_number_i", LedgerRow.LedgerNumber); Calc.AddStringParameter("param_ledger_name", LedgerRow.LedgerName); if (ModifierKeys.HasFlag(Keys.Control)) { ReportingEngine.DesignReport(Calc); } else { ReportingEngine.GenerateReport(Calc); } }