36 private String _cNombre;
37 private String _cReportBase;
38 private String _cFilePath;
39 private String _cPrinter;
40 private Int16 _iTipo = 15;
41 private Int16 _iPrinterCopies;
42 private Int16 _iPrinterFromPage;
43 private Int16 _iPrinterToPage;
45 private Boolean _bEditMode =
false;
46 private Boolean _bMostrarOpcionColores =
true;
48 private Boolean _bCargaValoresSageReports =
true;
50 private Accion _oAccionSeleccionada = Accion.Impresion;
52 private Boolean _bShowEditMode =
true;
54 private Boolean _bShowExport =
true;
58 private PrintDocument printDoc =
new PrintDocument();
60 private UserControl _oUserControlAdicional =
null;
71 return _oTipoImpresion;
75 _oTipoImpresion = value;
86 return _bCargaValoresSageReports;
90 _bCargaValoresSageReports = value;
101 return _oUserControlAdicional;
107 _oUserControlAdicional = value;
108 if(Created) _ConfiguraUserControlAdicional();
120 if (_cNombre != value)
134 if (_cReportBase != value)
136 _cReportBase = value;
147 String lcFilePath =
"", lcPrinter =
"";
149 if (!String.IsNullOrEmpty(_cReportBase) && !String.IsNullOrEmpty(_cNombre) && _bCargaValoresSageReports)
151 _oUsuario.SageReportLoad(_cReportBase, ref tiTipo, ref lcFilePath, ref lcPrinter);
155 if (!String.IsNullOrEmpty(lcPrinter))
_Printer = lcPrinter;
161 private String _GetPath(
string tcFilePath)
163 String lcFilePath = tcFilePath.Trim();
165 if (String.IsNullOrEmpty(lcFilePath))
167 tcFilePath = Directory.Exists(EW_GLOBAL._Ruta_Exportacion_Docs()) ? EW_GLOBAL._Ruta_Exportacion_Docs() : Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
169 else if(Directory.Exists(lcFilePath))
171 tcFilePath = lcFilePath;
173 else if (Directory.Exists(Path.GetDirectoryName(lcFilePath)))
175 tcFilePath = Path.GetDirectoryName(lcFilePath);
179 tcFilePath = Directory.Exists(EW_GLOBAL._Ruta_Exportacion_Docs()) ? EW_GLOBAL._Ruta_Exportacion_Docs() : Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
184 tcFilePath = Path.Combine(tcFilePath, _cNombre);
197 return EW_GLOBAL._lDebugMode && _bMostrarOpcionColores;
201 _bMostrarOpcionColores = value;
212 if(_oFileDialog365 ==
null) _oFileDialog365 = EW_GLOBAL._FileDialog365;
213 return _oFileDialog365;
260 return _bShowEditMode;
264 _bShowEditMode = value;
280 _bShowExport = value;
293 return ewPreivew.Visible;
297 ewPreivew.Visible = value;
314 _iTipo = Convert.ToInt16(value);
357 return _cPrinter?.Trim();
372 return _iPrinterCopies;
376 _iPrinterCopies = value;
402 return ckColores.Checked;
414 return _iPrinterFromPage;
418 _iPrinterFromPage = value;
429 return _iPrinterToPage;
433 _iPrinterToPage = value;
485 switch(StartPosition)
487 case FormStartPosition.CenterScreen:
488 Shown += (s, e) => CenterToScreen();
490 case FormStartPosition.CenterParent:
491 Shown += (s, e) => CenterToParent();
504 InitializeComponent();
506 this._MenuOpcionesBoton =
false;
509 if (!this.DesignMode)
511 this.btPrintOptions.FlatAppearance.BorderSize = 0;
512 this.btExportOptions.FlatAppearance.BorderSize = 0;
513 this.btEditOption.FlatAppearance.BorderSize = 0;
518 private void buttonFolder_Click(
object sender, EventArgs e)
521 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sage50")))
526 if (_FileDialog365.
_GetPathFile(
"Seleccione el fichero ", tcPath:
this.ewtbFileToSave.Text) == DialogResult.OK)
528 this.ewtbFileToSave.Text = _FileDialog365.
_Path;
534 if (_FileDialog365.
_GetPathFolder(
"Seleccione el directorio ") == DialogResult.OK)
536 this.ewtbFileToSave.Text = _FileDialog365.
_Path;
544 if (saveFileDialog1.ShowDialog() == DialogResult.OK)
546 this.ewtbFileToSave.Text = saveFileDialog1.FileName;
551 if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
553 this.ewtbFileToSave.Text = folderBrowserDialog1.SelectedPath;
559 private void frmReportAction_Load(
object sender, EventArgs e)
561 this.buttonFolder.Image = Resources.open_folder_review_16;
562 this.btExportOptions.Image = Resources.export;
563 this.btPrintOptions.Image = Resources.doc_print;
564 this.btEditOption.Image = Resources.mant_edit;
566 _SetConfigImage(this.ewrbExportarXls, Resources.exportr_xls_36);
567 _SetConfigImage(this.ewrbExportarHtml, Resources.exportr_html_36);
568 _SetConfigImage(this.ewrbExportarPdf, Resources.exportr_pdf_36);
569 _SetConfigImage(this.ewrbExportarTexto, Resources.exportr_txt_36);
570 _SetConfigImage(this.ewrbExportarXml, Resources.exportr_xml_36);
571 _SetConfigImage(this.ewrbExportarExcel, Resources.exportr_excel_36);
572 _SetConfigImage(this.ewrbExportarCSV, Resources.exportr_csv_36);
575 this.ewrbExportarExcel.Visible =
false;
582 ewPreivew_CheckedChanged(
null,
null);
586 Accion loAccion = Accion.Impresion;
588 switch ((Report.ReportAction)
_Tipo)
590 case Report.ReportAction.xls:
591 case Report.ReportAction.pdf:
592 case Report.ReportAction.xlsx:
593 loAccion = Accion.Exportacion;
595 case Report.ReportAction.delimited:
599 case Report.ReportAction.html:
602 case Report.ReportAction.txt:
605 case Report.ReportAction.xml:
610 _ShowPrint(loAccion);
612 ewPrinterSelector.SetDefautPrinter(
new List<String>() {
String.IsNullOrWhiteSpace(
_Printer) ? _DefaultPrinter() :
_Printer, printDoc.PrinterSettings.PrinterName });
620 this.ewsplitcontainer1.Panel2.BackColor = this.
_BackColor;
628 this.ewsplitcontainer1.BackColor = this.btEditOption.BackColor;
636 _ConfiguraUserControlAdicional();
639 private void _SetConfigImage(ewradiobutton toRadioButton, Bitmap toImage)
641 toRadioButton.Text =
String.Format(
" {0}",toRadioButton.Text);
642 toRadioButton.Image = toImage;
643 toRadioButton.TextImageRelation = TextImageRelation.ImageBeforeText;
644 toRadioButton.ImageAlign = ContentAlignment.MiddleLeft;
655 this.ewtbFileToSave.Text = saveFileDialog1.FileName =
_FilePath;
659 this.ewtbFileToSave.Text = folderBrowserDialog1.SelectedPath = _GetPath(
_FilePath);
671 ewrbExportarPdf.Checked =
true;
681 if(ewrbExportarXls.Visible) ewrbExportarXls.Checked =
true;
682 if (ewrbExportarExcel.Visible) ewrbExportarExcel.Checked =
true;
692 if (ewrbExportarXls.Checked)
696 else if (ewrbExportarHtml.Checked)
700 else if (ewrbExportarPdf.Checked)
704 else if (ewrbExportarTexto.Checked)
708 else if (ewrbExportarXml.Checked)
712 else if (ewrbExportarExcel.Checked)
716 else if (ewrbExportarCSV.Checked)
721 ewPrinterSelector.Printer =
_Printer;
725 private void _ConfiguraUserControlAdicional()
727 if(_oUserControlAdicional is UserControl)
729 ewPanelUserControlAdicional.Controls.Clear();
730 ewPanelUserControlAdicional.Controls.Add(_oUserControlAdicional);
732 ewLabelTituloAdicional.Text =
"Opciones";
738 if (!String.IsNullOrEmpty(loControl.
_Titulo)) ewLabelTituloAdicional.Text = loControl.
_Titulo;
740 ewPanelUserControlAdicional.Height = _oUserControlAdicional.Height;
741 ewPanelUserControlAdicional.AutoSize =
true;
742 ewPanelUserControlAdicional.AutoSizeMode =
System.
Windows.
Forms.AutoSizeMode.GrowAndShrink;
743 ewPanelBorder.Visible =
true;
745 ewPanelBorder.BackColor =
System.Drawing.SystemColors.Control;
746 ewpanel3.BackColor =
Color.White;
750 ewPanelBorder.Visible =
false;
756 ewPanelBorder.Visible =
false;
760 this.Height = Math.Max(Math.Max(ewPanelUserControlAdicional.Height, ewPanelFichero.Height) + 150, 400);
768 private string _DefaultPrinter()
771 DataTable ldtImpresora =
new DataTable();
772 String lcSql, lcPrinterName =
"";
775 if (loTerm._Existe_Registro())
779 if (Convert.ToBoolean(loTerm._Campo(
"HERCONFTPV")))
781 ldtImpresora =
new DataTable();
783 lcSql =
String.Format(
"SELECT i.NOMBRE FROM {0} i INNER JOIN {1} c ON i.CODIGO = c.IMPRESORA2 WHERE c.CODIGO = '{2}' ", DB.SQLDatabase(
"TPV",
"IMPRESOR"), DB.SQLDatabase(
"TPV",
"CAJAS"), EW_GLOBAL._GetVariable(
"wc_cajatpv"));
785 DB.SQLExec(lcSql, ref ldtImpresora);
786 lcPrinterName = ldtImpresora.Rows.Count > 0 ? Convert.ToString(ldtImpresora.Rows[0][0]).TrimEnd() :
"";
792 if (!
String.IsNullOrEmpty(loTerm._Campo(
"IMPNORM").ToString().Trim()))
794 ldtImpresora =
new DataTable();
795 lcSql =
String.Format(
"SELECT i.NOMBRE FROM {0} i WHERE i.CODIGO = '{1}' ", DB.SQLDatabase(
"TPV",
"IMPRESOR"), loTerm._Campo(
"IMPNORM"));
797 DB.SQLExec(lcSql, ref ldtImpresora);
798 lcPrinterName = ldtImpresora.Rows.Count > 0 ? Convert.ToString(ldtImpresora.Rows[0][0]).TrimEnd() :
"";
802 if (
String.IsNullOrEmpty(lcPrinterName)) lcPrinterName = Convert.ToString(loTerm._Campo(
"IMPRESORA")).TrimEnd();
806 return functions.FUNCTIONS._GetPrinterDriver(lcPrinterName);
812 private void _ShowHideOptions()
814 btEditOption.Visible = _bShowEditMode;
815 btExportOptions.Visible = _bShowExport;
818 private void btDocAceptar1_Click(
object sender, EventArgs e)
825 if (_oUserControlAdicional is OpcionesAdicionalesImpresion)
827 lOk = ((OpcionesAdicionalesImpresion)_oUserControlAdicional)._Valida();
832 if (_oAccionSeleccionada == Accion.Exportacion && !ewrbExportarCSV.Checked && !ewrbExportarXls.Checked && !ewrbExportarHtml.Checked && !ewrbExportarPdf.Checked && !ewrbExportarTexto.Checked && !ewrbExportarXml.Checked && !ewrbExportarExcel.Checked)
834 throw new Exception(
"Debe seleccionar un tipo de exportación");
837 if (_oAccionSeleccionada == Accion.Impresion && ewPreivew.Checked)
839 _Tipo = Convert.ToInt16(Report.ReportAction.preview);
841 else if (_oAccionSeleccionada == Accion.Impresion && !ewPreivew.Checked)
843 _Tipo = Convert.ToInt16(Report.ReportAction.prn);
845 else if (ewrbExportarXls.Checked)
847 _Tipo = Convert.ToInt16(Report.ReportAction.xlsx);
849 else if (ewrbExportarHtml.Checked)
851 _Tipo = Convert.ToInt16(Report.ReportAction.html);
853 else if (ewrbExportarPdf.Checked)
855 _Tipo = Convert.ToInt16(Report.ReportAction.pdf);
857 else if (ewrbExportarTexto.Checked)
859 _Tipo = Convert.ToInt16(Report.ReportAction.txt);
861 else if (ewrbExportarXml.Checked)
863 _Tipo = Convert.ToInt16(Report.ReportAction.xml);
865 else if (ewrbExportarExcel.Checked)
867 _Tipo = Convert.ToInt16(Report.ReportAction.xlsx);
869 else if (ewrbExportarCSV.Checked)
871 _Tipo = Convert.ToInt16(Report.ReportAction.delimited);
874 if (_oAccionSeleccionada == Accion.Exportacion)
878 if (
String.IsNullOrEmpty(ewtbFileToSave.Text.Trim()))
880 throw new Exception(
"Introduzca el path del fichero a exportar");
883 FileInfo loFileInfo =
new FileInfo(ewtbFileToSave.Text);
884 if (
String.IsNullOrEmpty(loFileInfo.Name.Replace(loFileInfo.Extension,
"").Trim()))
886 throw new Exception(
"Introduzca el nombre del fichero");
889 if (ewtbFileToSave.Text != Report._ValidaExtension((Report.ReportAction)
_Tipo, ewtbFileToSave.Text))
891 throw new Exception(
"Introduzca una extensión correcta");
896 if (
String.IsNullOrEmpty(ewtbFileToSave.Text.Trim()))
898 throw new Exception(
"Introduzca el path de exportación");
901 if (!Directory.Exists(ewtbFileToSave.Text))
903 if (!_FileDialog365._DirectoryExists(ewtbFileToSave.Text))
905 throw new Exception(
"Introduzca un path de exportación correcto");
911 _Printer = ewPrinterSelector.Printer;
913 _EditMode = _oAccionSeleccionada == Accion.Edicion;
915 if (!
String.IsNullOrEmpty(_cReportBase) && _bCargaValoresSageReports)
922 throw new Exception(
"");
925 catch (Exception loEx)
927 if(!
String.IsNullOrEmpty(loEx.Message)) this.
_MessageBox(loEx.Message, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, DialogResult.OK);
928 DialogResult = DialogResult.None;
932 private void _ShowPrint(Accion toTipo)
937 case Accion.Exportacion:
939 ewLabelTitulo.Text =
"Exportar";
940 ewPanelImpr.Visible =
false;
941 ewPanelFichero.Visible =
true;
942 ewPanelEditar.Visible =
false;
945 if (!ewrbExportarCSV.Checked && !ewrbExportarXls.Checked && !ewrbExportarHtml.Checked && !ewrbExportarExcel.Checked && !ewrbExportarXml.Checked && !ewrbExportarTexto.Checked && !ewrbExportarPdf.Checked && !ewrbExportarHtml.Checked) ewrbExportarXls.Checked =
true;
950 ewLabelTitulo.Text =
"Editar";
951 ewPanelImpr.Visible =
false;
952 ewPanelFichero.Visible =
false;
953 ewPanelEditar.Visible =
true;
957 ewLabelTitulo.Text =
"Imprimir";
958 ewPanelImpr.Visible =
true;
959 ewPanelFichero.Visible =
false;
960 ewPanelEditar.Visible =
false;
965 _oAccionSeleccionada = toTipo;
969 private void ewrbExportarExcel_CheckedChanged(
object sender, EventArgs e)
971 if (ewrbExportarExcel.Checked) _SetExtensionValue(Report.ReportAction.xlsx);
974 private void ewrbExportarXml_CheckedChanged(
object sender, EventArgs e)
976 if (ewrbExportarXml.Checked) _SetExtensionValue(Report.ReportAction.xml);
979 private void ewrbExportarTexto_CheckedChanged(
object sender, EventArgs e)
981 if (ewrbExportarTexto.Checked) _SetExtensionValue(Report.ReportAction.txt);
984 private void ewrbExportarPdf_CheckedChanged(
object sender, EventArgs e)
986 if (ewrbExportarPdf.Checked) _SetExtensionValue(Report.ReportAction.pdf);
989 private void ewrbExportarHtml_CheckedChanged(
object sender, EventArgs e)
991 if (ewrbExportarHtml.Checked) _SetExtensionValue(Report.ReportAction.html);
994 private void ewrbExportarXls_CheckedChanged(
object sender, EventArgs e)
996 if (ewrbExportarXls.Checked) _SetExtensionValue(Report.ReportAction.xlsx);
999 private void _SetExtensionValue(Report.ReportAction reportAction)
1003 this.ewtbFileToSave.Text = Report._ValidaExtension(reportAction, this.ewtbFileToSave.Text.Trim());
1007 private void ewPreivew_CheckedChanged(
object sender, EventArgs e)
1012 private void ewrbExportarCSV_CheckedChanged(
object sender, EventArgs e)
1014 if (ewrbExportarCSV.Checked) _SetExtensionValue(Report.ReportAction.delimited);
1017 private void btPrintOptions_Click(
object sender, EventArgs e)
1019 _ShowPrint(Accion.Impresion);
1022 private void btExportOptions_Click(
object sender, EventArgs e)
1024 _ShowPrint(Accion.Exportacion);
1027 private void btEditOption_Click(
object sender, EventArgs e)
1029 _ShowPrint(Accion.Edicion);
1032 private void btAdicional_Click(
object sender, EventArgs e)
1034 _ShowPrint(Accion.Adicional);