7 using System.Collections.Generic;
8 using System.ComponentModel;
23 protected List<String> _oReportColumns = null;
24 Dictionary<string, object> _toControlsFiltros = null;
25 private Dictionary<string, object> _toControlsOpciones;
27 private Dictionary<string, string> ldTranslate
31 if (_ldTranslate == null || _ldTranslate.Count == 0)
33 _ldTranslate =
new Dictionary<string, string>();
34 _ldTranslate.Add(
"cli",
"Cliente Valor");
35 _ldTranslate.Add(
"cli_agrupado",
"Cliente");
36 _ldTranslate.Add(
"nombrecli",
"Nombre");
37 _ldTranslate.Add(
"mandato",
"Nº Mandato Valor");
38 _ldTranslate.Add(
"mandato_agrupado",
"Nº Mandato");
39 _ldTranslate.Add(
"fecha_fin",
"Fecha Fin");
40 _ldTranslate.Add(
"fecha_cart",
"Fecha Envío");
41 _ldTranslate.Add(
"remesa",
"Remesa");
42 _ldTranslate.Add(
"factura",
"Factura");
43 _ldTranslate.Add(
"orden",
"Orden");
44 _ldTranslate.Add(
"emision",
"F. Emisión");
45 _ldTranslate.Add(
"vencim",
"F. Venci.");
46 _ldTranslate.Add(
"fpago_nombre",
"F. pago");
47 _ldTranslate.Add(
"importe",
"Importe");
52 private Dictionary<string, string> _ldTranslate;
57 public override String _ReportFile
61 return "listadotrazabilidadmandatos.report";
71 DataTable resultado = null;
75 string empresa = EW_GLOBAL._GetVariable(
"wc_empresa").ToString();
76 DateTime fechaHoy = DateTime.Today;
78 DateTime dewdate = Convert.ToDateTime(_Opciones[
"dewdate"]);
82 DateTime dewdateMenos36Meses = dewdate.AddMonths(-36);
84 string SQLdewdate = dewdate.Year.ToString() +
"/" + dewdate.Month.ToString().PadLeft(2,
'0') +
"/" + dewdate.Day.ToString().PadLeft(2,
'0');
85 string SQLdewdateMenos36Meses = dewdateMenos36Meses.Year.ToString() +
"/" + dewdateMenos36Meses.Month.ToString().PadLeft(2,
'0') +
"/" + dewdateMenos36Meses.Day.ToString().PadLeft(2,
'0');
88 filtros += (_Opcion_Logico(
"lMandatossinmovimie") ?
" Not Exists (select p2.factura from " + DB.SQLDatabase(
"COMUNES",
"Previ_cl") +
" p2 where p2.empresa='" + empresa +
"' and p2.mandato = Mandatos.mandato and p2.remesa != 0 and CONVERT(VARCHAR(10), p2.fecreme, 111)>=" + DB.SQLString(SQLdewdateMenos36Meses) +
" And CONVERT(VARCHAR(10), p2.fecreme, 111) <= " + DB.SQLString(SQLdewdate) +
") " :
" Previ.remesa != 0 ");
89 filtros += _Filtro_Fecha(_Filtros,
_Tipo_Filtro_Fecha.Fecha,
"Mandatos",
"fecha_cart");
90 filtros += _Filtro_Fecha(_Filtros,
_Tipo_Filtro_Fecha.Fecha +
"1",
"Mandatos",
"fecha_fin");
92 filtros += _Filtro_String(_Filtros,
_Tipo_Filtro_String.Cliente, _Opcion_Logico(
"lPrevisionessinmand") ?
"Previ":
"Mandatos",
"Cliente");
94 filtros += _Filtro_String(_Filtros,
"Mandatos",
"Mandatos",
"mandato");
97 filtros += (_Opcion_Entero(
"nTodosNovigentesVi") == 1 ?
" And NOT ( (fecha_fin >= " + DB.SQLString(fechaHoy) +
" OR fecha_fin IS NULL) AND estpro = 0 ) ": (_Opcion_Entero(
"nTodosNovigentesVi") == 2 ?
" And NOT ( (fecha_fin < " + DB.SQLString(fechaHoy) +
" AND fecha_fin IS NOT NULL) OR estpro = 1 ) " :
"" ) );
98 filtros += (_Opcion_Entero(
"nTodasCobradasPend") == 1 ?
" And banco <> '' AND impagado<>1 AND impago<>'S' " : (_Opcion_Entero(
"nTodasCobradasPend") == 2 ?
" And ( (banco IS NULL OR banco = '') OR banco IS NOT NULL AND banco <> '' AND impagado=1 AND impago='S') " :
" "));
100 sql =
"Select IIf(Mandatos.mandato is NULL, Previ.cliente, Mandatos.cliente) as cli, IIf(Mandatos.mandato is NULL, Previ.cliente, Mandatos.cliente) as cli_agrupado, Clientes.nombre as nombrecli, IIf(Mandatos.mandato is NULL, 'Previsiones sin mandato ' + IIf(Clientes.nombre is NULL, '', Clientes.nombre ), Mandatos.mandato) as mandato_agrupado, IIf(Mandatos.mandato is NULL, '" + (char)255 +
"Previsiones sin mandato ' + IIf(Clientes.nombre is NULL, '', Clientes.nombre ), Mandatos.mandato) as mandato_ordenacion, Mandatos.mandato as mandato, Mandatos.mandcont, Mandatos.fecha_fin, Mandatos.fecha_cart, Mandatos.tipo, Mandatos.estpro, Previ.remesa, Previ.factura, Previ.orden, Previ.emision, Previ.vencim, Previ.f_pago, Previ.f_pago + ' ' + FP.nombre as fpago_nombre, Previ.importe, Previ.periodo, Previ.impagado, Previ.pendiente, Previ.doccargo as descarga, Previ.banco, Previ.Empresa " +
101 "From " +
"(Select Max(Mandatos1.cliente) as cliente, Mandatos1.mandato, Max(Mandatos1.mandcont) as mandcont, Max(Mandatos1.fecha_fin) as fecha_fin, Max(Mandatos1.fecha_cart) as fecha_cart, Mandatos1.tipo, Max(Convert(int, Mandatos1.estpro)) as estpro from " + DB.SQLDatabase(
"COMUNES",
"MANDATOS") +
" Mandatos1 Group by Mandatos1.mandato, Mandatos1.tipo ) Mandatos " +
102 (_Opcion_Logico(
"lPrevisionessinmand") ?
"Right" :
"Inner") +
" Join " + DB.SQLDatabase(
"COMUNES",
"Previ_cl") +
" Previ On " +
" Previ.Empresa = " + DB.SQLString(empresa) +
" " +
" And Previ.mandato = Mandatos.mandato " +
103 "Inner Join " + DB.SQLDatabase(
"Clientes") +
" Clientes On clientes.Codigo = IIf(Mandatos.mandato is NULL, Previ.cliente, Mandatos.cliente) " +
104 "Left Join " + DB.SQLDatabase(
"FPag") +
" FP On FP.codigo = Previ.f_pago " +
106 "Order by cli, mandato_ordenacion, remesa, factura, orden";
108 resultado =
new DataTable();
109 DB.SQLExec(sql, ref resultado);
111 List<string> columnasAAgrupar =
new List<string>();
112 columnasAAgrupar.Add(
"mandato_agrupado");
114 List<string> columnasNombreAgrupa =
new List<string>();
115 columnasNombreAgrupa.Add(
"");
117 List<string> columnasATotalizar =
new List<string>();
118 columnasATotalizar.Add(
"importe");
121 resultado = resultado.__Agrupar(columnasAAgrupar, columnasNombreAgrupa, columnasATotalizar,
false,
"mandato_agrupado",
false,
"");
125 List<string> columnasCodigo =
new List<string>();
126 columnasCodigo.Add(
"mandato_agrupado");
127 List<string> columnasAVaciar =
new List<string>();
129 columnasAVaciar.Add(
"cli_agrupado");
130 columnasAVaciar.Add(
"nombrecli");
131 columnasAVaciar.Add(
"fecha_cart");
133 _VaciarCamposAgrupaciones(resultado, columnasCodigo, columnasAVaciar);
142 public override void _VaciarCamposAgrupaciones(DataTable resultado, List<string> columnasCodigo, List<string> columnasAVaciar,
bool lborrarTitulos =
false)
144 base._VaciarCamposAgrupaciones(resultado, columnasCodigo, columnasAVaciar, lborrarTitulos);
152 base._SetColumnCaptions(_ldTranslate);
160 Dictionary<string, int> ldTranslate =
new Dictionary<string, int>();
162 ldTranslate.Add(
"cli_agrupado", 25);
163 ldTranslate.Add(
"nombrecli", 150);
164 ldTranslate.Add(
"mandato_agrupado", 200);
165 ldTranslate.Add(
"fecha_fin", 80);
166 ldTranslate.Add(
"fecha_cart", 80);
167 ldTranslate.Add(
"remesa", 80);
168 ldTranslate.Add(
"factura", 100);
169 ldTranslate.Add(
"orden", 80);
170 ldTranslate.Add(
"emision", 80);
171 ldTranslate.Add(
"vencim", 80);
172 ldTranslate.Add(
"fpago_nombre", 150);
173 ldTranslate.Add(
"importe", 80);
175 base._SetColumnWidth(ldTranslate);
185 List<String> columnNoVisibles =
new List<string>() {
"cli",
"mandato",
"f_pago",
"periodo",
"impagado",
"pendiente",
"doccargo",
"mandcont",
"tipo",
"banco",
"descarga",
"empresa" };
188 base._SetVisibilityColumns(columnNoVisibles);
197 public override void _SetDefaultValues(Dictionary<string, object> toControlsFiltros = null, Dictionary<string, object> toControlsOpciones = null)
200 ((txtbox.UserControls.txtMandatosDesdeHasta)toControlsFiltros[
"txtMandatosDesdeHasta"]).AutoSize =
true;
202 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Cliente = ((txtbox.UserControls.txtClienteDesdeHasta)toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroDesde._Codigo;
203 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._btMante._Click_Before +=
new botones.btMante._Click_Before_Handler(txtMandatosDesdeHasta_btMante_Click_Before);
207 ((txtbox.UserControls.txtClienteDesdeHasta)toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroHasta.OnConfigUserValueChanged +=
new EventHandler(txtClienteDesdeHasta_oFiltro_Validated);
208 ((txtbox.UserControls.txtClienteDesdeHasta)toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroDesde.OnConfigUserValueChanged +=
new EventHandler(txtClienteDesdeHasta_oFiltro_Validated);
209 ((ew.objetos.ewcheckbox)toControlsOpciones[
"chMandatossinmovimie"]).CheckedChanged +=
new EventHandler(chMandatossinmovimie_CheckedChanged);
211 _toControlsFiltros = toControlsFiltros;
212 _toControlsOpciones = toControlsOpciones;
214 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._TodosLosMandatosSiClienteVacio =
true;
215 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Banc_Cli = -1;
216 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Vigencia = 2;
219 base._SetDefaultValues(toControlsFiltros, toControlsOpciones);
222 private void chMandatossinmovimie_CheckedChanged(
object sender, EventArgs e)
224 if(((ew.objetos.ewcheckbox)_toControlsOpciones[
"chMandatossinmovimie"]).Checked)
246 private void txtMandatosDesdeHasta_btMante_Click_Before(ref
bool tlOk)
252 List<
Mandatos.
Mandato> mandato = mandatos.
_Filter(((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Codigo);
253 if (mandato.Count > 0)
255 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Cliente = mandato[0]._Cliente;
259 private void txtClienteDesdeHasta_oFiltro_Validated(
object sender, EventArgs e)
261 if (((txtbox.UserControls.txtClienteDesdeHasta)_toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroDesde._Codigo == ((txtbox.UserControls.txtClienteDesdeHasta)_toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroHasta._Codigo)
263 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Cliente = ((txtbox.UserControls.txtClienteDesdeHasta)_toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroDesde._Codigo;
264 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._TodosLosMandatosSiClienteVacio_ClienteDesde =
"";
265 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._TodosLosMandatosSiClienteVacio_ClienteHasta =
"";
269 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Cliente =
"";
270 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._TodosLosMandatosSiClienteVacio_ClienteDesde = ((txtbox.UserControls.txtClienteDesdeHasta)_toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroDesde._Codigo;
271 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._TodosLosMandatosSiClienteVacio_ClienteHasta = ((txtbox.UserControls.txtClienteDesdeHasta)_toControlsFiltros[
"txtClienteDesdeHasta"])._oFiltroHasta._Codigo;
274 ((txtbox.UserControls.txtMandatos)((txtbox.UserControls.txtMandatosDesdeHasta)_toControlsFiltros[
"txtMandatosDesdeHasta"])._oFiltroHasta)._Consultar_Datatable();
280 public override Dictionary<string, string> _NavigateButtons
284 return new Dictionary<string, string>() { {
"Mandato",
"&Ver mandato" }, {
"Remesa",
"&Ver remesa" }, {
"Prevision",
"&Ver previsión" } };
293 public override void _Navigate(String tcKeyNavigate, DataRow trRowList)
297 string periodo = Convert.ToString(trRowList[
"periodo"]);
299 switch (tcKeyNavigate)
303 string mandato = Convert.ToString(trRowList[
"mandato"]);
304 string cliente = Convert.ToString(trRowList[
"cli"]);
310 int lnAsesorContable = Convert.ToInt32(EW_GLOBAL._GetVariable(
"wn_AsesorContable"));
311 bool llSoloContaAsesor = EW_GLOBAL._Solucion <= 1 || lnAsesorContable > 0;
313 if (!llSoloContaAsesor)
333 string remesa = Convert.ToString(trRowList[
"remesa"]);
334 if (!
string.IsNullOrWhiteSpace(remesa) && remesa !=
"0")
340 factura = Convert.ToString(trRowList[
"factura"]);
341 string orden = Convert.ToString(trRowList[
"orden"]);
342 string impagado = Convert.ToString(trRowList[
"impagado"]);
343 string pendiente = Convert.ToString(trRowList[
"pendiente"]);
344 string doccargo = Convert.ToString(trRowList[
"descarga"]);
356 public override List<string> _ReportColumns
361 if (_oReportColumns == null)
363 _dicDefEntidades =
new Dictionary<string, ew.interficies.IDefEntidad>();
365 _dicDefEntidades.Add(
"cli",
new DefEntidad() { _DB =
"GESTION", _Tabla =
"CLIENTES", _Campo =
"CODIGO", _Relacion =
"", _Empresa =
false });
366 _dicDefEntidades.Add(
"mandato",
new DefEntidad() { _DB =
"COMUNES", _Tabla =
"MANDATOS", _Campo =
"MANDATO", _Relacion =
"", _Empresa =
false });
369 _dicDefEntidades.Add(
"f_pago",
new DefEntidad() { _DB =
"GESTION", _Tabla =
"FPAG", _Campo =
"CODIGO", _Relacion =
"", _Empresa =
false});
374 _oReportColumns =
new List<string>();
375 _oReportColumns = ldTranslate.Keys.ToList();
378 return _oReportColumns;
386 public override Dictionary<string, Dictionary<string, object>> AnalisisResultados
390 return new Dictionary<string, Dictionary<string, object>>() {
391 {
"[mandato] is null and ( [mandato_agrupado] is null or [mandato_agrupado] like '%Previsiones sin mandato%') ",
new Dictionary<string, object>() {
392 {
"backcolor",
System.Drawing.Color.White },
393 {
"forecolor",
System.Drawing.Color.Red } }
398 base.AnalisisResultados = value;
Clase parcial para listados, en esta definición se especificarán los métodos comunes para las demás c...
Control para filtros de fechas
override string _Codigo
PE-102491: override de _Codigo para que en el Set podamos convertir el número que nos llega a código ...
override void _VaciarCamposAgrupaciones(DataTable resultado, List< string > columnasCodigo, List< string > columnasAVaciar, bool lborrarTitulos=false)
Método para vaciar campos repetidos consecutivamente en una agrupación
override DataTable _DataTable()
Método de obtención de los datos específico para el listado
Clase de negocio ListadoTrazabilidadMandatos
string _SubPaginaSeleccion
Mostrar inicialmente subpágina del control _TabSeleccionado ej: "Datos Fiscales"
_Tipo_Filtro_Fecha
Enumeración de los posibles filtros fecha a realizar
Linia de un Mandato/cliente
virtual void _Show()
Muestra el formulario asiociado
Clase EW_GLOBAL para gestionar las variables públicas de Eurowin, variables de empresa, variables de anchuras de campo, variables de mascaras, etc.
override void _SetVisibilityColumns(List< string > toListColumsNoVisibles=null)
Ocultamos las columnas
Entidad de relación (Columnas adicionales en listados)
bool _TodosLosMandatosSiClienteVacio
Al filtrar nos sacará todos los mandatos si tenemos el cliente vacio o filtro _ClienteDesde - _Client...
string _TabSeleccionado
Nombre del control a seleccionar al cargar el formulario si se quiere uno concreto ...
override string _Codigo
Campo clave del mantenimiento
Clase de negocio del mantenimiento de cuentas contables
_Tipo_Filtro_String
Enumeración de los posibles filtros de tipo STRING a realizar xxxDesde => Valor mínimo del filtro xxx...
List< Mandato > _Filter(string tcMandato="", int tnBancCli=-1)
ens retorna una llista de mandatos del client per mandato o banc_cli
override void _Navigate(String tcKeyNavigate, DataRow trRowList)
PE-91007. Método que se utiliza para codificar las posibles navegaciones de un listado ...
override void _SetColumnCaptions(Dictionary< string, string > tldTranslate=null)
Overrides _SetColumnCaptions
Pantalla
Tipos de pantalla
override void _SetColumnWidth(Dictionary< string, int > tldTranslate=null)
Especifica el tamaño que tendrá la columan en Pixels para que en el grid no todas las columnas tengan...
override void _SetDefaultValues(Dictionary< string, object > toControlsFiltros=null, Dictionary< string, object > toControlsOpciones=null)
Método que se utiliza para establecer los valores por defecto de los controles de los listados...
Clase sage.ew.objetos.ewdate