2 using System.Collections.Generic;
10 using System.Windows.Forms;
22 private Int32 _nEjercicioActual = Convert.ToInt32(EW_GLOBAL._GetVariable(
"wc_any"));
27 private List<string> lstEjercicio =
new List<string>();
32 protected List<int> lstEjerciciosSeleccionados =
new List<int>();
37 protected List<string> EjerciciosSeleccionados =
new List<string>();
42 protected List<string> lstComprobaciones =
new List<string>();
47 protected bool lbNIFGestion =
false;
52 protected bool lbNIFCtasContables =
false;
57 protected bool lbNIFDuplicado =
false;
62 protected bool lbNIFNoValido =
false;
67 protected bool lbNIFActualDistinto =
false;
72 protected bool lbNIFValidadosAEAT =
false;
77 private string cTipo =
string.Empty;
81 private string cTabla =
string.Empty;
85 private string cTablaJoin =
string.Empty;
94 private string cCampo =
string.Empty;
100 Clientespotenciales = 1,
105 private ORIGEN origen = ORIGEN.Todos;
107 private objetos.ewcombobox loComboOrigen = null;
112 protected string _cAnyActual = Convert.ToString(EW_GLOBAL._GetVariable(
"wc_any"));
117 public DataTable ldtNIF = null;
122 public override Dictionary<string, string> _NavigateButtons
126 Dictionary<string, string> valores =
new Dictionary<string, string>();
128 if (origen != ORIGEN.Clientespotenciales)
129 valores.Add(
"Cuentas",
"Ver cuentas");
133 case ORIGEN.Clientes:
134 valores.Add(
"Clientes",
"Ver clientes");
137 case ORIGEN.Clientespotenciales:
138 valores.Add(
"Potenciales",
"Ver clientes potenciales");
141 case ORIGEN.Proveedores:
142 valores.Add(
"Proveedores",
"Ver proveedores");
146 valores.Add(
"Clientes",
"Ver clientes");
147 valores.Add(
"Potenciales",
"Ver clientes potenciales");
148 valores.Add(
"Proveedores",
"Ver proveedores");
156 base._NavigateButtons = value;
165 public override void _Navigate(String tcKeyNavigate, DataRow trRowList)
167 switch (tcKeyNavigate)
170 if (trRowList[
"VERTIPO"].ToString() ==
"PRCLIENT")
173 _Navegar(
Clases.Listados.Pantalla.Cuentas,
new List<string>() { Convert.ToString(trRowList[
"CODIGO"]) });
177 if (trRowList[
"VERTIPO"].ToString() ==
"CLIENTES" ||
178 (trRowList[
"VERTIPO"].ToString() ==
"CUENTAS" && Convert.ToBoolean(trRowList[
"CLI_PRO"])))
179 _Navegar(
Clases.Listados.Pantalla.Clientes,
new List<string>() { Convert.ToString(trRowList[
"CODIGO"]) });
183 if (trRowList[
"VERTIPO"].ToString() ==
"PRCLIENT")
184 _Navegar(
Clases.Listados.Pantalla.ClientePotencial,
new List<string>() { Convert.ToString(trRowList[
"CODIGO"]) });
189 if (trRowList[
"VERTIPO"].ToString() ==
"PROVEED" ||
190 (trRowList[
"VERTIPO"].ToString() ==
"CUENTAS" && !Convert.ToBoolean(trRowList[
"CLI_PRO"])))
191 _Navegar(
Clases.Listados.Pantalla.Proveedores,
new List<string>() { Convert.ToString(trRowList[
"CODIGO"]) });
201 public override string _ReportFile
205 return "list_comprNIF.report";
212 public override List<string> _ReportColumns
216 _dicDefEntidades =
new Dictionary<string, ew.interficies.IDefEntidad>();
220 case ORIGEN.Clientes:
221 _dicDefEntidades.Add(
"CODIGO",
new DefEntidad() { _DB =
"GESTION", _Tabla =
"CLIENTES", _Campo =
"CODIGO", _Relacion =
"", _Empresa =
false });
223 case ORIGEN.Clientespotenciales:
224 _dicDefEntidades.Add(
"CODIGO",
new DefEntidad() { _DB =
"GESTION", _Tabla =
"PRCLIENT", _Campo =
"CODIGO", _Relacion =
"", _Empresa =
false });
226 case ORIGEN.Proveedores:
227 _dicDefEntidades.Add(
"CODIGO",
new DefEntidad() { _DB =
"GESTION", _Tabla =
"PROVEED", _Campo =
"CODIGO", _Relacion =
"", _Empresa =
false });
231 return new List<string>() {
"CODIGO",
"NOMBRE",
"CIF" };
241 Dictionary<string, string> ldTranslate =
new Dictionary<string, string> { };
243 ldTranslate.Add(
"CIF",
"@NIF");
245 base._SetColumnCaptions(ldTranslate);
253 if (_Resultados == null)
256 base._SetColumnMasks();
262 public override void _SetDefaultValues(Dictionary<string, object> toControlsFiltros = null, Dictionary<string, object> toControlsOpciones = null)
264 base._SetDefaultValues(toControlsFiltros, toControlsOpciones);
266 if (_Ejercicios == null || _Ejercicios.Length == 0)
267 _Ejercicios =
new string[1] { DB.Ejercicio_EW };
270 foreach (
string lcEjer
in DB._oAliasDBEjer.Keys)
271 lstEjercicio.Add(lcEjer);
274 if (toControlsOpciones.ContainsKey(
"ewchklistListaselecc"))
278 foreach (
string lcEjer
in DB._oAliasDBEjer.Keys)
279 if (Convert.ToInt32(lcEjer) != Convert.ToInt32(_cAnyActual))
280 loListaEjercicios.Items.Add(lcEjer,
false);
283 if (toControlsOpciones.ContainsKey(
"cmbClientesClientesp"))
284 _ModificarControlOpciones(toControlsOpciones,
"cmbClientesClientesp",
"SelectedIndex", 3,
true);
293 List<string> lstEjercicioCargar =
new List<string>();
295 for (
int i = 0; i < lstEjercicio.Count; i++)
297 if (lstEjercicio[i] != _cAnyActual)
298 lstEjercicioCargar.Add(lstEjercicio[i]);
301 EjerciciosSeleccionados.Clear();
303 if (diccionarioControlesOpciones.ContainsKey(
"ewchklistListaselecc"))
305 lstEjerciciosSeleccionados = _Opcion_List<int>(
"ewchklistListaselecc_list");
307 if (lstEjerciciosSeleccionados.Count != 0)
309 for (
int i = 0; i < lstEjerciciosSeleccionados.Count; i++)
311 int indice = lstEjerciciosSeleccionados[i];
312 if (EjerciciosSeleccionados.Count > 0)
314 if (!EjerciciosSeleccionados.Contains(lstEjercicioCargar[indice]))
315 EjerciciosSeleccionados.Add(lstEjercicioCargar[indice]);
319 EjerciciosSeleccionados.Add(lstEjercicioCargar[indice]);
326 lstComprobaciones = _FiltrosComprobar();
328 if ((EjerciciosSeleccionados.Count == 0) && (lstComprobaciones.Contains(
"05")))
330 _Error_Message =
"La comprobación de 'NIF distinto en otros ejercicios' " +
331 "obliga a marca al menos un ejercicio en la opción en 'Comprobación en otros ejercicios'.";
335 if (EjerciciosSeleccionados.Count > 0)
337 if (lstComprobaciones.Contains(
"05"))
343 _Error_Message =
"La opción en 'Comprobación en otros ejercicios' obliga a marcar " +
344 "'NIF distinto en otros ejercicios'.";
349 if (diccionarioControlesOpciones.ContainsKey(
"cmbClientesClientesp"))
351 objetos.ewcombobox loComboDocumento = (objetos.ewcombobox)diccionarioControlesOpciones[
"cmbClientesClientesp"];
353 loComboOrigen = loComboDocumento;
365 if (loComboOrigen == null)
367 loComboOrigen =
new objetos.ewcombobox();
368 loComboOrigen.Items.Add(
"Clientes");
369 loComboOrigen.Items.Add(
"Clientes potenciales");
370 loComboOrigen.Items.Add(
"Proveedores");
371 loComboOrigen.Items.Add(
"Todos");
372 loComboOrigen.SelectedIndex = 3;
375 ldtNIF =
new DataTable();
376 ldtNIF.Columns.Add(
"TIPO", typeof(
string));
377 ldtNIF.Columns.Add(
"CLI_PRO", typeof(Boolean));
378 ldtNIF.Columns.Add(
"CODIGO", typeof(
string));
379 ldtNIF.Columns.Add(
"NOMBRE", typeof(
string));
380 ldtNIF.Columns.Add(
"CIF", typeof(
string));
381 ldtNIF.Columns.Add(
"VERTIPO", typeof(
string));
383 _ActivarMarcas(
false, EjerciciosSeleccionados.Count);
385 _ActivarMarcas(lstComprobaciones);
387 origen = ((ORIGEN)loComboOrigen.SelectedIndex);
395 if (lbNIFCtasContables)
407 if (lbNIFActualDistinto)
411 if (lbNIFValidadosAEAT)
414 DataView dtV = ldtNIF.DefaultView;
415 dtV.Sort =
"Tipo ASC, codigo ASC";
416 ldtNIF = dtV.ToTable();
418 if (!ldtNIF.Columns.Contains(
"NOMBRETIPO"))
419 ldtNIF.Columns.Add(
"NOMBRETIPO", typeof(
string));
421 foreach (DataRow row
in ldtNIF.Rows)
423 switch (row[
"TIPO"].ToString())
426 row[
"NOMBRETIPO"] =
"NIF no informado en mantenimientos de gestión comercial";
429 row[
"NOMBRETIPO"] =
"NIF no informado en mantenimiento de cuentas contables";
432 row[
"NOMBRETIPO"] =
"NIF duplicado";
435 row[
"NOMBRETIPO"] =
"NIF distinto otros ejercicios en mantenimientos de gestión comercial";
438 row[
"NOMBRETIPO"] =
"NIF distinto otros ejercicios en mantenimiento de cuentas contables";
441 row[
"NOMBRETIPO"] =
"NIF no validados con AEAT en gestión";
444 row[
"NOMBRETIPO"] =
"NIF no validados con AEAT en cuentas";
447 row[
"NOMBRETIPO"] =
"NIF nacional incorrecto en mantenimientos de gestión comercial";
450 row[
"NOMBRETIPO"] =
"NIF nacional incorrecto en manteniento de cuentas contables";
455 List<string> loListaTotales =
new List<string>();
457 ldtNIF = ldtNIF.__Agrupar(
"NOMBRETIPO",
"NOMBRETIPO",
"",
false);
459 foreach (DataRow ldr
in ldtNIF.Rows)
461 if ((!
string.IsNullOrEmpty(ldr[
"CODTITULO"].ToString())) && (ldr[
"bold"] != DBNull.Value || Convert.ToBoolean(ldr[
"bold"])))
462 ldr[
"NOMBRE"] = ldr[
"CODTITULO"].ToString().Trim();
476 bool lbResult =
true;
489 lbNIFGestion = valor;
491 lbNIFCtasContables = valor;
493 lbNIFDuplicado = valor;
495 lbNIFNoValido = valor;
497 lbNIFActualDistinto = valor;
499 lbNIFValidadosAEAT = valor;
508 if (tiposRevisionSeleccionados != null && tiposRevisionSeleccionados.Count > 0)
510 foreach (String s
in tiposRevisionSeleccionados)
520 lbNIFCtasContables =
true;
524 lbNIFDuplicado =
true;
528 lbNIFNoValido =
true;
532 lbNIFActualDistinto =
true;
536 lbNIFValidadosAEAT =
true;
550 const string TIPO_COMPROBACION =
"TipoComprobacionNIF";
552 object loParametro = null;
553 List<string> loLista =
new List<string>();
555 String lstComprobacionDesde =
string.Empty;
556 String lstComprobacionHasta =
string.Empty;
558 if (this._Filtros != null && this._Filtros.Count > 0)
560 this._Filtros.TryGetValue(TIPO_COMPROBACION +
"Lista", out loParametro);
561 if (loParametro != null)
564 if (loParametro is
string)
566 loLista =
new List<String>(loParametro.ToString().Split(
','));
570 loLista = (List<string>)loParametro;
576 this._Filtros.TryGetValue(TIPO_COMPROBACION +
"Desde", out loParametro);
577 if (loParametro != null)
579 lstComprobacionDesde = Convert.ToString(loParametro);
583 this._Filtros.TryGetValue(TIPO_COMPROBACION +
"Hasta", out loParametro);
584 if (loParametro != null)
586 lstComprobacionHasta = Convert.ToString(loParametro);
589 if (!String.IsNullOrWhiteSpace(lstComprobacionDesde) && !String.IsNullOrWhiteSpace(lstComprobacionHasta))
591 int desde = Convert.ToInt32(lstComprobacionDesde);
592 int hasta = Convert.ToInt32(lstComprobacionHasta);
594 for (
int i = desde; i <= hasta; i++)
596 loLista.Add(i.ToString(
"00"));
602 this._Filtros.TryGetValue(TIPO_COMPROBACION +
"Unico", out loParametro);
603 if (loParametro != null && Convert.ToString(loParametro) !=
"")
605 int unico = Convert.ToInt32(loParametro);
606 loLista.Add(unico.ToString(
"00"));
610 if (String.IsNullOrWhiteSpace(lstComprobacionDesde) && !String.IsNullOrWhiteSpace(lstComprobacionHasta))
613 int hasta = Convert.ToInt32(lstComprobacionHasta);
615 for (
int i = desde; i <= hasta; i++)
617 loLista.Add(i.ToString(
"00"));
622 if (!String.IsNullOrWhiteSpace(lstComprobacionDesde) && String.IsNullOrWhiteSpace(lstComprobacionHasta))
624 int desde = Convert.ToInt32(lstComprobacionDesde);
627 for (
int i = desde; i <= hasta; i++)
629 if (i < 5 || (i >= 5 && EjerciciosSeleccionados.Count > 0))
630 loLista.Add(i.ToString(
"00"));
635 if (this._Filtros.Count == 1)
643 for (
int i = 1; i <= 6; i++)
645 if (i < 5 || (i >= 5 && EjerciciosSeleccionados.Count > 0))
646 loLista.Add(i.ToString(
"00"));
659 for (
int i = 1; i <= 6; i++)
662 loLista.Add(i.ToString(
"00"));
664 if (Convert.ToBoolean(EW_GLOBAL._GetVariable(
"wl_sii")) && i == 6 && this._Filtros.Count == 0 && !loLista.Contains(i.ToString(
"00")))
665 loLista.Add(i.ToString(
"00"));
680 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
686 if (origen == ORIGEN.Clientespotenciales || origen == ORIGEN.Todos)
692 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
709 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
711 cCampo =
"B.CLIENTE";
715 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
718 cCampo =
"B.PROVEEDOR";
732 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
735 _QueryNIFDuplicado();
738 if (origen == ORIGEN.Clientespotenciales || origen == ORIGEN.Todos)
741 _QueryNIFDuplicado();
744 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
748 _QueryNIFDuplicado();
760 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
763 _QueryNIFNacional(
"CLIENTES");
765 cCampo =
"B.CLIENTE";
766 _QueryNIFNacional(
"CLIENTES");
769 if (origen == ORIGEN.Clientespotenciales || origen == ORIGEN.Todos)
773 _QueryNIFNacional(
"PRCLIENT");
776 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
781 _QueryNIFNacional(
"PROVEED");
783 cCampo =
"B.PROVEEDOR";
784 _QueryNIFNacional(
"PROVEED");
796 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
799 _QueryNIFCambiado(
"CLIENTES");
802 if (origen == ORIGEN.Clientespotenciales || origen == ORIGEN.Todos)
806 _QueryNIFCambiado(
"PRCLIENT");
809 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
814 _QueryNIFCambiado(
"PROVEED");
826 if (origen == ORIGEN.Clientes || origen == ORIGEN.Todos)
829 _CargarDatosDatatableAEAT();
832 if (origen == ORIGEN.Clientespotenciales || origen == ORIGEN.Todos)
836 _CargarDatosDatatableAEAT();
839 if (origen == ORIGEN.Proveedores || origen == ORIGEN.Todos)
844 _CargarDatosDatatableAEAT();
853 DataTable dtDatos =
new DataTable();
854 DataTable dtResult =
new DataTable();
856 _QueryNIFGestionAEAT(ref dtDatos);
858 if (dtDatos != null && dtDatos.Rows.Count > 0)
859 dtResult = functions.FUNCTIONS._ValidarNIF_AEAT(dtDatos);
861 if (dtResult != null && dtResult.Rows.Count > 0)
862 _AddRecords(dtResult);
867 if (cTabla !=
"PRCLIENT")
870 cCampo = (cTabla ==
"CLIENTES" ?
"B.CLIENTE" :
"B.PROVEEDOR");
872 _QueryNIFCuentasAEAT(ref dtDatos);
874 if (dtDatos != null && dtDatos.Rows.Count > 0)
875 dtResult = functions.FUNCTIONS._ValidarNIF_AEAT(dtDatos);
877 if (dtResult != null && dtResult.Rows.Count > 0)
878 _AddRecords(dtResult);
888 foreach (DataRow row
in dtDatos.Rows)
890 DataRow loRow = ldtNIF.NewRow();
892 ldtNIF.Rows.Add(loRow.ItemArray);
895 dtDatos.Rows.Clear();
903 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, CODIGO, NOMBRE, CIF, {2} AS VERTIPO" +
906 (cTabla !=
"PRCLIENT" ?
" AND COMUNITARI = '1'" :
""),
909 DB.SQLString(cTabla),
910 DB.SQLDatabase(
"GESTION", cTabla));
912 DB.SQLExec(lcSql, ref dtDatos);
920 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, A.CODIGO, A.NOMBRE, A.CIF, {2} AS VERTIPO" +
922 " INNER JOIN {4} B ON LEFT(A.CODIGO, 3) = B.CODIGO AND {5} = 1 AND B.CIF = 1" +
923 " WHERE A.CIF != ''" +
924 " AND COMUNITARI = '1'",
927 DB.SQLString(cTabla),
928 DB.SQLDatabase(
"GESTION", cTabla),
929 DB.SQLDatabase(
"GESTION",
"NIVEL3"),
932 DB.SQLExec(lcSql, ref dtDatos);
941 DataTable dtDatos =
new DataTable();
943 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, CODIGO, NOMBRE, CIF, {2} AS VERTIPO" +
948 DB.SQLString(cTabla),
949 DB.SQLDatabase(
"GESTION", cTabla));
951 DB.SQLExec(lcSql, ref dtDatos);
953 if (dtDatos != null && dtDatos.Rows.Count > 0)
954 _AddRecords(dtDatos);
963 DataTable dtDatos =
new DataTable();
965 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, A.CODIGO, A.NOMBRE, A.CIF, {2} AS VERTIPO" +
967 " INNER JOIN {4} B ON LEFT(A.CODIGO, 3) = B.CODIGO AND {5} = 1 AND B.CIF = 1" +
971 DB.SQLString(cTabla),
972 DB.SQLDatabase(
"GESTION", cTabla),
973 DB.SQLDatabase(
"GESTION",
"NIVEL3"),
976 DB.SQLExec(lcSql, ref dtDatos);
978 if (dtDatos != null && dtDatos.Rows.Count > 0)
979 _AddRecords(dtDatos);
988 DataTable dtDatosDupli =
new DataTable();
989 DataTable dtDatos =
new DataTable();
991 string lcSqlDupli =
string.Format(
" SELECT CIF " +
995 " HAVING COUNT(*)>1",
996 DB.SQLDatabase(
"GESTION", cTabla));
998 DB.SQLExec(lcSqlDupli, ref dtDatosDupli);
999 if (dtDatosDupli != null && dtDatosDupli.Rows.Count > 0)
1002 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, CODIGO, NOMBRE, CIF, {2} AS VERTIPO" +
1005 DB.SQLString(cTipo),
1007 DB.SQLString(cTabla),
1008 DB.SQLDatabase(
"GESTION", cTabla));
1010 DB.SQLExec(lcSql, ref dtDatos);
1012 if (dtDatos != null && dtDatos.Rows.Count > 0)
1015 var lstCIF = dtDatosDupli.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[
"CIF"]).Trim()).ToList();
1018 var dtDupli = dtDatos.AsEnumerable().Where(dr => lstCIF.Contains(Convert.ToString(dr[
"CIF"]).Trim()))
1019 .Select(dr => dr).__CopyToDataTable();
1021 if (dtDupli != null && dtDupli.Rows.Count > 0)
1022 _AddRecords(dtDupli);
1033 DataTable dtDatosNIF =
new DataTable();
1035 string lstDatosNIF =
string.Empty;
1037 string cTipoAux =
"0";
1041 lstDatosNIF =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, CODIGO, NOMBRE, CIF, {2} AS VERTIPO " +
1043 " WHERE CIF != ''" +
1044 (cTabla !=
"PRCLIENT" ?
" AND COMUNITARI = '1'" :
""),
1045 DB.SQLString(cTipoAux),
1047 DB.SQLString(cTabla),
1048 DB.SQLDatabase(
"GESTION", cTabla));
1052 lstDatosNIF =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, A.CODIGO, A.NOMBRE, A.CIF, {2} AS VERTIPO" +
1054 " INNER JOIN {4} B ON LEFT(A.CODIGO, 3) = B.CODIGO AND {5} = 1 AND B.CIF = 1" +
1055 " LEFT JOIN {6} C ON C.CODIGO = A.CODIGO" +
1056 " WHERE A.CIF != '' AND COMUNITARI = '1'",
1057 DB.SQLString(cTipoAux),
1059 DB.SQLString(cTabla),
1060 DB.SQLDatabase(
"GESTION",
"CUENTAS"),
1061 DB.SQLDatabase(
"GESTION",
"NIVEL3"),
1063 DB.SQLDatabase(
"GESTION", cTabla));
1066 DB.SQLExec(lstDatosNIF, ref dtDatosNIF);
1068 foreach(DataRow row
in dtDatosNIF.Rows)
1070 string lcCodigo = row[
"CIF"].ToString().Trim().ToUpper();
1071 row[
"TIPO"] = (!functions.FUNCTIONS._ValidarNIF(ref lcCodigo,
"",
false,
true) ? cTipo :
"0");
1074 if (dtDatosNIF != null && dtDatosNIF.Rows.Count > 0)
1076 DataRow[] drr = dtDatosNIF.Select(
"TIPO = '0'");
1077 for (
int i = 0; i < drr.Length; i++)
1080 dtDatosNIF.AcceptChanges();
1082 _AddRecords(dtDatosNIF);
1092 DataTable curcliRevisar =
new DataTable();
1093 DataTable curcliRevisar_cuentas =
new DataTable();
1094 DataTable curtmp =
new DataTable();
1095 DataTable curtmp_cuentas =
new DataTable();
1096 DataTable tmpRevisar =
new DataTable();
1097 DataTable tmpRevisar_cuentas =
new DataTable();
1099 string lcSql =
string.Empty;
1101 string lcSqlRevisar = _QueryNIFBasica();
1102 DB.SQLExecEjer(lcSqlRevisar, ref curcliRevisar,
new string[] { Convert.ToString(_nEjercicioActual) });
1104 if (curcliRevisar.Columns.Contains(
"EJERCICIO"))
1105 curcliRevisar.Columns.Remove(
"EJERCICIO");
1110 cCampo =
"B.CLIENTE";
1115 cCampo =
"B.PROVEEDOR";
1121 if (cOrigen !=
"PRCLIENT")
1123 lcSql = _QueryNIFJoin();
1124 DB.SQLExecEjer(lcSql, ref curcliRevisar_cuentas,
new string[] { Convert.ToString(_nEjercicioActual) });
1126 if (curcliRevisar_cuentas.Columns.Contains(
"EJERCICIO"))
1127 curcliRevisar_cuentas.Columns.Remove(
"EJERCICIO");
1130 string lcComprobar =
"CODIGO";
1132 if (curcliRevisar != null && curcliRevisar.Rows.Count > 0 )
1135 for (Int32 i = EjerciciosSeleccionados.Count - 1; i >= 0; i--)
1137 string lcEjer = EjerciciosSeleccionados[i];
1144 cTabla =
"CLIENTES";
1148 cTabla =
"PRCLIENT";
1156 lcSqlRevisar = _QueryNIFBasica();
1157 DB.SQLExecEjer(lcSqlRevisar, ref curtmp,
new string[] { lcEjer });
1159 if (curtmp.Columns.Contains(
"EJERCICIO"))
1160 curtmp.Columns.Remove(
"EJERCICIO");
1162 if (cOrigen !=
"PRCLIENT")
1165 lcSql = _QueryNIFJoin();
1166 DB.SQLExecEjer(lcSql, ref curtmp_cuentas,
new string[] { lcEjer });
1168 if (curtmp_cuentas.Columns.Contains(
"EJERCICIO"))
1169 curtmp_cuentas.Columns.Remove(
"EJERCICIO");
1173 if (curtmp != null && curtmp.Rows.Count > 0)
1174 _LinqGestion(curcliRevisar, curtmp, lcComprobar);
1178 if ((curtmp_cuentas != null && curtmp_cuentas.Rows.Count > 0) && (cOrigen !=
"PRCLIENT"))
1179 _LinqCuentas(curcliRevisar_cuentas, curtmp_cuentas, lcComprobar);
1192 string lcSqlRevisar =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, CODIGO, NOMBRE, CIF, {2} AS VERTIPO" +
1194 DB.SQLString(cTipo),
1196 DB.SQLString(cTabla),
1197 DB.SQLDatabase(
"", cTabla));
1199 return lcSqlRevisar;
1208 string lcSql =
string.Format(
" SELECT {0} as TIPO, CAST({1} as bit) as CLI_PROV, A.CODIGO, A.NOMBRE, A.CIF, {2} AS VERTIPO" +
1210 " INNER JOIN {4} B ON LEFT(A.CODIGO, 3) = B.CODIGO AND {5} = 1 AND B.CIF = 1",
1211 DB.SQLString(cTipo),
1213 DB.SQLString(cTabla),
1214 DB.SQLDatabase(
"", cTabla),
1215 DB.SQLDatabase(
"",
"NIVEL3"),
1225 protected void _LinqGestion(DataTable curcliRevisar, DataTable curtmp,
string lcComprobar)
1227 DataTable tmpRevisar =
new DataTable();
1228 tmpRevisar.Columns.Add(
"TIPO", typeof(
string));
1229 tmpRevisar.Columns.Add(
"CLI_PRO", typeof(Boolean));
1230 tmpRevisar.Columns.Add(
"CODIGO", typeof(
string));
1231 tmpRevisar.Columns.Add(
"NOMBRE", typeof(
string));
1232 tmpRevisar.Columns.Add(
"CIF", typeof(
string));
1233 tmpRevisar.Columns.Add(
"VERTIPO", typeof(
string));
1246 var lstClientes = curcliRevisar.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1249 var curcli_tmp2 = curtmp.AsEnumerable().Where(dr => lstClientes.Contains(Convert.ToString(dr[lcComprobar]).Trim()))
1250 .Select(dr => dr).__CopyToDataTable();
1252 if (curcli_tmp2 != null && curcli_tmp2.Rows.Count > 0)
1265 var lstCIF = curcliRevisar.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[
"CIF"]).Trim() + Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1268 var curcli_tmp3 = curcli_tmp2.AsEnumerable().Where(dr => !lstCIF.Contains(Convert.ToString(dr[
"CIF"]).Trim() + Convert.ToString(dr[lcComprobar]).Trim()))
1269 .Select(dr => dr).__CopyToDataTable();
1271 if (curcli_tmp3 != null && curcli_tmp3.Rows.Count > 0)
1284 var lstRegistros = curcli_tmp3.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1287 var curcli_tmp = curcliRevisar.AsEnumerable().Where(dr => lstRegistros.Contains(Convert.ToString(dr[lcComprobar]).Trim()))
1288 .Select(dr => dr).__CopyToDataTable();
1290 foreach (DataRow row
in curcli_tmp.Rows)
1292 DataRow loRow = tmpRevisar.NewRow();
1294 tmpRevisar.Rows.Add(loRow.ItemArray);
1297 _AddRecords(tmpRevisar);
1306 protected void _LinqCuentas(DataTable curcliRevisar_cuentas, DataTable curtmp_cuentas,
string lcComprobar)
1308 DataTable tmpRevisar_cuentas =
new DataTable();
1309 tmpRevisar_cuentas.Columns.Add(
"TIPO", typeof(
string));
1310 tmpRevisar_cuentas.Columns.Add(
"CLI_PRO", typeof(Boolean));
1311 tmpRevisar_cuentas.Columns.Add(
"CODIGO", typeof(
string));
1312 tmpRevisar_cuentas.Columns.Add(
"NOMBRE", typeof(
string));
1313 tmpRevisar_cuentas.Columns.Add(
"CIF", typeof(
string));
1314 tmpRevisar_cuentas.Columns.Add(
"VERTIPO", typeof(
string));
1329 var lstCuentas = curcliRevisar_cuentas.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1332 var curcli_tmp2_cuentas = curtmp_cuentas.AsEnumerable().Where(dr => lstCuentas.Contains(Convert.ToString(dr[lcComprobar]).Trim()))
1333 .Select(dr => dr).__CopyToDataTable();
1335 if (curcli_tmp2_cuentas != null && curcli_tmp2_cuentas.Rows.Count > 0)
1348 var lstCIF = curcliRevisar_cuentas.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[
"CIF"]).Trim() + Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1351 var curcli_tmp3_cuentas = curcli_tmp2_cuentas.AsEnumerable().Where(dr => !lstCIF.Contains(Convert.ToString(dr[
"CIF"]).Trim() + Convert.ToString(dr[lcComprobar]).Trim()))
1352 .Select(dr => dr).__CopyToDataTable();
1354 if (curcli_tmp3_cuentas != null && curcli_tmp3_cuentas.Rows.Count > 0)
1365 DataRow[] rows = curcliRevisar_cuentas.Select(
"TIPO = '4'");
1366 foreach (DataRow r
in rows)
1371 var lstLista = curcli_tmp3_cuentas.Rows.OfType<DataRow>().Select(dr => Convert.ToString(dr[lcComprobar]).Trim()).ToList();
1374 var curcli_tmp_cuentas = curcliRevisar_cuentas.AsEnumerable().Where(dr => lstLista.Contains(Convert.ToString(dr[lcComprobar]).Trim()))
1375 .Select(dr => dr).__CopyToDataTable();
1377 foreach (DataRow row
in curcli_tmp_cuentas.Rows)
1379 DataRow loRow = tmpRevisar_cuentas.NewRow();
1381 tmpRevisar_cuentas.Rows.Add(loRow.ItemArray);
1384 _AddRecords(tmpRevisar_cuentas);
1386 rows = curcliRevisar_cuentas.Select(
"TIPO = '5'");
1387 foreach (DataRow r
in rows)
void _NIFNacional()
NIF nacional incorrectos
void _QueryNIFCambiado(string cOrigen)
Clase parcial para listados, en esta definición se especificarán los métodos comunes para las demás c...
override void _SetColumnCaptions(Dictionary< string, string > tldTranslate=null)
Override para determinar el nombre de la columna título
void _NIFDistintos()
NIF distintos otros ejercicios
void _CargarDatosDatatableAEAT()
List< string > _FiltrosComprobar()
Determinar las comprobaciones de NIF a lanzar. Pueden venir como todas, una selección al azar o un d...
void _QueryNIFCuentasAEAT(ref DataTable dtDatos)
void _QueryNIFNacional(string cTabla)
void _QueryNIFGestionAEAT(ref DataTable dtDatos)
override bool _Valid()
Override del _Valid para gestionar las opciones.
Entidad de relación (Columnas adicionales en listados)
void _LinqGestion(DataTable curcliRevisar, DataTable curtmp, string lcComprobar)
void _NIFValidadosAEAT()
NIF no validados con AEAT
void _NIFContable()
NIF no informado en mantenimiento de cuentas contables
void _NIFDuplicado()
NIF duplicado
void _ActivarMarcas(List< String > tiposRevisionSeleccionados)
Activar los marcas para lanzar los procesos de comprobación NIF seleccionados.
override DataTable _DataTable()
Override del método _DataTable para obtener los datos
override void _Navigate(String tcKeyNavigate, DataRow trRowList)
Método que se utiliza para codificar las posibles navegaciones de un listado
Clase sage.ew.objetos.ewcheckedlistbox
void _QueryNIFDuplicado()
override void _SetDefaultValues(Dictionary< string, object > toControlsFiltros=null, Dictionary< string, object > toControlsOpciones=null)
Marcamos las opciones por defecto
bool _DeterminarQueRevisionesLanzar()
Determinar las comprobaciones de NIF a lanzar. Pueden venir como todas, una selección al azar o un d...
void _LinqCuentas(DataTable curcliRevisar_cuentas, DataTable curtmp_cuentas, string lcComprobar)
void _ActivarMarcas(bool valor, Int32 nEjercicios)
Activar/Desactivar TODAS las marcas para lanzar/no lanzar TODOS los procesos de comprobación NIF...
override void _SetColumnMasks()
Mascaras especiales
Listado de comprobación de NIF
void _AddRecords(DataTable dtDatos)
void _NIFGestion()
NIF no informado en mantenimientos de gestión comercial