3using System.Collections.Generic;
17using System.Windows.Forms;
22using System.Drawing.Printing;
25using System.Diagnostics;
27using System.Runtime.CompilerServices;
77 #region Variables de entorno
82 protected bool _lHera = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_hera"));
86 protected bool _lSage50 = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sage50"));
90 protected bool _lColor = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_color"));
94 protected bool _lPeso = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_peso"));
98 protected bool _lCajas = Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_cajas"));
100 #endregion Variables de entorno
105 private Empresa _oEmpresa =
null;
113 private Report _oReport =
null;
121 private List<OpcionesImpresion> _oOpciones_Impresion;
141 private String _cPrinter =
"";
142 private String _cRutaFichero =
"";
143 private String _cTemplate;
144 private String _cDestinatario_Email =
"";
145 private String _cPlantillaComunicado =
"";
146 private int _nNumero_Copias = 0;
147 private bool _lIVA_Desglosado =
true;
148 private bool _lEditMode =
false;
149 private bool _lValorado =
true;
150 private bool _lVista_Preliminar =
false;
151 private bool _lFieldRandomBackColor =
false;
152 private bool _lExportar =
false;
153 private bool _lEmail =
false;
154 private bool _lEmailAut =
false;
155 private DataTable _dtPlantillasComunicados =
null;
171 private Boolean _bUnMailCliente =
false;
175 private Boolean _bMarcarImpreso =
false;
179 private List<FiltroImpresion> _oFiltrosDocumentosImpresion =
new List<FiltroImpresion>();
187 private String _cErrorMessage =
"";
218 private bool _bImprimirExelOpenXml =
false;
227 return _bImprimirExelOpenXml;
231 _bImprimirExelOpenXml = value;
241 return _oMascaraImport;
252 return _oMascaraPrecio;
343 return _cErrorMessage;
347 _cErrorMessage = value;
369 return _bUnMailCliente;
373 _bUnMailCliente = value;
385 return _bMarcarImpreso;
389 _bMarcarImpreso = value;
405 if (_cTemplate != value)
408 _cPrinter = String.Empty;
435 if (_oDocumento ==
null || String.IsNullOrWhiteSpace(_oDocumento._Empresa))
437 _oEmpresa = EW_GLOBAL._Empresa;
439 else if (_oDocumento !=
null && (_oEmpresa ==
null || _oEmpresa._Codigo != _oDocumento._Empresa))
456 if (_oTerminal ==
null) _oTerminal = EW_GLOBAL._Terminal ==
null ?
new Terminal() : EW_GLOBAL._Terminal as
Terminal;
469 if (_oFileDialog ==
null)
471 _oFileDialog = EW_GLOBAL._FileDialog365;
501 return _oTipoImpresion;
505 _oTipoImpresion = value;
516 bool divisaActiva =
false;
551 PrinterSettings loSettings =
new PrinterSettings();
552 return loSettings.PrinterName;
563 return _oOpciones_Impresion;
567 _oOpciones_Impresion = value;
593 return _lIVA_Desglosado;
597 _lIVA_Desglosado = value;
627 _lVista_Preliminar = value;
655 return _nNumero_Copias;
659 _nNumero_Copias = value;
670 return _cRutaFichero;
674 if (value ==
null) _cRutaFichero =
"";
675 else _cRutaFichero = value;
701 return _lFieldRandomBackColor;
705 _lFieldRandomBackColor = value;
716 return _eFormato_exportacion;
720 _eFormato_exportacion = value;
746 return _cDestinatario_Email;
750 if (value ==
null) _cDestinatario_Email =
"";
751 else _cDestinatario_Email = value;
807 return _cPlantillaComunicado;
811 _cPlantillaComunicado = value;
815 #endregion PROPIEDADES
842 #endregion Propiedades
844 #region Constructores
863 #endregion Constructores
879 #region Métodos IDocPrint
888 throw new NotImplementedException();
899 throw new NotImplementedException();
921 toDocPrint._Email =
_Email;
925 toDocPrint._UserControlAdicional =
null;
941 if (loCamposOrdenacion.Count > 0)
945 if (tdDatos.Columns.Contains(loCampo.
_Campo))
947 if (!String.IsNullOrEmpty(lcOrden)) lcOrden +=
",";
952 if (!String.IsNullOrEmpty(lcOrden))
956 tdDatos.CaseSensitive =
true;
957 loDataView = tdDatos.DefaultView;
958 loDataView.Sort = lcOrden;
959 tdDatos = loDataView.ToTable();
966 #endregion Métodos IDocPrint
968 #region Métodos auxiliares
992 Boolean llExportO365 =
false;
996 lcPath = Path.GetTempFileName() + lcPath.Substring(lcPath.LastIndexOf(
"."));
1047 if (Debugger.IsAttached && !String.IsNullOrEmpty(
_Report._Error_Message)) MessageBox.Show(
_Report._Error_Message);
1050 _Documento._DocPrint =
null;
1061 if (toAction ==
Report.
ReportAction.edit) Usuario._This._LockConnect($
"EDIT {_ReportBase}");
1136 return _SendEmail(tcFileName,
new List<string>());
1146 protected bool _SendEmail(
string tcFicherosAdjuntos, List<string> toEmailsCCO)
1148 return _SendEmail(tcFicherosAdjuntos.Split(
'|').ToList(), toEmailsCCO);
1158 protected bool _SendEmail(List<string> toFicherosAdjuntos, List<string> toEmailsCCO)
1161 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1170 List<string> loEmailsDestino =
new List<string>();
1173 if (toFicherosAdjuntos.Count > 0)
1175 lcBody = (toFicherosAdjuntos.Count > 1) ?
"Se adjuntan los siguientes archivos o vínculos: " :
"Se adjunta el siguiente archivo o vínculo: ";
1176 lcBody +=
string.Join(
", ", toFicherosAdjuntos.Select(f => Path.GetFileName(f)));
1180 string lcCliente =
string.Empty;
1181 string lcProveedor =
string.Empty;
1182 string lcClientePotencial =
string.Empty;
1183 string lcResumen =
string.Empty;
1190 lcCliente = loDoc._Items[0]._Codigo;
1191 lcResumen =
"Entregas a cuenta: " + loDoc._Items[0]._Factura;
1198 lcProveedor = loDoc._Cabecera._Proveedor;
1199 lcResumen =
"Albaran de compra: " + loDoc._Numero;
1203 lcProveedor = loDoc._Cabecera._Proveedor;
1204 lcResumen =
"Depósito de compra: " + loDoc._Numero;
1208 lcProveedor = loDoc._Cabecera._Proveedor;
1209 lcResumen =
"Factura de compra: " + loDoc._Numero;
1213 lcProveedor = loDoc._Cabecera._Proveedor;
1214 lcResumen =
"Pedido de compra: " + loDoc._Numero;
1218 lcProveedor = loDoc._Cabecera._Proveedor;
1219 lcResumen =
"Propuesta de compra: " + loDoc._Numero;
1225 lcCliente = loDoc._Cabecera._Cliente;
1226 lcResumen =
"Albarán de venta: " + loDoc._Letra + loDoc._Numero;
1230 lcCliente = loDoc._Cabecera._Cliente;
1231 lcResumen =
"Depósito de venta: " + loDoc._Letra + loDoc._Numero;
1236 string lcBodyExtra =
"";
1239 if (!
string.IsNullOrWhiteSpace(
_Empresa._Mensaje_FactElec_Asunto))
1240 lcSubject = _oEmpresa._Mensaje_FactElec_Asunto +
" : " + lcSubject;
1244 if (!
string.IsNullOrWhiteSpace(lcBodyExtra))
1245 lcBody = $
"{FUNCTIONS.TextToHtml(lcBodyExtra)}<br><br>{lcBody}";
1247 lcCliente = loDoc._Cabecera._Cliente;
1248 lcResumen =
"Factura de venta: " + loDoc._Letra + loDoc._Numero;
1252 lcCliente = loDoc._Cabecera._Cliente;
1253 lcResumen =
"Pedido de venta: " + loDoc._Letra + loDoc._Numero;
1257 lcCliente = loDoc._Cabecera._Cliente;
1258 lcClientePotencial = loDoc._Cabecera._Futuro ? Convert.ToString(loDoc._Cabecera._Futuro_Cliente) :
"";
1259 lcResumen =
"Presupuesto de venta: " + loDoc._Letra + loDoc._Numero;
1263 lcCliente = loDoc._Cliente;
1264 lcResumen =
"Servicio: " + loDoc._Letra + loDoc._Numero;
1273 _Emails = loEmailsDestino,
1274 _Subject = lcSubject,
1276 _Attachments = toFicherosAdjuntos,
1278 _CCOUsuarioActivo = toEmailsCCO.Count == 0,
1279 _CCUsuarioActivo = toEmailsCCO.Count == 0,
1280 _EmailsCCO = toEmailsCCO
1284 ConfigurarPlantillaComunicado(loSendMail, lcCliente, lcProveedor, lcClientePotencial);
1290 llOk = loSendMail.
_Send(lcCliente, lcProveedor, lcResumen);
1292 if (!llOk && !
string.IsNullOrWhiteSpace(loSendMail.
_Error_Message))
1293 FUNCTIONS._MessageBox(loSendMail.
_Error_Message, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, DialogResult.OK);
1304 return _Empresa._Mensaje_FactElec_Cuerpo.Trim();
1324 EwTools._WriteTrace(EwTools.eMethodStatus.Inicio);
1327 DataTable ldtLineas =
new DataTable();
1329 List<FilterReportBase> llisFiltros =
new List<FilterReportBase>();
1338 loReport._ReportTitlePreview =
_Documento._ReportTitlePreview;
1342 loReport._FieldNameOnAutosizeForze =
"descripcion";
1344 _ConfigurePath(loReport);
1352 Dictionary<string, object> ldicParametrosReport =
new Dictionary<string, object>();
1355 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"_ConfigurarObtencionFiltros");
1360 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"_ConfigurarObtencionFiltros");
1366 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"_Obtener_Datos_SageReports");
1369 DataTable loDataTable =
_Documento._Obtener_Datos_SageReports(ldicParametrosReport);
1375 loReport._ReportData = loDataTable;
1378 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"_Obtener_Datos_SageReports");
1385 EwTools._WriteTrace(EwTools.eMethodStatus.Llamando,
"Asignar loReport._Filtros ");
1387 loReport._Filtros = llisFiltros;
1389 EwTools._WriteTrace(EwTools.eMethodStatus.Volviendo,
"Asignar loReport._Filtros ");
1395 EwTools._WriteTrace(EwTools.eMethodStatus.Fin);
1409 private void ConfigurarPlantillaComunicado(
SendMail loSendMail,
string tcCliente,
string tcProveedor,
string tcClientePotencial)
1420 string lcAsunto = Convert.ToString(dtRow[
"asunto"]);
1421 string lcCuerpo = Convert.ToString(dtRow[
"cuerpo"]);
1424 loSendMail._Subject = !
string.IsNullOrWhiteSpace(lcAsunto) ? lcAsunto : loSendMail.
_Subject;
1426 string lcFigura =
string.Empty;
1428 if (!
string.IsNullOrWhiteSpace(tcClientePotencial))
1430 lcFigura = tcClientePotencial;
1433 else if (!
string.IsNullOrWhiteSpace(tcCliente))
1435 lcFigura = tcCliente;
1438 else if (!
string.IsNullOrWhiteSpace(tcProveedor))
1440 lcFigura = tcProveedor;
1444 ComunicadosGenerar loGenerar =
new ComunicadosGenerar();
1445 loGenerar._EnvioDocumentoEmailPorPlantillaUnoAUno = !this.
_EmailAut;
1446 if (loGenerar.
_Simular(lcFigura, loTipoFigura, lcCuerpo))
1456 private DataRow ConfigurarPlantillaComunicadoCodigo(
string tcCodigo)
1458 DataRow dtRow =
null;
1459 if (_dtPlantillasComunicados ==
null)
1461 using (PlantillasComunicados loPlantilla =
new PlantillasComunicados())
1465 if (_dtPlantillasComunicados !=
null)
1466 dtRow = _dtPlantillasComunicados.AsEnumerable().Where(x => x.Field<
string>(
"codigo") ==
_PlantillaComunicado).ToList().FirstOrDefault();
1472 private void _ConfigurePath(Report toReport)
1476 toReport._PathServer = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_iniservidor"));
1487 ((
ReportPath)toReport.
_Path)._Usuario = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario"));
1488 ((
ReportPath)toReport.
_Path)._Caja = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_cajatpv"));
1551 private List<CampoOrdenacion> _GetCamposOrdenacion()
1553 List<CampoOrdenacion> loCamposSeleccionados =
new List<CampoOrdenacion>(); ;
1558 where loCampo._Seleccionado && !String.IsNullOrEmpty(loCampo._Campo)
1559 select loCampo).ToList();
1562 return loCamposSeleccionados;
1593 return _oFiltrosDocumentosImpresion;
1597 _oFiltrosDocumentosImpresion = value;
1611 EwTools._MedirTiempo(EwTools.eMethodStatus.Inicio);
1650 EwTools._MedirTiempo(EwTools.eMethodStatus.Fin);
1669 EwTools._MedirTiempo(EwTools.eMethodStatus.Inicio);
1673 string lcPrinterName =
"";
1674 DataTable ldtImpresora =
new DataTable();
1676 #region Configuración del terminal
1681 String lcDocumento =
"";
1693 if (String.IsNullOrEmpty(lcPrinterName))
1697 if (Convert.ToBoolean(
_Terminal._Campo(
"HERCONFTPV")))
1699 lcSql = String.Format(
"SELECT i.GUID_ID 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"));
1701 else if (!String.IsNullOrEmpty(
_Terminal._Campo(
"IMPNORM").ToString().Trim()))
1703 lcSql = String.Format(
"SELECT i.GUID_ID FROM {0} i WHERE i.CODIGO = '{1}' ", DB.SQLDatabase(
"TPV",
"IMPRESOR"),
_Terminal._Campo(
"IMPNORM"));
1707 if(!String.IsNullOrEmpty(lcSql))
1709 ldtImpresora =
new DataTable();
1710 DB.SQLExec(lcSql, ref ldtImpresora);
1712 if(ldtImpresora.Rows.Count > 0)
1715 loImpresora.
_Load(Convert.ToString(ldtImpresora.Rows[0][0]));
1716 if(!String.IsNullOrEmpty(loImpresora._Nombre_Local)) lcPrinterName =
functions.
FUNCTIONS._GetPrinterDriver(loImpresora._Nombre_Local);
1721 if (String.IsNullOrEmpty(lcPrinterName)) lcPrinterName = Convert.ToString(
_Terminal._Campo(
"IMPRESORA")).TrimEnd();
1725 #endregion Configuración del terminal
1727 #region Configuración de último uso SAGE REPORTS
1730 if (String.IsNullOrWhiteSpace(lcPrinterName))
1732 string lcSageReportPrinter =
"";
1736 lcSageReportPrinter = Convert.ToString(DB.SQLValor(
"SAGEREPORTS",
new string[2] {
"USUARIO",
"ID_REPLAN" },
new string[2] { Usuario._This._Codigo, _Template },
"IMPRESORA",
"COMUNES"));
1740 lcSageReportPrinter = Convert.ToString(DB.SQLValor(
"SAGEREPORTS",
new string[2] {
"USUARIO",
"LOWER(REPORT)" },
new string[2] { Usuario._This._Codigo, _GetReportFileName() },
"IMPRESORA",
"COMUNES"));
1742 if (!String.IsNullOrWhiteSpace(lcSageReportPrinter)) lcPrinterName = lcSageReportPrinter.TrimEnd();
1745 #endregion Configuración de último uso SAGE REPORTS
1748 EwTools._MedirTiempo(EwTools.eMethodStatus.Fin);
1751 return lcPrinterName;
1760 return Convert.ToString(DB.SQLValor(
"IMP_REPS",
new string[2] {
"TERMINAL",
"UPPER(INFORME)" },
new string[2] { _Terminal._Codigo, tcDocumento },
"IMPRESORA",
"COMUNES"));
1773 EwTools._MedirTiempo(EwTools.eMethodStatus.Inicio);
1778 Dictionary<string, object> ldicFiltrosDefecto, ldicFiltrosNegocio;
1789 EwTools._MedirTiempo(EwTools.eMethodStatus.Fin);
1804 List<String> loKeys = (from loFiltro in toFiltros
1805 select loFiltro._Key).ToList();
1807 foreach (KeyValuePair<string, object> loKeyValue
in toDiccionario)
1809 if(!loKeys.Contains(loKeyValue.Key) && loKeyValue.Value !=
null)
1811 Type loType = loKeyValue.Value.GetType();
1817 else if (loType == typeof(String) || loType == typeof(Int32) || loType == typeof(Int16) || loType == typeof(Boolean))
1824 throw new ArgumentException(String.Format(
"Tipo de datos del filtro {0} no soportado. Tipo: {1}", loKeyValue.Key, loType.ToString()));
1861 return _Documento !=
null ? _Documento._ReportBase :
"";
1873 #endregion Métodos auxiliares
1875 #region Métodos públicos
1951 _ErrorMessage = $
"No se puede realizar {GetAccion()}.{Environment.NewLine}Sage Reports no está intalado.";
1954 else if (!File.Exists(
_Report?._Path?._PathFile))
1956 _ErrorMessage = $
"No se puede realizar {GetAccion()}, el fichero del report {_Report._ReportFile.ToUpper()} no existe.";
1964 if (Directory.Exists(EW_GLOBAL._Ruta_Exportacion_Docs()))
1970 _ErrorMessage =
"La ruta de exportación configurada en el mantenimiento de empresa es incorrecta.";
1975 _ErrorMessage = $
"No se puede realizar {GetAccion()}, el path del fichero de exportación {Path.GetDirectoryName(_Ruta_Fichero)} no existe.";
1980 _ErrorMessage =
"La ruta de exportación no puede estar vacia.";
1988 private string GetAccion()
1999 lcAccion =
"la impresión";
2002 lcAccion =
"la previsualización";
2005 lcAccion =
"la edición";
2008 lcAccion =
"la exportación";
2024 #endregion Métodos públicos
2034 private String _cReportTitlePreview;
2035 private String _cNombre;
2053 DataTable ldtLineas =
new DataTable();
2055 List<FilterReportBase> llisFiltros =
new List<FilterReportBase>();
2067 loReport._PathServer = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_iniservidor"));
2069 ((
ReportPath)loReport.
_Path)._Usuario = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_usuario"));
2070 ((
ReportPath)loReport.
_Path)._Caja = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_cajatpv"));
2075 Dictionary<string, object> ldicParametrosReport =
new Dictionary<string, object>();
2080 DataTable loDataTable = _ObtenerDatosSageReports(ldicParametrosReport);
2082 loReport._ReportData = loDataTable;
2088 loReport._Filtros = llisFiltros;
2100 return _cReportTitlePreview;
2104 _cReportTitlePreview = value;
2166 foreach (T loItem
in _Items)
2173 private DataTable _ObtenerDatosSageReports(Dictionary<string, object> tdicParametros =
null)
2175 DataTable loDt =
null;
2176 DataTable loDtToPrint =
null;
2177 StringBuilder loErrors =
new StringBuilder();
2180 if (_Numero_Copias < 0) _Numero_Copias = 0;
2186 loItem._DocPrint._Numero_Copias = _Numero_Copias;
2191 while (lnCopias <= _Numero_Copias)
2193 if (loDtToPrint is DataTable)
2195 if (loDt.Rows.Count > 0)
2197 foreach (DataRow loRow
in loDt.Rows)
2199 loDtToPrint.ImportRow(loRow);
2205 loDtToPrint = loDt.Copy();
2211 catch (Exception loEx)
2213 loErrors.AppendLine(loEx.Message);
2218 _ErrorMessages = loErrors.ToString();
2232 if (!File.Exists(
_Report._Path._PathFile))
2242 Boolean llExportO365 =
false;
2246 lcPath = Path.GetTempFileName() + lcPath.Substring(lcPath.LastIndexOf(
"."));
2247 llExportO365 =
true;
2257 _Report._ExecuteAction(ref lcPath, loAction,
_Printer, 0, llSuppressUserInteraction:
true);
2295 Boolean lOk =
false;
Clase de negocio para la generación del comunicado.
bool _Simular()
Método para realizar una simulación del comunicado.
ComunicaTipoFigura
Enumerado de tipos de figuras de los documentos.
string _ResultHtml
Resultado html.
DataTable _GetPlantillas(int tnTipo=-1)
Devuelve datatable con las plantillas de un tipo concreto.
Clase documento de ALBARANES DE COMPRA.
Clase documento de DEPOSITO DE COMPRA.
Classe documento Factura de compra.
Clase documento de PEDIDOS DE COMPRA.
Clase documento de PROPUESTAS DE COMPRA.
Clase de documentos DEPOSITO.
Classe documento Factura de venta.
Clase documento de PEDIDOS.
Clase documento de PRESUPUESTOS.
Clase documento de venta TPV.
Classe empresa basada en sage.ew.ewmante.
static Empresa _NewEmpresa(string tcCodigoEmpresa)
Devueleve una nueva instancia de empresa Puede devolver el objeto EW_GLOBAL._EMPRESA.
virtual void _Load_Codigo_Config()
_Load_Codigo_Config: Creamos todos los campos de las tablas relacionadas con la pantalla de configura...
Clase para la exportación a Excel de los listados.
bool CreateFile(String tcTitle, DataTable toDt, List< ExcelCell > toListCells=null)
Crea un fichero a partir de los datos del DataTable.
ReportTPV clase que se utiliza para poder inicializar los datos de la clase Report.
static Dictionary< string, object > _ObtenerFiltrosDefecto()
Obtine los filtros por defecto.
Clase para el envío de emails.
string _Subject
Asunto del correo.
bool _Send(string tcCliente="", string tcProveedor="", string tcResumen="")
Envia el correo.
string _Error_Message
Mensaje de error.
Clase de negocio para la DIVISA (Moneda)
static bool _EsDivisaEmpresa(string tcCodigoDivisa)
Método que informa de si es la misma divisa que la empresa.
Parámetros de retorno de exportación.
string _Path
Ruta de fichero resultante.
ExportEventArgs(string TcPath)
Constructor con parámetros.
ExportEventArgs()
Contructor.
virtual List< CampoOrdenacion > _CamposOrdenacion
Devuelve la lista de los campos por lo que se podrá ordenar para la impresión.
Report _Report
Devuelve el report que va ha imprimir.
virtual Boolean _ExportarOpenXml(String tcPath)
Exportar exel en OpenXml.
virtual Boolean _ShowEditMode
Indica si dbe mostrar el botón de edición en el formulario por defecto de impresión.
Boolean _UnMailCliente
Indica si solo se enviará un mail por cliente.
Boolean _ImprimirExelOpenXml
Indica si exportamos el Excel po OpenXml.
int _Numero_Copias
Nos indicará el número de copias a imprimir.
string _ObtenerImpresoraRes(String tcDocumento)
Obtiene la impresora configurada en IMP_REPS.
_Evento_Exportacion_Completada _Evento_Exportacion_Finalizada
Delegado del evento para el refresco del formulario.
List< FiltroImpresion > _FiltrosDocumentosImpresion
Listado de filtros de impresion (impresión multiple)
virtual Report.ReportAction Obtener_accion()
Método auxiliar para determinar la acción a realizar Determinar si estamos imprimiendo o previsualiza...
List< CampoOrdenacion > _oCamposOrdenacion
Campos ordenación.
virtual string _GetReportBase()
Devuelve el report base.
bool _Valorado
Nos indicará si el documento se imprimirá valorado.
void _ConfigurarObtencionFiltros(ref Dictionary< string, object > toDiccionario)
Método auxiliar para la asignación de propiedades específicas de la clase DocPrintXXX Este diccionari...
virtual Report _CrearReport()
PE-86889 Método que inicializa un reports y le asigna los valores comunes para la impresión.
bool _EmailAut
Nos indicará si hay que enviar el email automáticamente.
bool _lColor
Guarda el valor acerca del trabajo con tallas y colores.
ewMascara _Mascara_Unidades
Mascara de unidades.
ewMascara _Mascara_Precios
Mascara de precio.
eFormato_exportacion _Formato_exportacion
Formato de exportación.
IFileDialog365 _FileDialog
Objeto FileDialog.
virtual bool _Vista_Preliminar
Nos indicará si se realizará una vista preliminar del documento.
ewMascara _oMascaraPeso
Mascara de peso.
void _UnLock(Report.ReportAction toAction)
Desbloquea el ususario.
UserControl _oUserControlAdicional
UserControl para las opciones de impresion multiple.
ewMascara _oMascaraPorcent
Mascara de porcentaje.
bool _Exportar
Determina si el documento.
eFormato_exportacion _Obtener_formato_exportacion(ewTiposExportacion teTipo)
Conversor de enumeraciones. Permite pasar de ewTiposExportacion (objetos) a eFormato_exportacion (sag...
virtual String _Printer
C106325 Devuelve la impresora configurada.
virtual void _OpenEditor()
Abre la edicíon de report calculando las variables a partir del documento.
virtual String _GetFileReportName(String tcNombre)
Trata el nombre antes de asignarlo al Report.
void _Lock(Report.ReportAction toAction)
Bloquea el ususario.
bool _EditMode
Modo de edición.
String _cReportBaseEW
Report base de EW para buscar la impresora en IMP_RES.
string _Destinatario_Email
Nos indicará la dirección de email en caso que se desee imprimir en PDF.
ewMascara _oMascaraUnidades
Mascara de unidades.
virtual bool _Print()
Método que imprementa la impresión. Se debe implementar en la clase específica.
virtual bool _DivisaActiva
T105514 Indica si se trabaja con divisa.
string Obtener_impresora()
Método protected para tratar de establecer la impresora. 1.- Mira de obtener la impresora a través de...
Terminal _Terminal
Terminal.
ImpresionNormalMultiple _ImpresionNormalMultiple
Indica el tipo de impresión.
ewMascara _Mascara_Porcentajes
Mascara de porcentaje.
delegate void _Evento_Exportacion_Completada(object sender, ExportEventArgs e)
Delegado del evento para la notificación de exportación completa
virtual DataTable _OrdenarDatosSageReports(List< CampoOrdenacion > loCamposOrdenacion, DataTable tdDatos)
Método que ordena los datos segun los campos especificados.
eFormato_exportacion
Tipos de exportación soportados.
@ Ninguno
Sin exportación.
@ Excel_xlsx
Formato Excel (.xlsx)
@ Excel
Formato Excel (.xls)
@ txt
T111264 Formato txt.
virtual bool _PrintNET()
PE-86889 Método para realizar la impresión de un documento mediante Sage Reports.
IDocumentoImprimible _Documento
Referéncia al documento.
bool _ValidatePrinting()
Validaciones antes de imprimir.
List< OpcionesImpresion > _Opciones_Impresion
Opiones de impresión.
string _ErrorMessage
Mensajede de error.
String _ValidaExtension(String tcPath)
Nos devuelve el fichero con la extensión.
void _AsignarEventoImpresionVistaPreviaAfter(Report.ReportAction toAction, Report toReport=null)
Asigna el evento para la impresión desde vista previa.
virtual String _DefaultSystemPrinter
Devuelve la impresora por defecto del sistem.
bool _lCajas
Guarda el valor acerca del trabajo con cajas.
virtual void _Configurar_obtencion_filtros(ref Dictionary< string, object > toDiccionario)
Método auxiliar para la asignación de propiedades específicas de la clase DocPrintXXX Este diccionari...
virtual void _ConfigureSendMail(SendMail sendmail)
Permite reconfigurar el objeto SendMail antes de llamar a _Send()
bool _SendEmail(List< string > toFicherosAdjuntos, List< string > toEmailsCCO)
Envia email segun confguracion del usuario Si tiene el opcemp 9050 activo, hace un envío directo medi...
delegate void _ImpresionVistaPreliminarEvent()
Delegado para los messagebox.
bool _lPeso
Guarda el valor acerca del trabajo con peso.
bool _GetFilters(ISageReportsFilterProvider toOrigen, Dictionary< string, object > toParams, ref List< FilterReportBase > tlisFiltros)
Método auxiliar que invoca la recuperación de filtros para SageReports.
string _Idioma
Nos indicará el código del idioma para la impresión.
virtual bool ValidatePrinting()
Validaciones antes de imprimir.
bool _Email
Nos indicará si hay que enviar el email.
string _Template
Indica si se impreme con una template.
bool _lSage50
Guarda el valor acerca de si es un Sage 50.
bool _lHera
Guarda el valor acerca de si somos un Hera.
void _LanzarEvento_ExportacionCompletada(string tcPath)
Método auxiliar para el lanzamiento de eventos.
ewMascara _oMascaraCajas
Mascara de cajas.
ewMascara _Mascara_Cajas
Mascara de cajas.
virtual TipoDocumento _GetTipoDocumento()
Devuelve la relación del documento para los campos adicionales.
String _ReportBase
Devuelve el report base.
bool _AddFiltersFromDicctionary(Dictionary< string, object > toDiccionario, ref List< FilterReportBase > toFiltros)
Método auxiliar que a partir de un diccionario de valores los añade a la lista de filtros recibida po...
string _PlantillaComunicado
Nos indica la plantilla de comunicado a utilizar en el email.
Boolean _MarcarImpreso
Indica sise marcará el documento como impreso.
virtual DocPrint _Clonar(DocPrint toDocPrint)
Copia la configuración al Docprint pasado.
bool _SendEmail(string tcFicherosAdjuntos, List< string > toEmailsCCO)
Envia email segun confguracion del usuario Si tiene el opcemp 9050 activo, hace un envío directo medi...
bool _IVA_Desglosado
Nos indicará si el documento se imprimirá con el IVA desglosado.
virtual void _ConfigureCustomPath(Report toReport)
Permite configurar el path.
String _ReportBaseEW
Report base de EW para buscar la impresora en IMP_RES.
ewMascara _Mascara_Importes
Mascara de importes.
virtual string _GetBodyExtra()
Texto para el body del mail.
string _Ruta_Fichero
Nos indicará la ruta donde nos guardará el fichero del documento en formato PDF.
ewMascara _Mascara_Pesos
Mascara de peso.
virtual void _MarcaDocumentoImpreso()
Metodo que se ejecutará al imprimir desde el preview para marcar los documentos como impresos.
virtual String _GetReportFileName()
C106325 Devuelve el nombre del fichero de report.
virtual string _GetReportName()
Obtener el nombre del report base.
bool _FieldRandomBackColor
Propiedad _FieldRandomBackColor.
virtual bool _SendEmail(string tcFileName)
Envia email segun confguracion del usuario Si tiene el opcemp 9050 activo, hace un envío directo medi...
virtual UserControl _UserControlAdicional
Opiones de impresión.
virtual void _Reset()
Al fallar la validación hay que reiniciar algunos valores de la pantalla ya que ahora ésta no se cier...
virtual void _ObtenerConfigurarionOpcionesImpresionMultiple()
Metodo para cargar la configuración del UserControl de multiple impresión.
virtual bool _Show_Print(int tnAbrirEn=1)
Método que imprementa la visualización de opciones de impresión. Se debe implementar en la clase espe...
_ImpresionVistaPreliminarEvent _ImpresionVistaPreliminar
Evento delegado para los messagebox.
Clase base de negocio de las entregas a cuenta por facturas.
List< T > _Items
Lisdfo de documento a imprimir.
override bool _PrintNET()
PE-86889 Método para realizar la impresión de un documento mediante Sage Reports.
override Report _CrearReport()
Método que inicializa un reports y le asigna los valores comunes para la impresión.
override Boolean _Print()
Override _Print.
override bool _Show_Print(int tnAbrirEn=1)
ShowPrint.
string _ReportTitlePreview
Título del documento.
string _Nombre
Nombre del fichero.
String _ErrorMessages
Indica si se ha producido algun error.
override void _MarcaDocumentoImpreso()
Metodo que se ejecutará al imprimir desde el preview para marcar los documentos como impresos.
IDocPrint _DocPrint
_DocPrint
Diferentes opciones de para la ordenación de los datos para la impresión.
TipoOrden
Indica el tipo de orden.
String _Campo
Campo por el que se ordenará
TipoOrden _TipoOrden
Tipo de orden.
Clase base para traspasar información en el objeto serializado.
TypeFilter
Tipo de filtro.
Clase para traspasar información en el objeto serializado.
static bool IsSageReportInstaled()
India si existe el fichero del deigner y por lo tanto esta instalado.
BaseReportPath _Path
Path base.
ReportAction
PE-84803 enum para las acciones a realizar.
@ preview
Previsualizar el documento.
static string _ValidaExtension(ReportAction type, String tcFileName)
Metodo que valida la extensión para un tipo de acción.
Clase para indicar el tipo de documento para los campos adicionales.
eTipoDocumento
Tipo documento.
PE-86618 : Clase Terminal.
override void _Load()
Override del método _Load.
Interficie de los objetos que soportan divisa.
Definición de la interfície necesaria para las páginas(tabPage) a utilizar en formularios de tipo For...
Definición de la interficie que deben cumplir los documentos de cualquier tipo para poder interactuar...
Interficie del gestor de ficheros o365.
Interficia par los documentos que se tiene que marcar como impresos.
DataTable _Obtener_Datos_SageReports(Dictionary< string, object > tdicParametros=null)
Método que devuelve un datatable con los datos para las líneas de SageReports.
Definición de la interficie que han de cumplir aquellos clases que quieran modificar los resultados d...
Definición de la interficie que han de cumplir aquellas clases que quieran proveer de información de ...
Dictionary< string, object > _Obtener_Filtros_SageReports(Dictionary< string, object > tdicParametros=null)
Método que devuelve un diccionario con parejas clave-valor para ser convertidas en Filtros de SageRep...
eTipoDocumento
Detalle los tipos de documento posibles de ventas y compras.
ImpresionNormalMultiple
Indica si es una impresión normal o multiple.
KeyDiccionarioMascara
Clave para diccionario de máscaras.
ewTiposExportacion
Enumeración de los diferentes tipos de exportación.