/// <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);
            }
        }
Beispiel #3
0
        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));
        }
Beispiel #5
0
        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);
        }
Beispiel #8
0
        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);
            }
        }
Beispiel #9
0
        /// <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;
            }
        }
Beispiel #11
0
 /// <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);
 }
Beispiel #12
0
 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);
     }
 }
Beispiel #13
0
        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");
 }
Beispiel #15
0
 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");
 }
Beispiel #16
0
        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);
            }
        }
Beispiel #18
0
 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");
 }
Beispiel #19
0
        /// <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);
        }
Beispiel #20
0
        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);
            }
        }
Beispiel #21
0
        /// <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);
        }
Beispiel #23
0
        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);
                }
            }
        }
Beispiel #24
0
        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));
            }
        }
Beispiel #25
0
        //
        // 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);
                }
            }
        }
Beispiel #28
0
        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);
            }
        }
Beispiel #30
0
        /// <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);
            }
        }