2 using System.ComponentModel;
8 using System.Drawing.Printing;
19 using System.Collections.Generic;
21 namespace sage.ew.formul.Forms
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;
82 public Boolean _CargaValoresSageReports
86 return _bCargaValoresSageReports;
90 _bCargaValoresSageReports = value;
97 public UserControl _UserControlAdicional
101 return _oUserControlAdicional;
107 _oUserControlAdicional = value;
108 if(Created) _ConfiguraUserControlAdicional();
116 public String _Nombre
120 if (_cNombre != value)
130 public String _ReportBase
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);
154 _FilePath = _GetPath(lcFilePath);
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);
193 public Boolean _MostrarOpcionColores
197 return EW_GLOBAL._lDebugMode && _bMostrarOpcionColores;
201 _bMostrarOpcionColores = value;
212 if(_oFileDialog365 == null) _oFileDialog365 = EW_GLOBAL._FileDialog365;
213 return _oFileDialog365;
256 public Boolean _ShowEditMode
260 return _bShowEditMode;
264 _bShowEditMode = value;
272 public Boolean _ShowExport
280 _bShowExport = value;
289 public Boolean _ShowVistaPreliminar
293 return ewPreivew.Visible;
297 ewPreivew.Visible = value;
314 _iTipo = Convert.ToInt16(value);
338 public String _FilePath
353 public String _Printer
357 return _cPrinter?.Trim();
368 public Int16 _PrinterCopies
372 return _iPrinterCopies;
376 _iPrinterCopies = value;
383 public Boolean _EditMode
398 public Boolean _FieldRandomBackColor
402 return ckColores.Checked;
410 public Int16 _PrinterFromPage
414 return _iPrinterFromPage;
418 _iPrinterFromPage = value;
425 public Int16 _PrinterToPage
429 return _iPrinterToPage;
433 _iPrinterToPage = value;
440 public bool _MostrarExportacionTexto {
get;
set; } =
true;
444 public bool _MostrarExportacionHTML {
get;
set; } =
true;
448 public bool _MostrarExportacionCSV {
get;
set; } =
true;
452 public bool _MostrarExportacionXML {
get;
set; } =
true;
458 public Boolean _VistaPreliminar
469 public bool _Exportar
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)
575 this.ewrbExportarExcel.Visible =
false;
576 this.ewrbExportarCSV.Visible = _MostrarExportacionCSV;
577 this.ewrbExportarHtml.Visible = _MostrarExportacionHTML;
578 this.ewrbExportarTexto.Visible = _MostrarExportacionTexto;
579 this.ewrbExportarXml.Visible = _MostrarExportacionXML;
582 ewPreivew_CheckedChanged(null, null);
586 Accion loAccion = Accion.Impresion;
593 loAccion = Accion.Exportacion;
597 if (_MostrarExportacionCSV) loAccion = Accion.Exportacion;
600 if (_MostrarExportacionHTML) loAccion = Accion.Exportacion;
603 if (_MostrarExportacionTexto) loAccion = Accion.Exportacion;
606 if (_MostrarExportacionXML) loAccion = Accion.Exportacion;
610 _ShowPrint(loAccion);
612 ewPrinterSelector.SetDefautPrinter(
new List<String>() {
String.IsNullOrWhiteSpace(_Printer) ? _DefaultPrinter() : _Printer, printDoc.PrinterSettings.PrinterName });
615 if (this._AplicarEstilos)
617 if (this._BackColor != SystemColors.Window)
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);
665 ewPreivew.Checked = _ShowVistaPreliminar;
668 if (_MostrarExportacionHTML) ewrbExportarHtml.Checked =
true;
671 ewrbExportarPdf.Checked =
true;
674 if (_MostrarExportacionTexto) ewrbExportarTexto.Checked =
true;
677 if (_MostrarExportacionXML) ewrbExportarXml.Checked =
true;
681 if(ewrbExportarXls.Visible) ewrbExportarXls.Checked =
true;
682 if (ewrbExportarExcel.Visible) ewrbExportarExcel.Checked =
true;
686 if (_MostrarExportacionCSV) ewrbExportarCSV.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 =
"";
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)
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)
841 else if (_oAccionSeleccionada == Accion.Impresion && !ewPreivew.Checked)
845 else if (ewrbExportarXls.Checked)
849 else if (ewrbExportarHtml.Checked)
853 else if (ewrbExportarPdf.Checked)
857 else if (ewrbExportarTexto.Checked)
861 else if (ewrbExportarXml.Checked)
865 else if (ewrbExportarExcel.Checked)
869 else if (ewrbExportarCSV.Checked)
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");
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;
912 _FilePath = ewtbFileToSave.Text;
913 _EditMode = _oAccionSeleccionada == Accion.Edicion;
915 if (!
String.IsNullOrEmpty(_cReportBase) && _bCargaValoresSageReports)
917 _oUsuario.
SageReportSave(_cReportBase, _Tipo, _FilePath, _Printer);
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)
974 private void ewrbExportarXml_CheckedChanged(
object sender, EventArgs e)
979 private void ewrbExportarTexto_CheckedChanged(
object sender, EventArgs e)
984 private void ewrbExportarPdf_CheckedChanged(
object sender, EventArgs e)
989 private void ewrbExportarHtml_CheckedChanged(
object sender, EventArgs e)
994 private void ewrbExportarXls_CheckedChanged(
object sender, EventArgs e)
1007 private void ewPreivew_CheckedChanged(
object sender, EventArgs e)
1009 ckColores.Visible = _MostrarOpcionColores && ewPreivew.Checked;
1012 private void ewrbExportarCSV_CheckedChanged(
object sender, EventArgs e)
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);
static System.Drawing.Bitmap open_folder_review_16
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
Interficie del gestor de ficheros o365
override object _Campo(string tcNombreCampo)
Override del metodo _Campo para los mantenimientos
static sage.ew.usuario.Usuario _This
Instancia estática del objeto usuario con los datos del usuario actual (wc_usuario) ...
static System.Drawing.Bitmap mant_edit
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
static System.Drawing.Bitmap exportr_txt_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
eFormato_exportacion
Tipos de exportación soportados
static System.Drawing.Bitmap exportr_xml_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
virtual bool SageReportLoad(String tcNombreReport, ref Int16 tnTipo, ref String tcNombreFichero, ref String tcNombreImpresora)
Metodo que carga la última configuración de un usuario al imprimir un report
ImpresionNormalMultiple
Indica si es una impresión normal o multiple
static System.Drawing.Bitmap doc_print
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
static System.Drawing.Bitmap export
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
static System.Drawing.Bitmap exportr_html_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
static System.Drawing.Bitmap exportr_csv_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
Cuenta Onedrive declarada en mantenimiento de grupos de empresas para exportar documentos, graficas, listados a OneDrive.
virtual bool _Existe_Registro()
Nos indica si existe el registro en la Base de Datos
ReportAction
PE-84803 enum para las acciones a realizar
static string _ValidaExtension(ReportAction type, String tcFileName)
Metodo que valida la extensión para un tipo de acción
static System.Drawing.Bitmap exportr_excel_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
PE-86618 : Clase Terminal
static System.Drawing.Bitmap exportr_pdf_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
virtual bool SageReportSave(String tcNombreReport, Int16 tnTipo, String tcNombreFichero, String tcNombreImpresora)
Metodo que guarda la última configuración de un usuario al imprimir un report
static System.Drawing.Bitmap exportr_xls_36
Busca un recurso adaptado de tipo System.Drawing.Bitmap.
Clase para la impresión de documentos (del tipo que sea)
Definición de la clase Usuario