diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb
index 64e685e71..03d47a895 100644
--- a/App_Code/ClsBancos.vb
+++ b/App_Code/ClsBancos.vb
@@ -138,6 +138,8 @@ Public Class ClsBancos
Public Property LimiteCredito As Double
Public Property ConvenioPagoElectronico As String
Public Property UsaLayout As Boolean
+ Public Property UsaLayoutGrupos As Boolean
+
Public Property UsaTarjeta As Boolean
#End Region
@@ -424,6 +426,7 @@ Public Class ClsBancos
Me.LimiteCredito = Data.Rows(0)("LimiteCredito").ToString.ToDouble
Me.ConvenioPagoElectronico = Data.Rows(0)("ConvenioPagoElectronico").ToString
Me.UsaLayout = If(Data.Rows(0)("UsaLayout").ToString = "True", True, False)
+ Me.UsaLayoutGrupos = If(Data.Rows(0)("UsaLayoutGrupos").ToString = "True", True, False)
Me.UsaTarjeta = If(Data.Rows(0)("UsaTarjeta").ToString = "True", True, False)
End If
@@ -457,7 +460,9 @@ Public Class ClsBancos
Return Retorno + 1
End Function
- Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0) As Boolean
+ Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer,
+ LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String,
+ UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0, Optional UsaLayoutGrupos As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasAdd")
@@ -483,6 +488,10 @@ Public Class ClsBancos
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
.Add("@SaldoInicial", SqlDbType.Money).Value = SaldoInicial
+ .Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos
+
+
+
End With
Try
@@ -502,7 +511,9 @@ Public Class ClsBancos
Return Retorno
End Function
- Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean) As Boolean
+ Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer,
+ LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String,
+ UsaLayout As Boolean, UsaTarjeta As Boolean, Optional UsaLayoutGrupos As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasUpdate")
@@ -526,6 +537,9 @@ Public Class ClsBancos
.Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
+ .Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos
+
+
End With
Try
@@ -696,7 +710,8 @@ Public Class ClsBancos
Public Function GetBancosIE(CveIE As Integer, CveBanco As Integer, CveCuenta As Integer, TipoMovimiento As String, CveTipoTransaccion As Integer, Folio As String, PagueseA As String, Importe As Double,
CveMoneda As Integer, EsAbonoEnCuenta As Integer, FueConciliado As Integer, CveEstatusIE As Integer,
FechaInicio As Date, FechaFin As Date, FechaAplicacionInicio As Date, FechaAplicacionFin As Date,
- FechaConciliadoInicio As Date, FechaConciliadoFin As Date, CveUsuarioConcilio As Integer, TImporte As Double, CveEmpresa As Integer, Optional CveEstatusNotificacion As Integer = -1, Optional CveCuentaTarjeta As Integer = -1) As Boolean
+ FechaConciliadoInicio As Date, FechaConciliadoFin As Date, CveUsuarioConcilio As Integer, TImporte As Double, CveEmpresa As Integer,
+ Optional CveEstatusNotificacion As Integer = -1, Optional CveCuentaTarjeta As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_IEGet")
@@ -725,6 +740,7 @@ Public Class ClsBancos
.Add("@CveEstatusNotificacion", SqlDbType.Int).Value = CveEstatusNotificacion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCuentaTarjeta", SqlDbType.Int).Value = CveCuentaTarjeta
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
@@ -3065,7 +3081,7 @@ Public Class ClsBancos
Return Retorno
End Function
- Public Function UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle As Integer, CveLayoutEnvio As Integer, CveIE As Integer, CveProveedor As Integer, Estatus As Integer, Observaciones As String) As Boolean
+ Public Function UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle As Integer, CveLayoutEnvio As Integer, CveIE As Integer, CveProveedor As Integer, Estatus As Integer, Observaciones As String, Optional Confirmado As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_LayoutEnviosDetalleUpdate")
@@ -3077,6 +3093,7 @@ Public Class ClsBancos
.Add("@Estatus", SqlDbType.SmallInt).Value = Estatus
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveLayoutEnvioDetalle", SqlDbType.Int).Value = CveLayoutEnvioDetalle
+ .Add("@Confirmado", SqlDbType.Bit).Value = Confirmado
End With
Try
@@ -3089,6 +3106,29 @@ Public Class ClsBancos
Return Retorno
End Function
+
+ Public Function UpdateBancos_IEFolio(CveIE As Integer, NuevoFolio As String, Comprobante As String) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Banc_LayoutIEFolioUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveIE", SqlDbType.Int).Value = CveIE
+ .Add("@NuevoFolio", SqlDbType.Char).Value = NuevoFolio
+ .Add("@Comprobante", SqlDbType.Char).Value = Comprobante
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar El movimiento Bancario", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
'ESTE SE PUEDE ELIMINAR YA NO SE USA
'Public Function UpdateProveedorPagoElectronico(CveProveedor As Integer, CveEmpresa As Integer) As Boolean
' Dim Retorno As Boolean = False
diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index ef09f2a2c..4ed4b5dd5 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -264,7 +264,7 @@ Public Class ClsClientes
End Sub
Public Function GetClientes(CveCliente As Integer, Nombre As String, Codigo As String, NombreCorto As String, RFC As String, Telefono As String, Mail As String, CveSubProyecto As Integer,
CveEmpresa As Integer, Optional Estatus As Integer = 1, Optional Notificar As String = "-1", Optional CvePrecioLista As Integer = -1, Optional CveClienteClasificacion As Integer = -1,
- Optional TipoCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PermiteCreditoFiltro As Integer = -1) As Boolean
+ Optional TipoCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PermiteCreditoFiltro As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_ClientesGet")
@@ -285,6 +285,7 @@ Public Class ClsClientes
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@PermiteCredito", SqlDbType.Int).Value = PermiteCreditoFiltro
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/ClsCompProveedores.vb b/App_Code/ClsCompProveedores.vb
index 813a15016..7532b38b7 100644
--- a/App_Code/ClsCompProveedores.vb
+++ b/App_Code/ClsCompProveedores.vb
@@ -297,7 +297,7 @@ Public Class ClsCompProveedores
Public Function GetProveedores(tipoConsulta As TipoConsulta, CveProveedor As Integer, Codigo As String, RazonSocial As String, NombreComercial As String,
NombreCorto As String, RFC As String, ContactoNombre As String, Telefono As String, Estatus As Integer, CveEmpresa As Integer,
Optional CveTipoProveedor As Integer = -1, Optional CveUsuarioResponsable As Integer = -1,
- Optional CveMonedaPreferente As Integer = -1, Optional CveProveedorClasificacion As Integer = -1) As Boolean
+ Optional CveMonedaPreferente As Integer = -1, Optional CveProveedorClasificacion As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ProveedoresGet")
@@ -318,6 +318,7 @@ Public Class ClsCompProveedores
.Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
.Add("@CveProveedorClasificacion", SqlDbType.Int).Value = CveProveedorClasificacion
.Add("@CveMonedaPreferente", SqlDbType.Int).Value = CveMonedaPreferente
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb
index 7f1873b42..88fb94258 100644
--- a/App_Code/ClsCompras.vb
+++ b/App_Code/ClsCompras.vb
@@ -143,7 +143,8 @@ Public Class ClsCompras
Return Retorno
End Function
- Public Function GetCompras(CveEmpresa As Integer, TipoDocto As String, Folio As String, FolioFiscal As String, Codigo As String, Proveedor As String, FechaI As String, FechaF As String, Descripcion As String, Observaciones As String, Optional CveProveedor As Integer = -1) As Boolean
+ Public Function GetCompras(CveEmpresa As Integer, TipoDocto As String, Folio As String, FolioFiscal As String, Codigo As String, Proveedor As String, FechaI As String,
+ FechaF As String, Descripcion As String, Observaciones As String, Optional CveProveedor As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Comp_ComprasGetBuscar")
@@ -160,6 +161,7 @@ Public Class ClsCompras
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb
index 4160a2279..055d4bf36 100644
--- a/App_Code/ClsProductosServicios.vb
+++ b/App_Code/ClsProductosServicios.vb
@@ -204,9 +204,12 @@ Public Class ClsProductosServicios
CveConexion = 0
End If
- End Sub
+ End Sub
#End Region
- Public Function GetPS(CvePS As Integer, CveClasificacion As Integer, CveEmpresa As Integer, Optional Codigo As String = "-1", Optional Codigo2 As String = "-1", Optional CodigoBarras As String = "-1", Optional PS As String = "-1", Optional EsPaquete As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional pAplicaParaVenta As Integer = -1, Optional pEstado As Integer = -1, Optional CveClasificacionCosto As Integer = -1, Optional CveTipoPS As Integer = -1, Optional CveCompuesto As Integer = -1, Optional SATClavePS As String = "-1") As Boolean
+ Public Function GetPS(CvePS As Integer, CveClasificacion As Integer, CveEmpresa As Integer, Optional Codigo As String = "-1", Optional Codigo2 As String = "-1",
+ Optional CodigoBarras As String = "-1", Optional PS As String = "-1", Optional EsPaquete As Integer = -1, Optional CveSubProyecto As Integer = -1,
+ Optional pAplicaParaVenta As Integer = -1, Optional pEstado As Integer = -1, Optional CveClasificacionCosto As Integer = -1, Optional CveTipoPS As Integer = -1,
+ Optional CveCompuesto As Integer = -1, Optional SATClavePS As String = "-1", Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_ProductosServiciosGet")
@@ -227,6 +230,7 @@ Public Class ClsProductosServicios
.Add("@CveTipoPS", SqlDbType.Int).Value = CveTipoPS
.Add("@CveCompuesto", SqlDbType.Int).Value = CveCompuesto
.Add("@SATClavePS", SqlDbType.VarChar).Value = SATClavePS
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index f0223a50f..998375e3e 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -1546,10 +1546,11 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Public Function GetPersonal2(CvePersonal As Integer, Codigo As String, Nombre As String, NSS As String, RFC As String, CveTurno As Integer, CvePuesto As Integer,
- CveDepartamento As Integer, CveRuta As Integer, CveEscolaridad As Integer, CveEstadoCivil As Integer, CveGenero As Integer,
- CveEstatusPersonal As Integer, CveSubProyecto As Integer, CveClienteAsignado As Integer, HorarioTrabajo As String, CveSupervisor As Integer,
- CveTipoPeriodo As Integer, CveMetodoPago As Integer, CveTipoContrato As Integer, CveMotivoBaja As Integer, CveProyecto As Integer,
- FechaIFinContrato As String, FechaFFinContrato As String, FechaIIngreso As String, FechaFIngreso As String, SqlStr As String, NCaracteristicas As Integer, CveEmpresa As Integer) As Boolean
+ CveDepartamento As Integer, CveRuta As Integer, CveEscolaridad As Integer, CveEstadoCivil As Integer, CveGenero As Integer,
+ CveEstatusPersonal As Integer, CveSubProyecto As Integer, CveClienteAsignado As Integer, HorarioTrabajo As String, CveSupervisor As Integer,
+ CveTipoPeriodo As Integer, CveMetodoPago As Integer, CveTipoContrato As Integer, CveMotivoBaja As Integer, CveProyecto As Integer,
+ FechaIFinContrato As String, FechaFFinContrato As String, FechaIIngreso As String, FechaFIngreso As String, SqlStr As String, NCaracteristicas As Integer,
+ CveEmpresa As Integer, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_RH_Personal2Get")
@@ -1584,6 +1585,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@SqlStr ", SqlDbType.VarChar).Value = SqlStr
.Add("@NCaracteristicas", SqlDbType.Int).Value = NCaracteristicas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb
index 79b05c132..b63c12e88 100644
--- a/App_Code/ClsSisNotificaciones.vb
+++ b/App_Code/ClsSisNotificaciones.vb
@@ -209,24 +209,25 @@ Public Class ClsSisNotificaciones
#Region "C O R R E O"
Private Sub EnviarCorreos(DTNotificacionesCorreo As DataTable)
- For Each notificacion As DataRow In DTNotificacionesCorreo.Rows
- MandaMail(notificacion("CveNotificacionBitacora").ToString.ToEntero, notificacion("Encabezado").ToString, notificacion("Cuerpo").ToString, notificacion("Correo").ToString, "")
+ For Each notificacion As DataRow In DTNotificacionesCorreo.Rows
+ Dim Hilo As New System.Threading.Thread(Sub() MandaMail(notificacion("CveNotificacionBitacora").ToString.ToEntero, notificacion("Encabezado").ToString, notificacion("Cuerpo").ToString, notificacion("Correo").ToString, ""))
+ Hilo.Start()
Next
End Sub
Private Sub MandaMail(CveNotificacionBitacora As Integer, Asunto As String, Cuerpo As String, Mail As String, MailCC As String)
Dim ObjMail As New ClsSisMail()
-
+ Dim ObjNotificacion As New ClsSisNotificaciones
Try
Dim ResultadoMail As Integer = 0
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Mail, Asunto, Cuerpo, MailCC, LSRutasMail) Then
- UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1)
+ ObjNotificacion.UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1)
End If
-
Catch ex As Exception
OnError("Ocurrió error al mandar el Mail", ex)
End Try
+ ObjNotificacion.Dispose()
End Sub
#End Region
@@ -1328,10 +1329,6 @@ Public Class ClsSisNotificaciones
Next
End If
- If DTNotificacionesCorreo IsNot Nothing AndAlso DTNotificacionesCorreo.Rows.Count > 0 Then
- EnviarCorreos(DTNotificacionesCorreo)
- End If
-
If DTNotificacionesApp IsNot Nothing AndAlso DTNotificacionesApp.Rows.Count > 0 Then
Dim DtTokens As DataTable = Nothing
@@ -1389,6 +1386,10 @@ Public Class ClsSisNotificaciones
DtTokens.Dispose()
End If
End If
+ End If
+
+ If DTNotificacionesCorreo IsNot Nothing AndAlso DTNotificacionesCorreo.Rows.Count > 0 Then
+ EnviarCorreos(DTNotificacionesCorreo)
End If
If Not DTNotificacionesApp Is Nothing Then DTNotificacionesApp.Dispose()
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 130483e9c..f78d1e3bf 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -204,7 +204,7 @@ Public Class ClsVentas
Public Function GetVentas(CveEmpresa As Integer, TipoDocto As String, Serie As String, Folio As Integer, Codigo As String, CveCliente As Integer,
CveSubProyecto As Integer, CveEstatus As Integer, CveUsuario As Integer, FechaI As String, FechaF As String, FolioFiscal As String, Optional CveClienteSucursal As Integer = -1, Optional CvePS As Integer = -1, Optional PedidoContrato As String = "-1",
Optional OrdenCompra As String = "-1", Optional CveUsuarioConsulta As Integer = -1, Optional ClienteRFC As String = "-1",
- Optional CveEmpresaCRM As Integer = -1, Optional CveAcercamientoCRM As Integer = -1) As Boolean
+ Optional CveEmpresaCRM As Integer = -1, Optional CveAcercamientoCRM As Integer = -1, Optional TopSelect As Integer = 1000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasGetBuscar")
@@ -229,6 +229,7 @@ Public Class ClsVentas
.Add("@ClienteRFC", SqlDbType.VarChar).Value = ClienteRFC
.Add("@CveEmpresaCRM", SqlDbType.Int).Value = CveEmpresaCRM
.Add("@CveAcercamientoCRM", SqlDbType.Int).Value = CveAcercamientoCRM
+ .Add("@TopSelect", SqlDbType.Int).Value = TopSelect
End With
Try
diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx
index 832d3c44e..17e401ead 100644
--- a/Ashx/SIGWeb.ashx
+++ b/Ashx/SIGWeb.ashx
@@ -43,7 +43,10 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
ActualizaPrePoliza(context)
Case "getpersonal"
getpersonal(context)
-
+ Case "GettingCURP"
+ context.Response.Write(GettingCURP(context.Request("Curp").ToString(), context.Request("year").ToString().ToEntero()))
+ Case "ValidaCURP"
+ context.Response.Write(ValidaCURP(context.Request("Curp").ToString()))
End Select
Catch ex As Exception
ex.GuardaLog(ex.Message)
@@ -181,6 +184,225 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
End Sub
#End Region
+
+ Private Shared Function sendURL(ByVal URL As String, Optional Methodo As String = "POST", Optional Cookie As String = "", Optional maxTimeMilliseconds As Integer = 120000) As String
+ Dim resultado As String = ""
+
+ Try
+ Dim request As Net.HttpWebRequest = CType(Net.HttpWebRequest.Create(URL), Net.HttpWebRequest)
+ request.Timeout = maxTimeMilliseconds
+ request.Method = Methodo
+ request.ContentType = "text/html; charset=utf-8" '"text/xml; charset=utf-8"
+
+ If Not String.IsNullOrEmpty(Cookie) Then
+ request.Headers.Add("Cookie", Cookie)
+ End If
+
+ 'Using stream As IO.Stream = request.GetRequestStream()
+
+ ' Using stmw As IO.StreamWriter = New IO.StreamWriter(stream)
+ ' stmw.Write("")
+ ' End Using
+ 'End Using
+
+ Dim response As Net.WebResponse = CType(request.GetResponse(), Net.WebResponse)
+ Dim sr As IO.StreamReader = New IO.StreamReader(response.GetResponseStream())
+ resultado = sr.ReadToEnd()
+ sr.Close()
+ Catch ex As Exception
+ ex.ToString().GuardaLog()
+ 'Extenciones.ApplicationParameter.GuardaLogEx(ex, $"SOAPAction : {SOAPAction} XML : {xml}")
+ End Try
+
+ Return resultado
+ End Function
+
+ Public Shared Function GettingCURP(ByVal Curp As String, year As Integer) As String
+ Dim abc As String() = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
+ Dim numeric01 As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
+ Dim rule1 As String() = If(year < 2000, numeric01, abc)
+ Dim curpresult As String = ""
+ Dim i As Integer = 0
+ While curpresult.Length = 0 AndAlso i < rule1.Length
+ Dim z As Integer = 0
+ While curpresult.Length = 0 AndAlso z < numeric01.Length
+ curpresult = String.Format("{0}{1}{2}", Curp, rule1(i), numeric01(z))
+ Dim respuesta As String = sendURL(String.Format("http://www.renapo.sep.gob.mx/wsrenapo/MainControllerParam?curp={0}", curpresult), "GET")
+
+ Dim trlines As New List(Of String)
+ Dim keydict As New System.Collections.Concurrent.ConcurrentDictionary(Of String, String)
+
+ Dim indexttr As Integer = 0
+ Dim indexttrB As Integer = 0
+ Dim indexttd As Integer = 0
+ Dim indextdiv As Integer = 0
+ Dim indexinittext As Integer = 0
+ While Not IsNothing(respuesta) AndAlso respuesta.Length > 0
+ indexttr = respuesta.IndexOf("
= 0 Then
+ indexttrB = respuesta.Substring(indexttr + 3).IndexOf("
= 0 Then
+ trlines.Add(respuesta.Substring(indexttr, indexttrB))
+ Else
+ trlines.Add(respuesta.Substring(indexttr))
+
+ End If
+ respuesta = respuesta.Substring(indexttr + 3)
+ Else
+ respuesta = ""
+ End If
+
+ End While
+
+ Dim key As String = ""
+ Dim keyvalue As String = ""
+ For Each item As String In trlines
+ key = ""
+ keyvalue = ""
+ indexttd = item.IndexOf("
= 0 Then
+ indexttr = indextdiv
+ indexttrB = item.IndexOf("= 0 Then
+ indexinittext = item.Substring(indexttr + 3).IndexOf(">")
+ keyvalue = item.Substring(indexinittext + indexttr + 4, (indexttrB - (indexinittext + indexttr + 4)))
+
+ item = item.Substring(indexttr + 3)
+ Else
+ item = ""
+ End If
+
+ End If
+ If key.Length > 0 Then
+ keydict.TryAdd(key.Replace(":", "").Trim(), keyvalue.Trim().ToLower())
+ End If
+ Next
+ Dim Apellido1 As String = "" : keydict.TryGetValue("Apellido1", Apellido1)
+ Dim Apellido2 As String = "" : keydict.TryGetValue("Apellido1", Apellido1)
+ Dim Nombres As String = "" : keydict.TryGetValue("Nombres", Nombres)
+ If Nombres Is Nothing OrElse Nombres.Length = 0 Then
+ curpresult = ""
+ End If
+ System.Threading.Thread.Sleep(100)
+ z = z + 1
+ End While
+ i = i + 1
+ End While
+ Return curpresult
+ End Function
+
+
+ Public Shared Function ValidaCURP(ByVal Curp As String) As String
+
+ Dim respuesta As String = sendURL(String.Format("http://www.renapo.sep.gob.mx/wsrenapo/MainControllerParam?curp={0}", Curp), "GET")
+
+ Dim trlines As New List(Of String)
+ Dim keydict As New System.Collections.Concurrent.ConcurrentDictionary(Of String, String)
+
+ Dim indexttr As Integer = 0
+ Dim indexttrB As Integer = 0
+ Dim indexttd As Integer = 0
+ Dim indextdiv As Integer = 0
+ Dim indexinittext As Integer = 0
+ While Not IsNothing(respuesta) AndAlso respuesta.Length > 0
+ indexttr = respuesta.IndexOf("
= 0 Then
+ indexttrB = respuesta.Substring(indexttr + 3).IndexOf("
= 0 Then
+ trlines.Add(respuesta.Substring(indexttr, indexttrB))
+ Else
+ trlines.Add(respuesta.Substring(indexttr))
+
+ End If
+ respuesta = respuesta.Substring(indexttr + 3)
+ Else
+ respuesta = ""
+ End If
+
+ End While
+
+ Dim key As String = ""
+ Dim keyvalue As String = ""
+ For Each item As String In trlines
+ key = ""
+ keyvalue = ""
+ indexttd = item.IndexOf("
+
+
+
+
@@ -693,5 +854,19 @@
function fncp() {
$get('BtnReportePago').click();
}
+
+
+ function PrefijoFolioEnviados(TxtPrefijo) {
+
+
+ $(`.CSSPrefijo`).each(function () {
+ $(this).val(TxtPrefijo.value)
+ });
+
+
+
+ }
+
+
diff --git a/Bancos/PagoElectronicoGrupos.aspx.vb b/Bancos/PagoElectronicoGrupos.aspx.vb
index b7dca6fdc..c5138aa39 100644
--- a/Bancos/PagoElectronicoGrupos.aspx.vb
+++ b/Bancos/PagoElectronicoGrupos.aspx.vb
@@ -172,6 +172,26 @@ Partial Class Bancos_PagoElectronicoGrupos
ViewState("TipoMasiva") = value
End Set
End Property
+
+ Private Property NombreArchivoBancomer As String
+ Get
+ Return ViewState("NombreArchivoBancomer").ToString
+ End Get
+ Set(value As String)
+ ViewState("NombreArchivoBancomer") = value
+ End Set
+ End Property
+ Private Property NombreArchivoInterbancario As String
+ Get
+ Return ViewState("NombreArchivoInterbancario").ToString
+ End Get
+ Set(value As String)
+ ViewState("NombreArchivoInterbancario") = value
+ End Set
+ End Property
+
+
+
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
@@ -194,7 +214,6 @@ Partial Class Bancos_PagoElectronicoGrupos
CargaProveedores()
InicializaDatosGenerales()
-
End If
@@ -210,6 +229,12 @@ Partial Class Bancos_PagoElectronicoGrupos
DdlCuentaReportes.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros("UsaLayoutGrupos = 1")
DdlCuentaReportes.DataBind()
UpFiltrosReporte.Update()
+
+
+ DdlCuentaEnviados.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros("UsaLayoutGrupos = 1")
+ DdlCuentaEnviados.DataBind()
+ UpFiltroEnviados.Update()
+
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CveCuenta = DdlCuenta.SelectedValue.ToEntero
@@ -223,13 +248,10 @@ Partial Class Bancos_PagoElectronicoGrupos
DTPendientes = ObjBancos.DtResultados
Else
DTPendientes = Nothing
- End If
-
- If ObjBancos.GetLayoutPagosEnviados(CveCuenta, 1, DdlTipoGeneracion.SelectedValue, "-1", "-1", PorGrupos:=True) Then
- DTEnviadas = ObjBancos.DtResultados
- Else
- DTEnviadas = Nothing
- End If
+ End If
+
+
+
ObjBancos.Dispose()
@@ -237,10 +259,8 @@ Partial Class Bancos_PagoElectronicoGrupos
If DTPendientes IsNot Nothing AndAlso DTPendientes.Rows.Count > 0 Then
CargaDatosInformativos()
Else
-
LbNumeroMovimientos.Text = "0"
LbImporteMovimientos.Text = "0"
-
UpComandosGeneracion.Update()
End If
@@ -249,14 +269,11 @@ Partial Class Bancos_PagoElectronicoGrupos
If DTPendientes IsNot Nothing AndAlso DTPendientes.Rows.Count > 0 Then
GvPendientes.DataSource = DTPendientes
End If
- GvPendientes.DataBind()
-
- 'Carga GvEnviadas
- If DTEnviadas IsNot Nothing AndAlso DTEnviadas.Rows.Count > 0 Then
- GvEnviadas.DataSource = DTEnviadas
- End If
- GvEnviadas.DataBind()
+ GvPendientes.DataBind()
+ UpEnviados.Update()
+
+
UpGVDatos.Update()
@@ -352,7 +369,7 @@ Partial Class Bancos_PagoElectronicoGrupos
Response.ContentType = "application/zip"
Response.End()
End Sub
- Private Function CreaArchivo(Tipo As Integer, Optional MismoBanco As Boolean = True) As Boolean
+ Private Function CreaArchivo(Tipo As Integer, Optional MismoBanco As Boolean = True, Optional NombreArchivoEnviado As String = "") As Boolean
System.Threading.Thread.Sleep(1000) 'Un segundo de diferencia Para doferentes tipos de bancos
@@ -367,7 +384,9 @@ Partial Class Bancos_PagoElectronicoGrupos
NombreArchivo = String.Format("{2}{1}{0}{3}.txt", UsuarioActual.CveUsuario, Date.Now.ToString("yyyyMMdd-HH-mm-ss"), "LAYOUTALTA", If(MismoBanco, "BANCOMER", "INTERBANCARIO"))
End If
-
+ If NombreArchivoEnviado.Length > 0 Then
+ NombreArchivo = NombreArchivoEnviado
+ End If
Dim path As String = String.Format("{0}Layout\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo)
Dim fs As FileStream = File.Create(path)
@@ -442,23 +461,33 @@ Partial Class Bancos_PagoElectronicoGrupos
End Sub
- Protected Sub GvEnviadas_RowDataBound(sender As Object, e As GridViewRowEventArgs)
+ Protected Sub GvEnviadas_RowDataBound(sender As Object, e As GridViewRowEventArgs)
+
If e.Row.RowType = DataControlRowType.DataRow Then
'Colorea GV
If e.Row.DBCampo("CveIE").ToString = "" Then
- e.Row.BackColor = Drawing.Color.LightGray
-
-
- 'Si la fecha de generacion del archivo es diferente de hoy activamos el boton REGENERAR
- 'If e.Row.DBCampo("Fecha").ToDate.ToShortDateString <> Date.Now.ToShortDateString Then
- ' e.Row.FCLinkButton("LBRegenerar").Visible = True
- 'End If
+ e.Row.BackColor = Drawing.Color.LightGray
+
+
+ e.Row.FCLabel("LblArchivo").Visible = True
+ e.Row.FCLabel("LblArchivo").Text = e.Row.DataKey("Archivo")
+
+ 'Si la fecha de generacion del archivo es diferente de hoy activamos el boton REGENERAR
+ 'If e.Row.DBCampo("Fecha").ToDate.ToShortDateString <> Date.Now.ToShortDateString Then
+ ' e.Row.FCLinkButton("LBRegenerar").Visible = True
+ 'End If
If DTEnviadas.MAX("FueConciliado", String.Format("CveLayoutEnvio = {0}", e.Row.DBCampo("CveLayoutEnvio"))).ToEntero > 0 Then
e.Row.ToolTip = "El movimiento no se puede regenerar ya que alguno de sus movimientos ya fue conciliado"
Else
e.Row.FCLinkButton("LBRegenerar").Visible = True
End If
+
+ e.Row.FCTextBox("TxtFolio").Visible = False
+ e.Row.FCLinkButton("ImgUpload").Visible = False
+ e.Row.FCLinkButton("LnkGvCancelar").Visible = False
+ e.Row.FCLinkButton("LnkGvConfirmar").Visible = False
+
Else
If e.Row.DBCampo("FueConciliado") = "1" Then
@@ -471,17 +500,36 @@ Partial Class Bancos_PagoElectronicoGrupos
Else
e.Row.FCHyperLink("HLProveedor").NavigateUrl = String.Format("/RH/Personal.aspx?CvePersonal={0}", e.Row.DBCampo("CvePersonal"))
End If
- e.Row.FCHyperLink("HLDetalle").NavigateUrl = String.Format("IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
+ e.Row.FCHyperLink("HLDetalle").NavigateUrl = String.Format("IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
+
+
+ If e.Row.DataKey("Estatus").ToEntero = 3 Then
+
+ e.Row.FCLinkButton("ImgUpload").Visible = False
+ e.Row.FCLinkButton("LnkGvCancelar").Visible = False
+ e.Row.FCLinkButton("LnkGvConfirmar").Visible = False
+ e.Row.FCTextBox("TxtFolio").Visible = False
+
+ End If
+
End If
+
+
+
End If
+
End Sub
Protected Sub LBRegenerar_Click(sender As Object, e As EventArgs)
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+
Dim CveBLE = CType(sender, LinkButton).CommandArgument.ToEntero
- Dim DtRegenerar As New DataTable
-
+ Dim DtRegenerar As New DataTable
+
+ Dim NombreDelArchivo As String = GvRow.DataKey("Archivo")
+
Dim ObjBancos As New ClsBancos
- If ObjBancos.GetLayoutPagos(CveCuenta, CveBLE, "-1", PorGrupos:=True) Then
+ If ObjBancos.GetLayoutPagos(DdlCuentaEnviados.SelectedValue.ToEntero, CveBLE, "-1", PorGrupos:=True) Then
DtRegenerar = ObjBancos.DtResultados
Else
DtRegenerar = Nothing
@@ -489,7 +537,7 @@ Partial Class Bancos_PagoElectronicoGrupos
ObjBancos.Dispose()
If DtRegenerar IsNot Nothing Then
- GeneraPago(DtRegenerar, False)
+ GeneraPago(DtRegenerar, False, NombreDelArchivo)
Else
Alert("Ocurrió un error al obtener los datos para generar el archivo. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
@@ -533,15 +581,15 @@ Partial Class Bancos_PagoElectronicoGrupos
Private Sub AltaProveedores(Optional DtCuentasPendientesTemp As DataTable = Nothing)
-
+ NombreArchivoBancomer = ""
+ NombreArchivoInterbancario = ""
NombreArchivo = ""
Dim RegistrosAltaBancomer As New StringBuilder
Dim RegistrosAltaInterbancario As New StringBuilder
Dim SBErrores As New StringBuilder
- Dim NombreArchivoBancomer As String = ""
- Dim NombreArchivoInterbancario As String = ""
+
Dim CeroRelleno As Char = "0"c
Dim EspacioRelleno As Char = Chr(32)
@@ -704,15 +752,24 @@ Partial Class Bancos_PagoElectronicoGrupos
Dim Mensaje As New StringBuilder
- Mensaje.Append("Descarga Layouts
")
+ 'Mensaje.Append("Descarga Layouts
")
+
+ DVDescargaPagos.Visible = False
+
+
If NombreArchivoBancomer.Trim.Length > 0 Then
- Mensaje.Append($"Cuentas Bancomer Descarga Archivo cuentas Bancomer
")
+
End If
@@ -724,7 +781,15 @@ Partial Class Bancos_PagoElectronicoGrupos
End If
If NombreArchivoBancomer.Length > 0 Or NombreArchivoInterbancario.Length > 0 Then
- Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
+
+
+ LnkDescargaCuentas1.Text = NombreArchivoBancomer
+ LnkDescargaCuentas2.Text = NombreArchivoInterbancario
+ RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
+
+ UpModalDescarga.Update()
+
+
Else
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
End If
@@ -940,7 +1005,7 @@ Partial Class Bancos_PagoElectronicoGrupos
End If
End Sub
- Private Sub GeneraPago(DTPendientesTemp As DataTable, Optional InsertaEnDB As Boolean = True)
+ Private Sub GeneraPago(DTPendientesTemp As DataTable, Optional InsertaEnDB As Boolean = True, Optional NombreArchivoEnviado As String = "")
Dim RegistrosPago As New StringBuilder
Dim MENSAJEError As New StringBuilder
@@ -1061,8 +1126,10 @@ Partial Class Bancos_PagoElectronicoGrupos
Dim NombreArchivoPago As String = ""
TextoCompleto = RegistrosPago.ToString
- If CreaArchivo(1) Then
- NombreArchivoPago = NombreArchivo
+
+ If CreaArchivo(1, NombreArchivoEnviado:=NombreArchivoEnviado) Then
+ 'NombreArchivoPago = NombreArchivo
+ NombreArchivoPago = NombreArchivoEnviado
End If
@@ -1107,12 +1174,29 @@ Partial Class Bancos_PagoElectronicoGrupos
Mensaje.Append("Descarga Layout ")
- If NombreArchivoPago.Trim.Length > 0 Then
- Mensaje.Append($"Pagos Descarga {NombreArchivoPago}
", If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim), (TextoArreglo(i).Substring(599, 30)))
-
- ' ''Guardo CveCuentaDeposito cuando la operacion salio exitosa para actualizar en la DB
- ' If TextoArreglo(i).Substring(597, 2) = "00" Or TextoArreglo(i).Substring(597, 2) = "34" Then
- ' CveCuentasDeposito += If(CveCuentasDeposito <> "", ",", "")
- ' CveCuentasDeposito += TextoArreglo(i).Substring(3, 30).ToEntero.ToString
- ' End If
-
-
- ' ''LLENA DT PARA REPORTE
- ' Row = DtAlta.NewRow()
-
- ' Row("Proveedor") = If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim)
-
- ' 'BANCO
- ' If ObjGrales.GetCuentasDepositos(CveCuentaDeposito:=TextoArreglo(i).Substring(3, 30).ToEntero) Then
- ' If ObjGrales.DtResultados.Rows.Count = 1 Then
- ' Row("Banco") = ObjGrales.DtResultados.Rows(0)("BancoNombre").ToString
- ' Else
- ' ErrorArchivo = True
- ' Exit For
- ' End If
- ' Else
- ' ErrorArchivo = True
- ' Exit For
- ' End If
-
- ' 'CUENTA
- ' If TextoArreglo(i).Substring(41, 2).Trim <> "" Then
- ' Row("Cuenta") = String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c))
- ' ElseIf TextoArreglo(i).Substring(81, 2).Trim <> "" Then
- ' Row("Cuenta") = String.Format("{0}", TextoArreglo(i).Substring(83, 35).TrimStart("0"c))
- ' Row("TipoCuenta") = "CLABE"
- ' Else
- ' ErrorArchivo = True
- ' Exit For
- ' End If
-
- ' 'TIPO CUENTA
- ' If Row("TipoCuenta").ToString = "" Then
- ' If String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 8 Then
- ' Row("TipoCuenta") = "CIE"
- ' ElseIf String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 10 Or String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 9 Then
- ' Row("TipoCuenta") = "Cuenta"
- ' ElseIf String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 18 Then
- ' Row("TipoCuenta") = "CLABE"
- ' End If
- ' End If
-
- ' Row("Estatus") = TextoArreglo(i).Substring(599, 30)
-
- ' DtAlta.Rows.Add(Row)
-
- ' ''LLENA PARA ALERT
- ' 'If i > 1 Then
- ' ' RespuestaDetalle += vbCrLf
- ' 'End If
-
- ' 'RespuestaDetalle += String.Format("
{0}
{1}
", If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim), (TextoArreglo(i).Substring(599, 30)))
-
-
- ' 'LEE TRAILER
- ' ElseIf TextoArreglo(i).Substring(1, 1) = "T" Then
- ' RespuestaTrailer = TextoArreglo(i).Substring(32, 10)
- ' RespuestaTrailer += vbCrLf
- ' RespuestaTrailer += TextoArreglo(i).Substring(42, 10)
- ' RespuestaTrailer += vbCrLf
- ' RespuestaTrailer += TextoArreglo(i).Substring(52, 10)
- ' Exit For
- ' Else
- ' ErrorArchivo = True
- ' Exit For
- ' End If
- ' End If
- ' End If
- ' Next
- ' ObjGrales.Dispose()
-
-
- ' Dim Respuesta As New StringBuilder
- ' 'LEE ARCHIVO
- ' If Not ErrorArchivo Then
- ' 'TRADUCE CODIGO RESPUESTA HEADER
- ' If RespuestaHeader = "01" Then
- ' RespuestaHeader = "ACEPTADO TOTAL"
- ' ElseIf RespuestaHeader = "02" Then
- ' RespuestaHeader = "ACEPTADO PARCIAL"
- ' ElseIf RespuestaHeader = "03" Then
- ' RespuestaHeader = "RECHAZADO"
- ' End If
-
- ' 'DIVIDE DETALLE
- ' Dim Detalle() = RespuestaDetalle.Split(CChar(vbCrLf))
-
- ' 'DIVIDE TRAILER
- ' Dim Trailer() = RespuestaTrailer.Split(CChar(vbCrLf))
-
- ' 'ARMADO DE RESPUESTA
- ' Respuesta.AppendFormat(" Resumen de respuesta: {0} ", RespuestaHeader)
- ' Respuesta.AppendFormat("Numero de movimientos: {0}
", DtAlta.Rows.Count)
- ' Respuesta.Append("------------------------------ Detalle de los movimientos ------------------------------ ")
-
- ' Respuesta.Append("
#
Proveedor
Banco
Tipo Cuenta
Cuenta
Estatus
")
- ' 'For i = 0 To Detalle.Length - 1
- ' ' Respuesta.AppendFormat("
{0}
{1}
", i + 1, Detalle(i).Trim)
- ' 'Next
- ' Dim i = 1
- ' Dim Style = ""
- ' Dim TotalExitos = 0, TotalFracasos = 0
- ' For Each dr As DataRow In DtAlta.Rows
-
- ' If dr("estatus").ToString.Trim.Contiene("OPERACION EXITOSA", "ALTA TERCERO EXITOSO") Then
- ' Style = ""
- ' TotalExitos += 1
- ' Else
- ' Style = "style=""background-color:#FF5F5F;"" "
- ' TotalFracasos += 1
- ' End If
-
- ' Respuesta.AppendFormat("
{0}
{1}
{2}
{3}
{4}
{5}
", i, dr("Proveedor"), dr("Banco"), dr("TipoCuenta"), dr("Cuenta"), dr("estatus"), Style)
- ' i += 1
- ' Next
-
- ' Respuesta.Append("
------------------------------------------------------------------------------------- ")
-
- ' Respuesta.AppendFormat("Total de movimientos exitosos: {0} ", TotalExitos)
- ' Respuesta.AppendFormat("Total de movimientos NO exitosos: {0} ", TotalFracasos)
-
- ' 'LEE DESDE EL LAYOUT
- ' 'Respuesta.AppendFormat("Total de altas rechazadas: {0} ", Trailer(0).ToString.ToEntero)
- ' 'Respuesta.AppendFormat("Total de bajas rechazadas: {0} ", Trailer(1).ToString.ToEntero)
- ' 'Respuesta.AppendFormat("Total de cambios rechazados: {0} ", Trailer(2).ToString.ToEntero)
-
- ' End If
-
- ' If Not ErrorArchivo Then
-
- ' If CveCuentasDeposito <> "" Then
- ' Dim ObjIE As New ClsBancos
- ' Dim ErrorDB = False
- ' ObjIE.IniciaTransacSQL()
- ' Dim ArrayCuentasDeposito() = CveCuentasDeposito.Split(","c)
-
- ' For index = 0 To ArrayCuentasDeposito.Length - 1
- ' If Not ObjIE.UpdateCuentaDepositoPagoElectronico(ArrayCuentasDeposito(index).ToEntero) Then
- ' ErrorDB = True
- ' End If
- ' Next
-
- ' If Not ErrorDB Then
- ' ObjIE.Commit()
- ' Respuesta.Append("
NOTA: El archivo se analizo correctamente y se efectuaron todos los cambios en el sistema.")
- ' 'Respuesta.AppendFormat(" Descargar reporte", NombreArchivo)
- ' Respuesta.AppendFormat("
NOTA: El archivo se analizo correctamente pero ocurrio un problema al efectuar los cambios en el sistema. Por favor vuelta a intentar.")
- ' Alert(Respuesta.ToString, TipoMensaje.MsgError)
- ' End If
-
- ' ObjIE.Dispose()
- ' Else
- ' Respuesta.AppendFormat("
NOTA: El archivo se analizo correctamente pero ningun movimiento fue exitoso.")
- ' 'Respuesta.AppendFormat(" Descargar reporte", NombreArchivo)
- ' Respuesta.AppendFormat("
", NombreArchivo)
-
- ' Alert(Respuesta.ToString, TipoMensaje.MsgAdvertencia)
- ' End If
-
- ' Else
- ' Alert("Ocurrio un problema al leer el archivo. Por favor revise que el archivo sea el correcto e intente de nuevo.", TipoMensaje.MsgError)
- ' End If
-
- ' 'ELIMINA TXT
- ' My.Computer.FileSystem.DeleteFile(NombreArchivo)
-
- ' RecargaDatos()
-
- 'End Sub
#End Region
#Region "CARGA PAGO PROVEEDORES"
@@ -1622,312 +1476,7 @@ Partial Class Bancos_PagoElectronicoGrupos
End Sub
- 'Protected Sub BtnCargarPago_Click(sender As Object, e As System.EventArgs)
- ' Dim ErrorArchivo = False
- ' Dim TextoErrorArchivo = "Ocurrió un problema al leer el archivo, por favor revise que el archivo sea el correcto e intente de nuevo."
- ' If FUTxt.HasFile Then
- ' If Not GuardaTXT() Then
- ' Alert("Ocurrio un error al cargar el archivo", TipoMensaje.MsgError)
- ' Exit Sub
- ' End If
- ' Else
- ' Alert("No tiene ningun archivo", TipoMensaje.MsgAdvertencia)
- ' Exit Sub
- ' End If
-
-
- ' 'LEE TXT
- ' Dim Texto As String
- ' Dim sr As New System.IO.StreamReader(NombreArchivo)
- ' Texto = sr.ReadToEnd()
- ' sr.Close()
- ' Dim TextoArreglo() = Texto.Split(CChar(vbCrLf))
-
- ' 'INICIALIZA VARIABLES
- ' Dim ObjBancos As New ClsBancos
- ' Dim RespuestaHeader = "", RespuestaDetalle = "", RespuestaTrailer = "", Proveedor = "", CuentaAbono = "", Estatus = "", CveIEs = "", EstatusIEs = "", FechaMovto = "", Correos = ""
- ' Dim Row As DataRow = Nothing
- ' Dim Convenio = ""
- ' CreaDtPago()
-
- ' 'LEE LINEA POR LINEA
- ' For i = 0 To TextoArreglo.Length - 1
- ' 'Valida que el primer renglon sea el HEADER
- ' If i = 0 Then
- ' If TextoArreglo(i).Substring(0, 1) <> "H" Then
- ' ErrorArchivo = True
- ' Exit For
- ' Else
- ' ' Codigo de respuesta | Cuenta cargo
- ' RespuestaHeader = String.Format("{0}|{1}", TextoArreglo(i).Substring(52, 2), TextoArreglo(i).Substring(77, 35))
- ' Convenio = TextoArreglo(i).Substring(2, 9)
- ' End If
- ' Else
- ' If TextoArreglo(i).Length > 1 Then
-
- ' 'LEE DETALLE
- ' If TextoArreglo(i).Substring(1, 1) = "D" Then
- ' If i > 1 Then
- ' RespuestaDetalle += vbCrLf
- ' End If
-
- ' 'TRUENA PORQUE AHORA ES LA CVECUENTADEPOSITO
- ' 'Proveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor = {0}", TextoArreglo(i).Substring(24, 30).ToEntero)).Rows(0)("RazonSocial").ToString
-
- ' Correos += If(Correos <> "", "|", "")
-
- ' If ObjBancos.GetProveedorCuentaDeposito(TextoArreglo(i).Substring(24, 30).ToDouble.ToEntero) Then
- ' If ObjBancos.DtResultados.Rows.Count > 0 Then
-
- ' Proveedor = ObjBancos.DtResultados.Rows(0)("RazonSocial").ToString
-
- ' 'Correos += If(TextoArreglo(i).Substring(477, 50).Trim = "", "-1", TextoArreglo(i).Substring(477, 50).Trim)
- ' Correos += String.Format("{0};{1}", ObjBancos.DtResultados.Rows(0)("NotificarA").ToString, ObjBancos.DtResultados.Rows(0)("ContactoMailCobranza").ToString)
-
-
- ' ''SELECCIONA CUENTA ABONO PARA CORREO
- ' Select Case TextoArreglo(i).Substring(57, 1).ToEntero
- ' Case 1
- ' CuentaAbono = "NO APLICA"
- ' Case 2
- ' CuentaAbono = If(ObjBancos.DtResultados.Rows(0)("Cuenta").ToString <> "", ObjBancos.DtResultados.Rows(0)("Cuenta").ToString, ObjBancos.DtResultados.Rows(0)("CLABE").ToString)
- ' Case 3
- ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("CIE").ToString
- ' Case 4
- ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("SWIFT").ToString
- ' Case 5, 6, 7
- ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("CLABE").ToString
- ' End Select
-
- ' Else
- ' Proveedor = "PROVEEDOR NO ENCONTRADO"
- ' End If
- ' Else
- ' Proveedor = "PROVEEDOR NO ENCONTRADO"
- ' End If
-
- ' Estatus = If(TextoArreglo(i).Substring(1325, 2) = "00", "OPERACION EXITOSA: ", "OPERACION FALLIDA: ")
- ' ' Proveedor | Importe | Descripcion estatus
- ' RespuestaDetalle += String.Format("
{0}
{1}.{2}
{5}
{3}{4}
", Proveedor, TextoArreglo(i).Substring(445, 13).ToDouble.ToEntero, TextoArreglo(i).Substring(458, 2).ToEntero, Estatus, TextoArreglo(i).Substring(1327, 30), TextoArreglo(i).Substring(420, 3))
-
- ' ''Guardo CveIE cuando la operacion salio exitosa para actualizar en la DB el IE
- ' 'If TextoArreglo(i).Substring(1325, 2) = "00" Then
- ' CveIEs += If(CveIEs <> "", ",", "")
- ' 'VIEJO IE EN CAMPO 9
- ' 'CveIEs += TextoArreglo(i).Substring(83, 10).Trim
- ' CveIEs += TextoArreglo(i).Substring(123, 32).Trim
-
- ' 'SI VIENE SIN RESPUESTA ES ERROR DE ARCHIVO
- ' If TextoArreglo(i).Substring(1325, 2).Trim = "" Then
- ' ErrorArchivo = True
- ' TextoErrorArchivo = "El archivo que se intento procesar no es de respuesta. Por favor verifique cargar el archivo correcto."
- ' Exit For
- ' End If
-
- ' EstatusIEs += If(EstatusIEs <> "", ",", "")
- ' EstatusIEs += If(TextoArreglo(i).Substring(1325, 2) = "00", "2", "3")
-
- ' FechaMovto += If(FechaMovto <> "", ",", "")
- ' FechaMovto += TextoArreglo(i).Substring(540, 10)
-
- ' 'If Proveedor = "PROVEEDOR NO ENCONTRADO" Or CuentaAbono = "" Then
- ' ' Continue For
- ' 'End If
-
-
- ' ''LLENA DTPAGOS PARA CORREO
- ' Row = DtPago.NewRow()
- ' Row("NumeroConvenio") = Convenio
- ' Row("ClaveProveedor") = TextoArreglo(i).Substring(24, 30)
- ' Row("Proveedor") = Proveedor
- ' Row("ReferenciaPago") = TextoArreglo(i).Substring(4, 20)
- ' Row("Cuenta") = CuentaAbono
-
- ' Select Case TextoArreglo(i).Substring(57, 1).ToEntero
- ' Case 1
- ' Row("TipoPago") = "1 .- ABONO EN VENTANILLA"
- ' Case 2
- ' Row("TipoPago") = "2 .- ABONO A CUENTAS BANCOMER"
- ' Case 3
- ' Row("TipoPago") = "3 .- ABONO A CONVENIO CIE"
- ' Case 4
- ' Row("TipoPago") = "4 .- ABONO A CUENTA INTERNACIONAL VIA SWIFT"
- ' Case 5
- ' Row("TipoPago") = "5 .- ABONO A CUENTA INTERBANCARIA DIA SIGUIENTE"
- ' Case 6
- ' Row("TipoPago") = "6 .- ABONO A CUENTA INTERBANCARIA MISMO DIA"
- ' Case 7
- ' Row("TipoPago") = "7 .- ABONO A CUENTA INTERNACIONAL VIA ACH"
- ' End Select
-
- ' Try
- ' Row("Cuenta") = If(Row("Cuenta").ToString = "", String.Format("******{0}", CuentaAbono.Substring(CuentaAbono.Length - 4, 4)), Row("Cuenta").ToString)
- ' Catch ex As Exception
- ' Row("Cuenta") = "******"
- ' End Try
-
- ' Row("Importe") = String.Format("{0}.{1}", TextoArreglo(i).Substring(445, 13), TextoArreglo(i).Substring(458, 2)).ToDecimal.ToString
- ' Row("FechaOperacion") = TextoArreglo(i).Substring(540, 10)
- ' Row("Observaciones") = TextoArreglo(i).Substring(605, 700).Trim
- ' DtPago.Rows.Add(Row)
-
- ' 'End If
-
- ' 'LEE TRAILER
- ' ElseIf TextoArreglo(i).Substring(1, 1) = "T" Then
-
- ' 'PARA BCOM, YA QUE TRUNCA EL STRING CUANDO SOLO ES MXP
- ' If TextoArreglo(i).Length < 1367 Then
- ' TextoArreglo(i) = TextoArreglo(i).PadRight(1367)
- ' End If
-
- ' RespuestaTrailer += "------------------------------------------------------------ RESUMEN ------------------------------------------------------------"
- ' RespuestaTrailer += String.Format("
", TextoArreglo(i).Substring(187, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(200, 2).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(312, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(325, 2).ToDouble.ToEntero.ToString)
-
- ' 'RespuestaTrailer += String.Format("Total registros rechazados: {1}{0} Total Importe rechazado: $ {2}.{3}{0} Total registros aceptados: {4}{0} Total Importe aceptado: $ {5}.{6}{0}", " ", TextoArreglo(i).Substring(77, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(87, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(100, 2).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(177, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(187, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(200, 2).ToEntero.ToString)
- ' Else
- ' ErrorArchivo = True
- ' Exit For
- ' End If
- ' End If
- ' End If
- ' Next
-
- ' ObjBancos.Dispose()
-
- ' Dim Respuesta As New StringBuilder
- ' If Not ErrorArchivo Then
-
- ' 'DIVIDE HEADER
- ' Dim Header() = RespuestaHeader.Split(CChar("|"))
- ' 'TRADUCE CODIGO RESPUESTA HEADER
- ' If Header(0) = "01" Then
- ' RespuestaHeader = "ACEPTADO TOTAL"
- ' ElseIf Header(0) = "02" Then
- ' RespuestaHeader = "ACEPTADO PARCIAL"
- ' ElseIf Header(0) = "03" Then
- ' RespuestaHeader = "RECHAZADO"
- ' End If
- ' RespuestaHeader += String.Format(" Cuenta Cargo: {0}", Header(1))
-
- ' 'DIVIDE DETALLE
- ' Dim Detalle() = RespuestaDetalle.Split(CChar(vbCrLf))
-
- ' 'ARMADO DE RESPUESTA
- ' Respuesta.AppendFormat(" Resumen de respuesta: {0} ", RespuestaHeader)
- ' Respuesta.AppendFormat("Numero de movimientos: {0}
", Detalle.Length.ToString)
- ' Respuesta.Append("----------------------------------------------------- Detalle de los movimientos -------------------------------------------------- ")
- ' Respuesta.Append("
#
Proveedor
Importe($)
Moneda
Estatus
")
- ' For i = 0 To Detalle.Length - 1
- ' Respuesta.AppendFormat("
{0}
{1}
", i + 1, Detalle(i).Trim)
- ' Next
- ' Respuesta.Append("
---------------------------------------------------------------------------------------------------------------------- ")
- ' Respuesta.AppendFormat(RespuestaTrailer)
-
-
- ' End If
-
- ' If Not ErrorArchivo Then
- ' If CveIEs <> "" Then
- ' Dim ObjIE As New ClsBancos
- ' Dim ErrorDB = False
- ' ObjIE.IniciaTransacSQL()
- ' Dim ArrayCveIEs() = CveIEs.Split(","c)
- ' Dim ArrayEstatusIEs() = EstatusIEs.Split(","c)
- ' Dim ArrayFechasMovto() = FechaMovto.Split(","c)
- ' Dim ArrayCorreos() = Correos.Split("|"c)
-
- ' Dim ArregloHilos As New Generic.List(Of System.Threading.Thread)
- ' Dim ArregloParametros As New Generic.List(Of List(Of String))
-
- ' For index = 0 To ArrayCveIEs.Length - 1
- ' If ObjIE.UpdatePagoElectronicoCarga(ArrayCveIEs(index).ToEntero, ArrayEstatusIEs(index).ToEntero) Then
-
- ' 'Cuando salio exitoso actualizamos el IE
- ' If ArrayEstatusIEs(index).ToEntero = 2 Then
- ' If ObjIE.UpdateIEPagoElectronico(ArrayCveIEs(index).ToEntero, ArrayFechasMovto(index).ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then 'DESPROGRAMA LAS COMPRAS RELACIONADAS EN ESTE PA
-
- ' 'Cambiamos estatus notificación
- ' If ObjIE.UpdateBancos_IENotificaciones(2, "-1", "-1", ArrayCveIEs(index).ToEntero) Then
-
- ' 'Obtenemos los correos del movimiento
- ' If ArrayCorreos(index) <> "-1" Or ArrayCorreos(index) <> "" Then
-
- ' 'Dim CorreosMovto() = ArrayCorreos(index).Split(";"c)
- ' 'For index2 = 0 To CorreosMovto.Length - 1
- ' ' If CorreosMovto(index2).Length > 5 Then
- ' ' End If
- ' 'Next
-
- ' Dim Param As New List(Of String)
-
- ' Param.Add(ArrayCorreos(index)) 'Para
- ' Param.Add("Notificación de Pago") 'Asunto
- ' Param.Add(GeneraCorreo2(DtPago.Rows(index), ObjIE, ArrayCveIEs(index).ToEntero)) 'Body
-
- ' Dim Hilo As New Threading.Thread(AddressOf MandaCorreo)
- ' ArregloHilos.Add(Hilo)
- ' ArregloParametros.Add(Param)
- ' End If
- ' Else
- ' ErrorDB = True
- ' End If
-
- ' Else
- ' ErrorDB = True
- ' End If
- ' Else
-
- ' 'Cuando salio NO exitoso cancelamos el IE
- ' If Not ObjIE.CancelarBancos_IE(UsuarioActual.CveUsuario, ArrayCveIEs(index).ToEntero, False, -1, -1) Then
- ' ErrorDB = True
- ' End If
- ' End If
-
- ' Else
- ' ErrorDB = True
- ' End If
- ' Next
-
- ' If Not ErrorDB Then
- ' ObjIE.Commit()
- ' 'ObjIE.RollBack()
-
- ' 'EMPIEZA A ENVIAR CORREO POR HILOS
- ' For index = 0 To ArregloHilos.Count - 1
- ' ArregloHilos(index).Start(ArregloParametros(index))
- ' Next
-
- ' Respuesta.Append("
NOTA: El archivo se analizo correctamente y se efectuaron todos los cambios en el sistema.")
- ' Alert(Respuesta.ToString, TipoMensaje.MsgInformacion)
-
- ' CargaDatos()
- ' Else
- ' ObjIE.RollBack()
- ' Respuesta.Append("
NOTA: El archivo se analizo correctamente pero ocurrió un problema al efectuar los cambios en el sistema. Por favor vuelva a intentar.")
- ' Alert(Respuesta.ToString, TipoMensaje.MsgError)
- ' End If
-
- ' ObjIE.Dispose()
- ' Else
- ' Respuesta.AppendFormat("
NOTA: El archivo se analizo correctamente pero ningun movimiento fue exitoso.")
- ' Alert(Respuesta.ToString, TipoMensaje.MsgAdvertencia)
- ' End If
- ' Else
- ' Alert(TextoErrorArchivo, TipoMensaje.MsgError)
- ' End If
-
- ' 'ELIMINA TXT
- ' My.Computer.FileSystem.DeleteFile(NombreArchivo)
-
- ' RecargaDatos()
-
- 'End Sub
#End Region
@@ -1939,13 +1488,17 @@ Partial Class Bancos_PagoElectronicoGrupos
NombreArchivo = ""
+ NombreArchivoBancomer = ""
+ NombreArchivoInterbancario = ""
+ NombreArchivo = ""
+
+
Dim RegistrosAltaBancomer As New StringBuilder
Dim RegistrosAltaInterbancario As New StringBuilder
Dim SBErrores As New StringBuilder
- Dim NombreArchivoBancomer As String = ""
- Dim NombreArchivoInterbancario As String = ""
+
Dim CeroRelleno As Char = "0"c
Dim EspacioRelleno As Char = Chr(32)
@@ -2127,24 +1680,38 @@ Partial Class Bancos_PagoElectronicoGrupos
Mensaje.Append("Descarga Layouts
")
End If
If SBErrores.ToString.Length > 0 Then
+
Mensaje.Append("Errores Cuentas ")
Mensaje.Append("
")
+
End If
If NombreArchivoBancomer.Length > 0 Or NombreArchivoInterbancario.Length > 0 Then
- Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
+
+ DVDescargaPagos.Visible = False
+ LnkDescargaCuentas1.Text = NombreArchivoBancomer
+ LnkDescargaCuentas2.Text = NombreArchivoInterbancario
+ RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
+
+ UpModalDescarga.Update()
+
+ 'Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
+
+
End If
CargaDatos()
@@ -2170,214 +1737,7 @@ Partial Class Bancos_PagoElectronicoGrupos
UpProveedores.Update()
End Sub
- 'Private Sub GeneraAltaFyE()
- ' Dim DtTemp As DataTable = Nothing
- ' 'REINICIA PROPIEDAS
- ' HeaderTexto = ""
- ' DetalleTexto = ""
- ' TrailerTexto = ""
- ' TotalAcumulado = 0
- ' CreaDtAlta()
-
- ' DtTemp = DTFyE
-
- ' ''VALIDA CUENTAS DEPOSITOS
- ' Dim ErrorCuenta = False
- ' Dim FyEError As StringBuilder = New StringBuilder
- ' FyEError.AppendFormat("
Personal
Cuenta
Error
")
-
- ' Dim TotalDetalles As Integer = 0
- ' Dim EsBancomer = False
- ' For Each gvr As DataRow In DtTemp.Rows
- ' If gvr("CvePersonal").ToString <> "" AndAlso gvr("EstatusPagoElectronico").ToString <> "True" AndAlso gvr("AltaCuenta").ToString = "1" Then
- ' DTPendienteActual = DtTemp.FiltraParametros(String.Format("CveCuentaDeposito = {0}", gvr("CveCuentaDeposito").ToString))
- ' ErrorCuenta = False
- ' EsBancomer = False
-
- ' If DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BBVA") Or DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BANCOMER") Or (DTPendienteActual(0)("CLABE").ToString.Length = 18 AndAlso DTPendienteActual(0)("CLABE").ToString.Substring(0, 3) = "012") Then
- ' EsBancomer = True
- ' End If
-
- ' 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER
- ' If Not ErrorCuenta Then
- ' If DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 18 And DTPendienteActual(0)("CLABE").ToString.Trim.Length = 0 And Not EsBancomer Then
- ' FyEError.AppendFormat("
{0}
{1}
CLABE ES OBLIGATORIA
", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString)
- ' ErrorCuenta = True
- ' End If
- ' End If
-
- ' 'SI CUENTA TIENE ALGO Y BANCO BANCOMER DEBE TENER UNA LOGITUD EXACTA DE 10
- ' If Not ErrorCuenta Then
- ' If DTPendienteActual(0)("Cuenta").ToString.Trim.Length <> 0 AndAlso DTPendienteActual(0)("Cuenta").ToString.Trim.Length <> 10 AndAlso EsBancomer Then
- ' FyEError.AppendFormat("
{0}
{1}
NUMERO DE CUENTA CON FORMATO INCORRECTO
", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString)
- ' ErrorCuenta = True
- ' End If
- ' End If
-
- ' 'SI CLABE TIENE ALGO DEBE TENER UNA LOGITUD EXACTA DE 18
- ' If Not ErrorCuenta Then
- ' If DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 0 AndAlso DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 18 Then
- ' FyEError.AppendFormat("
{0}
{1}
CLABE CON FORMATO INCORRECTO
", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString)
- ' ErrorCuenta = True
- ' End If
- ' End If
-
- ' 'SI CIE TIENE ALGO DEBE TENER REFERENCIA OBLIGATORIA
- ' If Not ErrorCuenta Then
- ' If DTPendienteActual(0)("CIE").ToString.Trim.Length <> 0 And DTPendienteActual(0)("Referencia").ToString.Trim.Length < 3 Then
- ' FyEError.AppendFormat("
{0}
{1}
CIE CON FORMATO INCORRECTO
", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString)
- ' ErrorCuenta = True
- ' End If
- ' End If
-
- ' 'CUANDO SEA "BBVA" O "BANCOMER" DEBE TENER "CIE" O "CUENTA"
- ' If Not ErrorCuenta Then
- ' If EsBancomer AndAlso Not (DTPendienteActual(0)("Cuenta").ToString.Trim.Length = 10 Or DTPendienteActual(0)("CIE").ToString.Trim.Length <> 0) Then
- ' FyEError.AppendFormat("
{0}
{1}
CUENTA BANCOMER SIN CUENTA O CIE
", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString)
- ' ErrorCuenta = True
- ' End If
- ' End If
-
- ' If Not ErrorCuenta Then
- ' If TotalDetalles > 0 Then
- ' DetalleTexto &= vbCrLf
- ' End If
- ' GeneraAltaDetalleFyE()
- ' TotalDetalles += 1
- ' End If
-
- ' End If
- ' Next
- ' FyEError.AppendFormat("
")
-
-
- ' If TotalDetalles > 0 Then
- ' FormarTextoAltaFyE(TotalDetalles)
- ' CreaArchivo(2)
-
- ' Dim Descargas As New StringBuilder()
- ' Descargas.AppendFormat("
", FyEError.ToString)
-
- ' Alert(String.Format(" El Layout fue creado satisfactoriamente.{1} Descargas:
{0}
", Descargas, TextoErrorProveedores), TipoMensaje.MsgInformacion)
-
- ' 'NombreArchivo = "LayoutAltaProveedores"
- ' 'DescargarArchivo()
- ' Else
- ' Alert("No hay proveedores que dar de alta", TipoMensaje.MsgInformacion)
- ' End If
-
-
- 'End Sub
-
- 'Private Sub GeneraAltaDetalleFyE()
- ' Dim Resultado = True
- ' Dim CuentaDeposito As String = ""
- ' Dim TipoCuentaDeposito As String = ""
- ' Dim TipoCuenta As String = ""
-
- ' ''''' LLENADO DE DETALLE
- ' 'Campos #1-4 del Detalle
- ' DetalleTexto &= String.Format("DA{0}N ", DTPendienteActual(0)("CveCuentaDeposito").ToString.ToUpper.PadLeft(30, PadCeros))
-
- ' 'Banco BBVA
- ' If DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BBVA") Or DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BANCOMER") Then
- ' 'Llenamos datos de BBVA
- ' 'Campo #5-7 del detalle
-
- ' 'Busca que cuenta sera la asignada para el proveedor
- ' If DTPendienteActual(0)("CIE").ToString <> "" Then
- ' CuentaDeposito = String.Format("02{0}", DTPendienteActual(0)("CIE").ToString.PadLeft(8, PadCeros))
- ' TipoCuenta = "50"
- ' TipoCuentaDeposito = "CIE"
- ' ElseIf DTPendienteActual(0)("Cuenta").ToString.Length = 10 Then
- ' CuentaDeposito = DTPendienteActual(0)("Cuenta").ToString
- ' TipoCuenta = "99"
- ' TipoCuentaDeposito = "Cuenta"
- ' ElseIf DTPendienteActual(0)("CLABE").ToString.Length = 18 Then
- ' CuentaDeposito = DTPendienteActual(0)("CLABE").ToString
- ' TipoCuenta = "40"
- ' TipoCuentaDeposito = "CLABE"
- ' End If
-
-
- ' DetalleTexto &= String.Format("{0}{1}{2}", DTPendienteActual(0)("Abreviatura").ToString, TipoCuenta, CuentaDeposito.PadLeft(35, PadCeros))
-
- ' 'Llenamos en blanco datos de otros bancos
- ' 'Campos 8-17 del detalle --- 64 de otros bancos y 45 para FILLER --- Fecha de Alta
- ' DetalleTexto &= String.Format("{0}{1}", Vacio.PadLeft(109), DateTime.Now().ToString("yyyy-MM-dd"))
-
-
- ' 'Otros Bancos NACIONAL!!
- ' Else
-
- ' CuentaDeposito = DTPendienteActual(0)("CLABE").ToString
- ' TipoCuentaDeposito = "CLABE"
-
- ' 'Llenamos en blanco datos de BBVA
- ' DetalleTexto &= Vacio.PadRight(40)
-
- ' 'Llenamos datos de otros bancos
- ' 'Campos 8- 17 del detalle --- 44 de otros bancos --- 20 de internacional --- 45 Filler -- Fecha de Alta
- ' DetalleTexto &= String.Format("{0}40{1}{2}{3}{4}{5}", DTPendienteActual(0)("Abreviatura").ToString, DTPendienteActual(0)("CLABE").ToString.PadLeft(35, PadCeros), DTPendienteActual(0)("CLABE").ToString.Substring(0, 3).PadLeft(4, PadCeros), Vacio.PadRight(20), Vacio.PadRight(45), DateTime.Now().ToString("yyyy-MM-dd"))
- ' End If
-
- ' 'Llenamos datos de Tipo de Persona - Fisica
- ' ' nombres Primer apellido Segundo apellido
- ' DetalleTexto &= String.Format("F{0}{1}{2}{3}", Vacio.PadRight(70), DTPendienteActual(0)("Nombres").ToString.PadRight(20).Substring(0, 20), DTPendienteActual(0)("APaterno").ToString.PadRight(20).Substring(0, 20), DTPendienteActual(0)("AMaterno").ToString.PadRight(20).Substring(0, 20))
-
- ' 'Campo 25-26 del detalle -- Fecha Nacimiento -- RFC
- ' DetalleTexto &= String.Format("{0}{1}", DTPendienteActual(0)("FechaNacimiento").ToString.ToDate.ToString("yyyy-MM-dd"), DTPendienteActual(0)("RFC").ToString.ToUpper.PadRight(14))
-
- ' 'Campos 27-32 --- Fillers --- datos de otros bancos (internacional)
- ' DetalleTexto &= Vacio.PadLeft(153)
-
- ' 'Campos 33-36 --- Datos de confirmacion
- ' DetalleTexto &= String.Format("{0}02{1}", Vacio.PadRight(40), CorreoNotificacionesEmpresa.ToUpper.PadRight(50))
-
- ' 'If DTPendienteActual(0)("ContactoMail").ToString.Length > 0 Then
- ' ' 'DetalleTexto &= String.Format("{0}02{1}", Vacio.PadRight(40), DTPendienteActual(0)("ContactoMail").ToString.ToUpper.PadRight(50))
- ' 'ElseIf DTPendienteActual(0)("ContactoMail").ToString.Length <= 0 Then
- ' ' DetalleTexto &= String.Format("{0}00{1}", Vacio.PadRight(40), Vacio.PadRight(50))
- ' 'End If
-
- ' 'Campos 37-39 -- FILLER
- ' DetalleTexto &= String.Format("00{0}", Vacio.PadRight(38))
-
-
- ' ''LLENA DT PARA REPORTE
- ' Dim Row = DtAlta.NewRow()
- ' Row("Proveedor") = DTPendienteActual(0)("RazonSocial").ToString
- ' Row("Banco") = DTPendienteActual(0)("BancoNombre").ToString
- ' Row("TipoCuenta") = TipoCuentaDeposito
- ' Row("Cuenta") = String.Format("{0}", CuentaDeposito)
- ' DtAlta.Rows.Add(Row)
- 'End Sub
-
- 'Protected Sub FormarTextoAltaFyE(Registros As Integer)
- ' '''''' LLENADO HEADER
- ' Dim convenio As String = DTPendienteActual(0)("ConvenioPagoElectronico").ToString
- ' 'Campos #1-4 del Header
- ' HeaderTexto = String.Format("H{0}{1}GRUPO01 ", convenio.PadLeft(9, PadCeros), DateTime.Now().ToString("yyyy-MM-dd"))
- ' 'Campo #5 del Header
- ' HeaderTexto &= String.Format("{0}{1}", UsuarioActual.CveUsuario, DateTime.Now().ToString("yyyyMMdd")).PadRight(20)
- ' 'Campos #6-8 del Header
- ' HeaderTexto &= String.Format("00").PadRight(586)
- ' Dim HeaderLength = HeaderTexto.Length
-
- ' ''''' LLENADO DE TRAILER
- ' TrailerTexto = String.Format("T{0}{1}{2}", Registros.ToString.PadLeft(10, PadCeros), Vacio.PadRight(50, PadCeros), Vacio.PadRight(575))
-
- ' ''''' ARMADO DEL TEXTO COMPLETO
- ' TextoCompleto = String.Format("{1}{0}{2}{0}{3}{0}", vbCrLf, HeaderTexto, DetalleTexto, TrailerTexto)
- ' 'TxtAltas.Text = TextoCompleto
- 'End Sub
#End Region
@@ -2496,15 +1856,10 @@ Partial Class Bancos_PagoElectronicoGrupos
Dim Mail As New ClsSisMail()
Dim Para As String = Parametros(0)
Dim Asunto As String = Parametros(1)
- Dim Body As String = Parametros(2)
-
- 'NO SE OCUPAN
- 'Dim CveIE As Integer = Parametros(3).ToEntero
- 'Dim CveTipoTransaccion As Integer = Parametros(4).ToEntero
- 'Dim Estatus As Integer = If(CveTipoTransaccion = 2, 2, 1) ' cuando es transferencia, no lo pasa por entregar
-
- ' Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
+ Dim Body As String = Parametros(2)
+
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
+
End Sub
Private Function GeneraCorreo(CveIE As Integer, objIE As ClsBancos) As String
@@ -2656,6 +2011,7 @@ Partial Class Bancos_PagoElectronicoGrupos
Return strBody.ToString
End Function
+
#End Region
#Region " GENERA CORREO 2"
@@ -3146,6 +2502,470 @@ Partial Class Bancos_PagoElectronicoGrupos
End Sub
+ Protected Sub BtnConsultaEnviados_Click(sender As Object, e As EventArgs)
+ CargaEnviados()
+ End Sub
+
+ Private Sub CargaEnviados()
+
+ Dim ObjBancos As New ClsBancos
+ Dim FechaI = If(IsDate(txtFechaIEnviados.Text.Trim()), txtFechaIEnviados.Text.Trim(), "-1")
+ Dim FechaF = If(IsDate(txtFechaFEnviados.Text.Trim()), txtFechaFEnviados.Text.Trim(), "-1")
+
+ If ObjBancos.GetLayoutPagosEnviados(DdlCuentaEnviados.SelectedValue.ToEntero, DdlEstatusEnviados.SelectedValue.ToEntero, "-1", FechaI, FechaF, PorGrupos:=True) Then
+ DTEnviadas = ObjBancos.DtResultados
+ Else
+ DTEnviadas = Nothing
+ End If
+
+ ObjBancos.Dispose()
+
+ 'Carga GvEnviadas
+ If DTEnviadas IsNot Nothing AndAlso DTEnviadas.Rows.Count > 0 Then
+ GvEnviadas.DataSource = DTEnviadas
+ End If
+
+ GvEnviadas.DataBind()
+ UpEnviados.Update()
+
+ End Sub
+
+ Property CveIEPagoActual As Integer
+ Get
+ If ViewState("CveIEPagoActual") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveIEPagoActual").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("CveIEPagoActual") = value
+ End Set
+ End Property
+
+ Property CveLayoutEnvioDetalleActual As Integer
+ Get
+ If ViewState("CveLayoutEnvioDetalleActual") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveLayoutEnvioDetalleActual").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("CveLayoutEnvioDetalleActual") = value
+ End Set
+ End Property
+
+ Property GvIndexActual As Integer
+ Get
+ If ViewState("GvIndexActual") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("GvIndexActual").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("GvIndexActual") = value
+ End Set
+ End Property
+
+
+ Protected Sub ImgUpload_Click(sender As Object, e As EventArgs)
+
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+ CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero
+
+ ' HFComprobanteActual = GvRow.FCHiddenField("HFComprobante")
+
+ GvIndexActual = GvRow.RowIndex
+
+
+ RegistraScript("$('#ModalUploadComprobante').modal({ backdrop: 'static', keyboard: false});")
+
+ End Sub
+
+ Protected Sub btnUploadFileComprobante_Click(sender As Object, e As EventArgs)
+
+ Dim FileExtension As String = "-1"
+ Dim Filesgral As List(Of Archivo) = TxtFileComprobante.getfiles().Archivos
+ Dim Filename As String = ""
+ Dim ErrorProceso As Boolean = False
+
+
+ For Each fileItem As Archivo In Filesgral
+
+ Try
+
+ FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
+ Dim tempArray() As String
+ tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
+
+
+ If Not ErrorProceso Then
+
+ Dim DirectorioDestino As String = UsuarioActual.Empresa.Ruta & $"..\Temp\"
+ Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & $"..\Temp\{CveIEPagoActual}.{FileExtension}"
+
+
+ If Not Directory.Exists(DirectorioDestino) Then
+ Directory.CreateDirectory(DirectorioDestino)
+ End If
+
+ Try
+
+ If System.IO.File.Exists(rutaDestino) Then
+ System.IO.File.Delete(rutaDestino)
+ End If
+
+ GvEnviadas.Rows(GvIndexActual).FCTextBox("TxtComprobante").Text = $"{CveIEPagoActual}.{FileExtension}"
+
+
+ System.IO.File.Move(fileItem.FileUrl, rutaDestino)
+
+ Catch ex As Exception
+ Alert("Error al cargar al", TipoMensaje.MsgAdvertencia)
+ GuardaLog($"Error al gaurdar documento (moviendo archivo digital) --> Error{ ex.StackTrace}")
+ ErrorProceso = True
+ End Try
+ End If
+
+
+ TxtFileComprobante.Text = ""
+
+
+
+
+ UPModalUploadComprobante.Update()
+
+ Catch ex As Exception
+ OnError("Error al cargar archivo", ex)
+ End Try
+
+ Next
+
+ If Not ErrorProceso Then
+ RegistraScript("$('#ModalUploadComprobante').modal('hide')", "hidemodal3")
+ UpEnviados.Update()
+ End If
+
+
+
+
+
+ End Sub
+
+
+ Protected Sub LnkGvConfirmar_Click(sender As Object, e As EventArgs)
+
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+ CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero
+ Dim Comprobante As String = If(GvRow.FCTextBox("TxtComprobante").Text.Trim = "", "-1", GvRow.FCTextBox("TxtComprobante").Text.Trim)
+ Dim NuevoFolio As String = If(GvRow.FCTextBox("TxtFolio").Text.Trim = "", "-1", GvRow.FCTextBox("TxtFolio").Text.Trim)
+
+ Dim ErrorProceso As Boolean = False
+ Dim ObjBanco As New ClsBancos
+ 'ObjBanco.IniciaTransacSQL()
+
+ Dim CveLayoutEnvioDetalle As Integer = GvRow.DataKey("CveLayoutEnvioDetalle").ToEntero
+ Dim CveLayoutEnvio As Integer = GvRow.DataKey("CveLayoutEnvio").ToEntero
+ Dim CveIE As Integer = GvRow.DataKey("CveIE").ToEntero
+ Dim CveProveedor As Integer = GvRow.DataKey("CveProveedor").ToEntero
+
+
+ If Not ObjBanco.UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle, CveLayoutEnvio, CveIE, CveProveedor, 2, "", True) Then
+ ErrorProceso = True
+ End If
+
+
+ If NuevoFolio <> "-1" Or Comprobante <> "-1" And Not ErrorProceso Then
+ If Not ObjBanco.UpdateBancos_IEFolio(CveIE, NuevoFolio, Comprobante) Then
+ ErrorProceso = True
+ End If
+ End If
+
+
+ If Comprobante <> "-1" And Not ErrorProceso Then
+
+ Try
+
+ Dim FOrigen As String = $"{UsuarioActual.Empresa.Ruta}..\Temp\{Comprobante}"
+ Dim FDestino As String = $"{UsuarioActual.Empresa.Ruta}\IE\{Comprobante}"
+
+ If File.Exists(FDestino) Then
+ File.Delete(FDestino)
+ End If
+
+ File.Move(FOrigen, FDestino)
+
+ Catch ex As Exception
+ ErrorProceso = True
+ Alert("Error al guardar comprobante.", TipoMensaje.MsgError)
+ End Try
+
+ End If
+
+
+
+ If ErrorProceso Then
+ ObjBanco.RollBack()
+ Else
+ ObjBanco.Commit()
+ Alert("Confirmado Correctamente")
+ End If
+
+
+ ObjBanco.Dispose()
+
+ End Sub
+
+
+
+
+ Protected Sub LnkGvCancelar_Click(sender As Object, e As EventArgs)
+
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+ CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero
+
+
+ Dim ErrorProceso As Boolean = False
+ Dim ObjBanco As New ClsBancos
+
+
+ Dim CveLayoutEnvioDetalle As Integer = GvRow.DataKey("CveLayoutEnvioDetalle").ToEntero
+ Dim CveLayoutEnvio As Integer = GvRow.DataKey("CveLayoutEnvio").ToEntero
+ Dim CveIE As Integer = GvRow.DataKey("CveIE").ToEntero
+ Dim CveProveedor As Integer = GvRow.DataKey("CveProveedor").ToEntero
+ Dim IDPoliza As Integer = -1
+ Dim CvePrePoliza As Integer
+ Dim FechaDocumento As Date
+
+ If Not ObjBanco.UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle, CveLayoutEnvio, CveIE, CveProveedor, 3, "", False) Then '3 es cancelacion
+ ErrorProceso = False
+ End If
+
+ 'Dim NumComplementos As Integer
+ 'Dim Conciliado As Integer
+
+ If ObjBanco.GetBancosIE(CveIE, UsuarioActual.CveEmpresa) And Not ErrorProceso Then
+
+
+ If ObjBanco.DtResultados(0)("NumComplementos").ToString.ToEntero > 0 Then
+ ErrorProceso = True
+ Alert("El Moviento tiene Complementos", TipoMensaje.MsgAdvertencia)
+ End If
+
+ If ObjBanco.FueConciliado Then
+ ErrorProceso = True
+ Alert("El Moviento Esta conciliado", TipoMensaje.MsgAdvertencia)
+ End If
+
+
+ IDPoliza = ObjBanco.IDPoliza
+ CvePrePoliza = ObjBanco.DtResultados.Rows(0)("CvePrePoliza").ToString.ToEntero
+ FechaDocumento = ObjBanco.FechaDocumento
+
+ End If
+ ObjBanco.Dispose()
+
+
+ If Not ErrorProceso Then
+
+
+
+ Dim Banc As New ClsBancos
+ Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL())
+
+ Dim ObjAC As ClsContPAQi = Nothing
+ If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
+ ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjAC.IniciaTransacSQL()
+ End If
+
+ Dim FechaCancelacion As Date = Now
+
+ Dim ErrorCancelar = False
+ Dim MensajeError = ""
+ Dim IdPolizaNueva = -1
+ Dim FolioPolizaNueva = -1
+
+ If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then
+
+ If ObjAC Is Nothing Then
+ ErrorCancelar = True
+ End If
+
+ If Not ErrorCancelar Then
+ Dim dt As DataTable
+
+ If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then
+ dt = ObjAC.DtResultados
+
+ ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS)
+ If dt.Rows(0)("FechaPol").ToString.ToDate < FechaCancelacion.FirstDayOfMonth Then 'dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
+ IdPolizaNueva = ObjAC.AddPoliza(dt.Rows(0)("CodigoTipoPoliza").ToString.ToEntero, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, FechaCancelacion)
+ If IdPolizaNueva > 0 Then
+ FolioPolizaNueva = ObjAC.Folio
+
+ 'CREA POLIZA NEGATIVA
+ For Each dr As DataRow In dt.Rows
+ If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, FechaCancelacion, "") Then
+ ErrorCancelar = True
+ MensajeError = "Error al crear poliza negativa"
+ Exit For
+ End If
+ Next
+
+ 'AJUSTA POLIZA
+ If Not ErrorCancelar Then
+ If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then
+ ErrorCancelar = True
+ MensajeError = "Error al ajustar poliza negativa"
+ End If
+ End If
+
+ 'CANCELA IE
+ If Not ErrorCancelar Then
+ If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE"
+ End If
+ End If
+
+ Else
+ ErrorCancelar = True
+ End If
+
+ Else
+
+ If ObjAC.RemovePoliza(IDPoliza) Then
+ If Not ObjConta.DesvincularPrePolizaContabilizada(IDPoliza, UsuarioActual.CveEmpresa) Then
+ ErrorCancelar = True
+ MensajeError = "Error al desvincular poliza."
+ End If
+ Else
+ ErrorCancelar = True
+ MensajeError = "Error al eliminar poliza."
+ End If
+
+ If Not ErrorCancelar Then
+ If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
+ ErrorCancelar = True
+ MensajeError = "Error al desbloquear prepoliza."
+ End If
+ End If
+
+ 'CANCELA IE
+ If Not ErrorCancelar Then
+ If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE"
+ End If
+ End If
+
+ If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then
+ ErrorCancelar = True
+ MensajeError = "Error al contabilizar poliza"
+ End If
+
+ End If
+ Else
+ ErrorCancelar = True
+ MensajeError = "Error al obtener la poliza"
+ End If
+ End If
+
+ Else
+
+ ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then
+ If FechaDocumento < FechaCancelacion.FirstDayOfMonth Then
+ 'CANCELA IE MES ANTERIOR
+ If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE MES ANTERIOR"
+ End If
+ Else
+ 'CANCELA IE MES ACTUAL
+ If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then
+ ErrorCancelar = True
+ MensajeError = "Error al cancelar IE MES ACTUAL"
+ End If
+ End If
+ End If
+
+
+
+ If Not ErrorCancelar Then
+
+
+
+ If ObjAC IsNot Nothing Then ObjAC.Commit()
+ Banc.Commit()
+ Dim Msg As New StringBuilder
+
+ If IdPolizaNueva > 0 Then
+ Msg.AppendFormat("
Ver Póliza de cancelación", IdPolizaNueva)
+ Else
+ Msg.Append("Pago Cancelado Correctamente.")
+ End If
+
+ Alert(Msg.ToString, TipoMensaje.MsgInformacion)
+
+ Else
+
+ If ObjAC IsNot Nothing Then ObjAC.RollBack()
+ Banc.RollBack()
+ Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError)
+ GuardaLog(MensajeError + " | CANCELAR IE")
+
+ End If
+
+ If ObjAC IsNot Nothing Then ObjAC.Dispose()
+ Banc.Dispose()
+ ObjConta.Dispose()
+
+
+ End If
+
+ End Sub
+
+
+
+
+
+
+
+
+ Protected Sub LnkDescarga_Click(sender As Object, e As EventArgs)
+
+ Dim FileName As String = NombreArchivo
+ Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivo}"
+ Response.Clear()
+ Response.ContentType = "application/octet-stream"
+ Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName)
+ Response.TransmitFile(FilePath)
+ Response.End()
+
+ End Sub
+
+
+ Protected Sub LnkDescargaCuentas1_Click(sender As Object, e As EventArgs)
+ Dim FileName As String = NombreArchivoBancomer
+ Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivoBancomer}"
+ Response.Clear()
+ Response.ContentType = "application/octet-stream"
+ Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName)
+ Response.TransmitFile(FilePath)
+ Response.End()
+ End Sub
+ Protected Sub LnkDescargaCuentas2_Click(sender As Object, e As EventArgs)
+ Dim FileName As String = NombreArchivo
+ Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivo}"
+ Response.Clear()
+ Response.ContentType = "application/octet-stream"
+ Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName)
+ Response.TransmitFile(FilePath)
+ Response.End()
+ End Sub
End Class
diff --git a/Bancos/PopUpBuscarIE.aspx.vb b/Bancos/PopUpBuscarIE.aspx.vb
index 28e66b31b..d46b4d027 100644
--- a/Bancos/PopUpBuscarIE.aspx.vb
+++ b/Bancos/PopUpBuscarIE.aspx.vb
@@ -74,7 +74,7 @@ Partial Class Bancos_PopUpBuscarIE
Dim ObjBancosIE As New ClsBancos
If ObjBancosIE.GetBancosIE(-1, DdlBanco.SelectedValue.ToEntero, DdlCuenta.SelectedValue.ToEntero, "-1", -1, Folio, "-1", -1, -1, -1, -1, -1, txtFechaI.Text.ToDate,
- MaxFecha.ToShortDateString.ToDate, MinFecha, MaxFecha, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa) Then
+ MaxFecha.ToShortDateString.ToDate, MinFecha, MaxFecha, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa, TopSelect:=100) Then
DtDatos = ObjBancosIE.DtResultados 'If(TxtFolio.Text <> "", ObjBancosIE.DtResultados.FiltraParametros(String.Format("Folio Like '{0}'", TxtFolio.Text)), ObjBancosIE.DtResultados)
Else
Alert("Ocurrió un error al consultar los Anticipos", TipoMensaje.MsgError)
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 3a995a94f..8561e3009 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -2164,9 +2164,9 @@ Partial Class Compras_Compras
DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4"))
- If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
- DdlRetIVAConcepto.Items.Add(New ListItem("Ret IVA Servicios", "5"))
- End If
+ 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
+ DdlRetIVAConcepto.Items.Add(New ListItem("Ret IVA Servicios", "5"))
+ 'End If
End If
@@ -2315,23 +2315,23 @@ Partial Class Compras_Compras
'ASIGNA VALORES ORIGINALES PARA GUARDAR
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
- If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
+ 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
- If RetencionIVA = 0 And IVAOriginal > 0 Then
- For Each dRow As DataRow In TmpDT.Rows
- If dRow("CveTipoPS").ToString.ToEntero = 1 Then
+ ' If RetencionIVA = 0 And IVAOriginal > 0 Then
+ ' For Each dRow As DataRow In TmpDT.Rows
+ ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then
- 'comentado para reubicar el boton
- 'tdIVA6.Visible = True
+ ' 'comentado para reubicar el boton
+ ' 'tdIVA6.Visible = True
- Exit For
- End If
- Next
- End If
+ ' Exit For
+ ' End If
+ ' Next
+ ' End If
- End If
+ 'End If
End Sub
@@ -6045,7 +6045,12 @@ Partial Class Compras_Compras
End If
- If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
+ 'Codigo anterior
+ 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero
+ 'End If
+
+ If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero
End If
@@ -8855,11 +8860,14 @@ Partial Class Compras_Compras
End If
- If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
+ 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero
+ 'End If
+
+ If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero
End If
-
End If
End If
@@ -15258,6 +15266,9 @@ Partial Class Compras_Compras
If Math.Abs(SubTotalGV - SubTotalCompra) < DiferenciaPermitida Then
LbSubTotalDif.Visible = False
Vinculacion()
+ ElseIf Math.Abs(SubTotalGV - SubTotalCompra) > DiferenciaPermitida And LblAmortizacion.Text.ToDecimal > 0 Then '2020-06-08 Oscar Permitir vincular cuando hay amortizacion de NC
+ LbSubTotalDif.Visible = False
+ Vinculacion()
ElseIf Math.Abs(SubTotalGV - (SubTotalCompra - LbAnticiposOC2.Text.ToDecimal)) < DiferenciaPermitida Then
LbSubTotalDif.Visible = False
Vinculacion()
@@ -17525,23 +17536,23 @@ Partial Class Compras_Compras
GuardaAC()
End If
- If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
+ 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
- 'If UsuarioActual.CveRol = 1 Then
- ' Alert($"Ok funcionalidad 577 RetencionIVA { RetencionIVA} IVAOriginal {IVAOriginal}")
- 'End If
+ ' 'If UsuarioActual.CveRol = 1 Then
+ ' ' Alert($"Ok funcionalidad 577 RetencionIVA { RetencionIVA} IVAOriginal {IVAOriginal}")
+ ' 'End If
- If RetencionIVA = 0 And IVAOriginal > 0 Then
- For Each dRow As DataRow In TmpDT.Rows
- If dRow("CveTipoPS").ToString.ToEntero = 1 Then
- 'Comnetado para reubicar el boton
- 'tdIVA6.Visible = True
- Exit For
- End If
- Next
- End If
+ ' If RetencionIVA = 0 And IVAOriginal > 0 Then
+ ' For Each dRow As DataRow In TmpDT.Rows
+ ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then
+ ' 'Comnetado para reubicar el boton
+ ' 'tdIVA6.Visible = True
+ ' Exit For
+ ' End If
+ ' Next
+ ' End If
- End If
+ 'End If
diff --git a/Compras/PopUpBuscarFolioC.aspx.vb b/Compras/PopUpBuscarFolioC.aspx.vb
index 07f3e27be..de4e0e45b 100644
--- a/Compras/PopUpBuscarFolioC.aspx.vb
+++ b/Compras/PopUpBuscarFolioC.aspx.vb
@@ -57,7 +57,7 @@ Partial Class Compras_PopUpBuscarFolioC
If ValidarUnFiltroSeleccionado() Then
Dim ObjCompras As New ClsCompras()
If ObjCompras.GetCompras(UsuarioActual.CveEmpresa, DdlTipoDocto.SelectedValue, Folio, FolioFiscal, Codigo, Proveedor, FechaI, FechaF, Descripcion, Obs,
- CveProveedor:=DdlProveedor.SelectedValue.ToEntero) Then
+ CveProveedor:=DdlProveedor.SelectedValue.ToEntero, TopSelect:=100) Then
If ObjCompras.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjCompras.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjCompras.DtResultados
@@ -111,7 +111,8 @@ Partial Class Compras_PopUpBuscarFolioC
If TxtFolioFiscal.Text.Trim.Length > 0 Then Return True
If TxtDescripcion.Text.Trim.Length > 0 Then Return True
If TxtObservaciones.Text.Trim.Length > 0 Then Return True
- If DdlTipoDocto.SelectedValue.ToEntero > 0 Then Return True
+ If DdlTipoDocto.SelectedValue <> "-1" Then Return True
+ If DdlProveedor.SelectedValue.ToEntero <> 0 Then Return True
Return False
End Function
End Class
diff --git a/Compras/PopUpBuscarProveedor.aspx.vb b/Compras/PopUpBuscarProveedor.aspx.vb
index e86761bd7..cef681977 100644
--- a/Compras/PopUpBuscarProveedor.aspx.vb
+++ b/Compras/PopUpBuscarProveedor.aspx.vb
@@ -61,7 +61,8 @@ Partial Class Compras_PopUpBuscarProveedor
CveTipoProveedor = DdlTipoProveedor.SelectedValue.ToEntero
If ValidarUnFiltroSeleccionado() Then
- If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, Codigo, RazonSocial, NombreComercial, NombreCorto, RFC, Contacto, Telefono, -1, UsuarioActual.CveEmpresa, CveTipoProveedor:=CveTipoProveedor) Then
+ If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, Codigo, RazonSocial, NombreComercial, NombreCorto, RFC, Contacto, Telefono, -1,
+ UsuarioActual.CveEmpresa, CveTipoProveedor:=CveTipoProveedor, TopSelect:=100) Then
If ObjProveedor.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjProveedor.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjProveedor.DtResultados
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index afbf7ad7b..0ae95cb69 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -3108,7 +3108,7 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("Sucursal", "Sucursal"))
params.Add(New ReportParameter("Cliente", NombreCliente))
- ImprimirPDF(String.Format("Empresas/{0}/Formatos/RepUsadosEntradas.rdlc", UsuarioActual.CveEmpresa), DtMovimientos, params, "Reporte entrada usados", "PDF", "DsInventarios")
+ ImprimirPDF(String.Format("Empresas/{0}/Formatos/UsadosEntradas.rdlc", UsuarioActual.CveEmpresa), DtMovimientos, params, "Reporte entrada usados", "PDF", "DsInventarios")
Case 7
Dim params As New List(Of ReportParameter)
Dim CiudadSucursal As String = ""
diff --git a/Contabilidad/RegPoliza.aspx.vb b/Contabilidad/RegPoliza.aspx.vb
index ecd4b6116..9b2e4f077 100644
--- a/Contabilidad/RegPoliza.aspx.vb
+++ b/Contabilidad/RegPoliza.aspx.vb
@@ -1759,7 +1759,7 @@ Partial Class RegPoliza
End Sub
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
Dim dt As New DataTable
- Dim Conexion As Odbc.OdbcConnection = Nothing
+ 'Dim Conexion As Odbc.OdbcConnection = Nothing
Dim ErrorArchivo = False
Dim n As Integer = 0
Try
@@ -1772,7 +1772,7 @@ Partial Class RegPoliza
'cmd.CommandText = "Select * FROM [Hoja1$]"
'Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
'DataAdapter.Fill(dt)
- dt = Extensiones.ModExtensiones.ReadExcelFile(String.Format("{0}{1}", Ruta, FileName), True)
+ dt = Extensiones.ModExtensiones.ReadExcelFile(String.Format("{1}", Ruta, FileName), True)
Case Else
Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
Exit Sub
@@ -1781,7 +1781,7 @@ Partial Class RegPoliza
ErrorArchivo = True
OnError("Ocurrio un Error al leer el archivo " & ex.Message, ex)
End Try
- Conexion.Close()
+ 'Conexion.Close()
If Not ErrorArchivo Then
If Not dt.Columns(0).ColumnName = "Referencia" Then
Alert("El nombre de la primera columna debe ser 'Referencia'.Favor de corregirlo", TipoMensaje.MsgError)
@@ -1881,7 +1881,7 @@ Partial Class RegPoliza
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb", "xls"), "EXCEL", "CSV")
- CargarArchivo(Directorio, file.filename, Tipo)
+ CargarArchivo(Directorio, file.FileUrl, Tipo)
Else
Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError)
End If
diff --git a/Inventarios/AjustesSeccionAlmacen.aspx b/Inventarios/AjustesSeccionAlmacen.aspx
index c54c8728c..ac203fa05 100644
--- a/Inventarios/AjustesSeccionAlmacen.aspx
+++ b/Inventarios/AjustesSeccionAlmacen.aspx
@@ -54,7 +54,7 @@
-
+
diff --git a/Inventarios/AjustesSeccionAlmacen.aspx.vb b/Inventarios/AjustesSeccionAlmacen.aspx.vb
index ec0aeb1f9..e00c268dd 100644
--- a/Inventarios/AjustesSeccionAlmacen.aspx.vb
+++ b/Inventarios/AjustesSeccionAlmacen.aspx.vb
@@ -1,6 +1,7 @@
Imports System.Data
Imports Extensiones
+Imports GemBox.Spreadsheet
Partial Class Inventarios_AjustesSeccionAlmacen
Inherits ClsPaginas
@@ -145,21 +146,69 @@ Partial Class Inventarios_AjustesSeccionAlmacen
End Sub
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles LbDescargarExcel.Click, BtnDescargar.Click
- Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoAjusteSecCad.xlsx"
- Dim Archivo As New IO.FileInfo(Directorio)
- If Archivo.Exists Then
- Response.Clear()
- Response.ClearHeaders()
- Response.ClearContent()
- Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
- Response.AddHeader("Content-Length", Archivo.Length.ToString())
- Response.ContentType = "text/plain"
- Response.Flush()
- Response.TransmitFile(Archivo.FullName)
- Response.End()
+ If GvD.Rows.Count > 0 Then
+ DescargarExcel()
+ Else
+ Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoAjusteSecCad.xlsx"
+ Dim Archivo As New IO.FileInfo(Directorio)
+ If Archivo.Exists Then
+ Response.Clear()
+ Response.ClearHeaders()
+ Response.ClearContent()
+ Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
+ Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ Response.ContentType = "text/plain"
+ Response.Flush()
+ Response.TransmitFile(Archivo.FullName)
+ Response.End()
+ End If
End If
End Sub
+ Private Sub DescargarExcel()
+ Dim DtExcel As DataTable = (From row As GridViewRow In GvD.Rows
+ Where row.RowType = DataControlRowType.DataRow
+ Select New With
+ {
+ .Cantidad = row.DataKey("Existencia"),
+ .Codigo = row.DataKey("Codigo"),
+ .PS = row.DataKey("PS"),
+ .SeccionAlmacen = row.DataKey("SeccionAlmacen"),
+ .Serie = row.DataKey("Serie"),
+ .Lote = row.DataKey("Lote"),
+ .FechaCaducidad = row.DataKey("FechaCaducidad")
+ }).QueryToDataTable(True)
+ If DtExcel.Rows.Count < 1 Then
+ Alert("No hay resutados en la busqueda.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ DtExcel.TableName = "Ajustes"
+ DtExcel.Columns("Codigo").ColumnName = "Código"
+ DtExcel.Columns("PS").ColumnName = "Producto/Servicio"
+ SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
+
+ Dim FileExcel As New ExcelFile()
+
+ Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName)
+ worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
+ {
+ .ColumnHeaders = True,
+ .StartRow = 0,
+ .StartColumn = 0
+ })
+ worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
+ worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
+
+ Dim columnCount = worksheet.CalculateMaxUsedColumns()
+ For i = 0 To columnCount
+ worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
+ Next
+
+ FileExcel.Save(Response, "FormatoAjusteSecCad.xlsx", SaveOptions.XlsxDefault)
+
+ End Sub
+
Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
@@ -257,7 +306,12 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim CveUM As Integer = DrPS("CveUM").ToString().ToEntero()
Dim SeccionAlmacen As String = RowExcel("SeccionAlmacen").ToString.Trim
- Dim CveSeccionAlmacen As Integer = dtSecciones.FiltroPrimeroValor("CveSeccion", $"SeccionAlmacen='{SeccionAlmacen}'")
+ Dim CveSeccionAlmacen As Integer = -1
+
+ Dim DrSeccion As DataRow = dtSecciones.FiltroPrimero($"SeccionAlmacen='{SeccionAlmacen}'")
+ If DrSeccion IsNot Nothing Then
+ CveSeccionAlmacen = DrSeccion("CveSeccion").ToString().ToEntero()
+ End If
Dim Serie As String = RowExcel("Serie").ToString()
Dim Lote As String = RowExcel("Lote").ToString()
diff --git a/Nomina/Nomina2.aspx b/Nomina/Nomina2.aspx
index 676d992db..e5b598ad1 100644
--- a/Nomina/Nomina2.aspx
+++ b/Nomina/Nomina2.aspx
@@ -654,7 +654,7 @@
-
+
diff --git a/OC/PopUpBuscarReq.aspx.vb b/OC/PopUpBuscarReq.aspx.vb
index e10ef7db4..118f8aa6a 100644
--- a/OC/PopUpBuscarReq.aspx.vb
+++ b/OC/PopUpBuscarReq.aspx.vb
@@ -253,7 +253,7 @@ Partial Class OC_PopUpBuscarReq
End Sub
Private Function ValidarFiltrosSeleccionado() As Boolean
- If DdlTipo.SelectedValue.ToEntero > 0 Then Return True
+ If DdlTipo.SelectedValue = "REQ" OrElse DdlTipo.SelectedValue = "OC" Then Return True
If DdlEstatus.SelectedValue.ToEntero > 0 Then Return True
If DdlProveedor.SelectedValue.ToEntero > 0 Then Return True
If TxtFolio.Text.ToEntero > 0 Then Return True
diff --git a/OC/RepSolicitudesAnticipo.aspx b/OC/RepSolicitudesAnticipo.aspx
index 4cfdc6282..1cb414460 100644
--- a/OC/RepSolicitudesAnticipo.aspx
+++ b/OC/RepSolicitudesAnticipo.aspx
@@ -37,7 +37,8 @@
@@ -4502,5 +4594,1479 @@
$("#BtnCargarArchivo").click();
}
}
+
+ var estados = ["aguascalientes", "baja california", "baja california sur", "campeche", "chiapas", "chihuahua", "coahuila", "colima", "ciudad de mexico", "distrito federal", "durango", "guanajuato", "guerrero", "hidalgo", "jalisco", "estado de mexico", "michoacan", "morelos", "nayarit", "nuevo leon", "oaxaca", "puebla", "queretaro", "quintana roo", "san luis potosi", "sinaloa", "sonora", "tabasco", "tamaulipas", "tlaxcala", "veracruz", "yucatan", "zacatecas"];
+ var abreviacion = ["AS", "BC", "BS", "CC", "CS", "CH", "CL", "CM", "CX", "DF", "DG", "GT", "GR", "HG", "JC", "MC", "MN", "MS", "NT", "NL", "OC", "PL", "QT", "QR", "SP", "SL", "SR", "TC", "TS", "TL", "VZ", "YN", "ZS"];
+ var abc = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
+ let numeric01 = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
+
+ let iscalculandocurp = false
+ function generarCURP() {
+ let strcurp = "";
+ if (!iscalculandocurp) {
+
+ alertatoast(6, "Se esta calculando la CURP favor de esperar un momento!","",7);
+ iscalculandocurp = true
+
+ let paterno;
+ <%= String.Format("paterno=$('#{0}').val();", TxtAPaterno.ClientID) %>
+ let materno;
+ <%= String.Format("materno=$('#{0}').val();", TxtAMaterno.ClientID) %>
+ let nombre;
+ <%= String.Format("nombre=$('#{0}').val();", TxtNombres.ClientID) %>
+ let FechaNacimiento;
+ <%= String.Format("FechaNacimiento=$('#{0}').val();", TxtFechaNacimiento.ClientID) %>
+ let genero;
+ <%= String.Format("genero=($('#{0} option:selected').val()==1?'H':'M');", DdlGenero.ClientID) %>
+ let estado;
+ <%= String.Format("estado=$('#{0} option:selected').text();", DdlEstados.ClientID) %>
+
+ estado= abreviacion[estados.indexOf(estado.toLowerCase())]
+ //abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ //random09a = Math.floor(Math.random() * (9 - 1 + 1)) + 1;
+ //random09b = Math.floor(Math.random() * (9 - 1 + 1)) + 1;
+ //randomAZ = Math.floor(Math.random() * (26 - 0 + 1)) + 0;
+ ano = Number(FechaNacimiento.slice(6, 10));
+ let dteNacimiento =ano.toString().slice(2) + FechaNacimiento.slice(3, 5) + FechaNacimiento.slice(0, 2)
+ strcurp =fnCalculaCURP(nombre.toUpperCase(), paterno.toUpperCase(), materno.toUpperCase(), dteNacimiento, genero, estado)
+ /*old*//*
+ let codve1array = (ano < 2000 ? numeric01 : abc);
+
+ var CURP = [];
+ CURP[0] = paterno.charAt(0).toUpperCase();
+ CURP[1] = paterno.slice(1).replace(/\a\e\i\o\u/gi, "").charAt(0).toUpperCase();
+ CURP[2] = materno.charAt(0).toUpperCase();
+ CURP[3] = nombre.charAt(0).toUpperCase();
+ CURP[4] = ano.toString().slice(2);
+ CURP[5] = FechaNacimiento.slice(3, 5);
+ CURP[6] = FechaNacimiento.slice(0, 2);
+ CURP[7] = genero.toUpperCase();
+ CURP[8] = abreviacion[estados.indexOf(estado.toLowerCase())];
+ CURP[9] = paterno.slice(1).replace(/[aeiou]/gi, "").charAt(0).toUpperCase();
+ CURP[10] = materno.slice(1).replace(/[aeiou]/gi, "").charAt(0).toUpperCase();
+ CURP[11] = nombre.slice(1).replace(/[aeiou]/gi, "").charAt(0).toUpperCase();
+ for (var i = 0; i < codve1array.length; i++) {
+ for (var z = 0; z < numeric01.length; z++) {
+
+ CURP[12] = codve1array[i];
+ CURP[13] = numeric01[z];
+ strcurp = CURP.join("");
+ if (curpValidajs(strcurp)) {
+ i = 1000000;
+ z = 1000000;
+ }
+ console.log(strcurp);
+ }
+ }*/
+ $.ajax({
+ type: "POST",
+ timeout: 0,
+ //url: "/ashx/sigweb.ashx?metodo=GettingCURP&Curp=" + CURP.join("") + "&year=" + ano.toString(),
+ url: "/ashx/sigweb.ashx?metodo=ValidaCURP&Curp=" + strcurp + "&year=" + ano.toString(),
+ success: function (msg) {
+ console.log(msg)
+ if (msg.length > 0) {
+ <%= String.Format(" $('#{0}').val(msg);", TxtCURP.ClientID) %>
+ } else {
+ alertatoast(8, "No se pudo obtener la CURP","",7)
+ }
+ iscalculandocurp = false;
+ },
+ error: function (msg) {
+ console.log("error:" + JSON.stringify(msg));
+ alertatoast(7, "No se pudo obtener la CURP","",7);
+ iscalculandocurp = false;
+ }
+ });
+ }
+ return strcurp;
+ }
+ function curpValidajs(curp) {
+ var re = /^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/,
+ validado = curp.match(re);
+
+ if (!validado) //Coincide con el formato general?
+ return false;
+
+ //Validar que coincida el dígito verificador
+ function digitoVerificador(curp17) {
+ //Fuente https://consultas.curp.gob.mx/CurpSP/
+ var diccionario = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ",
+ lngSuma = 0.0,
+ lngDigito = 0.0;
+ for (var i = 0; i < 17; i++)
+ lngSuma = lngSuma + diccionario.indexOf(curp17.charAt(i)) * (18 - i);
+ lngDigito = 10 - lngSuma % 10;
+ if (lngDigito == 10) return 0;
+ return lngDigito;
+ }
+
+ if (validado[2] != digitoVerificador(validado[1]))
+ return false;
+
+ return true; //Validado
+ }
+
+ function generarRFC() {
+
+ alertatoast(6, "Se esta calculando el RFC favor de esperar un momento!","",7);
+
+ let ap_paterno; <%= String.Format("ap_paterno=$('#{0}').val();", TxtAPaterno.ClientID) %>
+ let ap_materno; <%= String.Format("ap_materno=$('#{0}').val();", TxtAMaterno.ClientID) %>
+ let nombre; <%= String.Format("nombre=$('#{0}').val();", TxtNombres.ClientID) %>
+ let FechaNacimiento; <%= String.Format("FechaNacimiento=$('#{0}').val();", TxtFechaNacimiento.ClientID) %>
+ ano = Number(FechaNacimiento.slice(6, 10));
+ var rfc = ano.toString().slice(2) + FechaNacimiento.slice(3, 5) + FechaNacimiento.slice(0, 2);
+
+ var dteNacimiento = rfc;
+ //FILTRA ACENTOS
+ var ap_pat_f = RFCFiltraAcentos(ap_paterno.toLowerCase());
+ var ap_mat_f = RFCFiltraAcentos(ap_materno.toLowerCase());
+ var nombre_f = RFCFiltraAcentos(nombre.toLowerCase());
+ //GUARDA NOMBRE ORIGINAL PARA GENERAR HOMOCLAVE
+ var ap_pat_orig = ap_pat_f;
+ var ap_mat_orig = ap_mat_f;
+ var nombre_orig = nombre_f;
+ //ELIMINA PALABRAS SOBRANTES DE LOS NOMBRES
+ ap_pat_f = RFCFiltraNombres(ap_pat_f);
+ ap_mat_f = RFCFiltraNombres(ap_mat_f);
+ nombre_f = RFCFiltraNombres(nombre_f);
+
+ if (ap_pat_f.length > 0 && ap_mat_f.length > 0) {
+ if (ap_pat_f.length < 3) {
+ rfc = RFCApellidoCorto(ap_pat_f, ap_mat_f, nombre_f);
+ } else {
+ rfc = RFCArmalo(ap_pat_f, ap_mat_f, nombre_f);
+ }
+ }
+
+ if (ap_pat_f.length == 0 && ap_mat_f.length > 0) {
+ rfc = RFCUnApellido(nombre_f, ap_mat_f);
+ }
+ if (ap_pat_f.length > 0 && ap_mat_f.length == 0) {
+ rfc = RFCUnApellido(nombre_f, ap_pat_f);
+ }
+
+ rfc = RFCQuitaProhibidas(rfc);
+
+ rfc = rfc.toUpperCase() + dteNacimiento + homonimia(ap_pat_orig, ap_mat_orig, nombre_orig);
+
+ rfc = RFCDigitoVerificador(rfc);
+ <%= String.Format(" $('#{0}').val(rfc);", TxtRFC.ClientID) %>
+
+ return rfc;
+ }
+
+ function ValidaRFC() {
+
+ if (rfcValidoJS(<%= String.Format("$('#{0}').val()", TxtRFC.ClientID) %>)) {
+ alertatoast(5, "RFC valido!","",7);
+ } else {
+ alertatoast(8, "RFC invalido!","",7)
+ }
+ }
+ function rfcValidoJS(rfc, aceptarGenerico = true) {
+ const re = /^([A-ZÑ&]{3,4}) ?(?:- ?)?(\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])) ?(?:- ?)?([A-Z\d]{2})([A\d])$/;
+ var validado = rfc.match(re);
+
+ if (!validado) //Coincide con el formato general del regex?
+ return false;
+
+ //Separar el dígito verificador del resto del RFC
+ const digitoVerificador = validado.pop(),
+ rfcSinDigito = validado.slice(1).join(''),
+ len = rfcSinDigito.length,
+
+ //Obtener el digito esperado
+ diccionario = "0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ Ñ",
+ indice = len + 1;
+ var suma,
+ digitoEsperado;
+
+ if (len == 12) suma = 0
+ else suma = 481; //Ajuste para persona moral
+
+ for (var i = 0; i < len; i++)
+ suma += diccionario.indexOf(rfcSinDigito.charAt(i)) * (indice - i);
+ digitoEsperado = 11 - suma % 11;
+ if (digitoEsperado == 11) digitoEsperado = 0;
+ else if (digitoEsperado == 10) digitoEsperado = "A";
+
+ //El dígito verificador coincide con el esperado?
+ // o es un RFC Genérico (ventas a público general)?
+ if ((digitoVerificador != digitoEsperado)
+ && (!aceptarGenerico || rfcSinDigito + digitoVerificador != "XAXX010101000"))
+ return false;
+ else if (!aceptarGenerico && rfcSinDigito + digitoVerificador == "XEXX010101000")
+ return false;
+ return rfcSinDigito + digitoVerificador;
+ }
+
+ function ValidaCURP() {
+
+ $.ajax({
+ type: "POST",
+ timeout: 0,
+ url: "/ashx/sigweb.ashx?metodo=ValidaCURP&Curp=" + <%= String.Format("$('#{0}').val()", TxtCURP.ClientID) %> ,
+ success: function (msg) {
+ console.log(msg)
+ if (msg.length > 0) {
+ alertatoast(5, "CURP valida!","",7);
+ } else {
+ alertatoast(8, "CURP invalida!","",7)
+ }
+ iscalculandocurp = false;
+ },
+ error: function (msg) {
+ console.log("error:" + JSON.stringify(msg));
+ alertatoast(7, "No se pudo validar la CURP","",7);
+ iscalculandocurp = false;
+ }
+ });
+ }
+
+
+ function RFCDigitoVerificador(rfc) {
+ var rfcsuma = [];
+ var nv = 0;
+ var y = 0;
+ for (i = 0; i <= rfc.length; i++) {
+ var letra = rfc.substr(i, 1);
+ switch (letra) {
+ case '0':
+ rfcsuma.push('00')
+ break;
+ case '1':
+ rfcsuma.push('01')
+ break;
+ case '2':
+ rfcsuma.push('02')
+ break;
+ case '3':
+ rfcsuma.push('03')
+ break;
+ case '4':
+ rfcsuma.push('04')
+ break;
+ case '5':
+ rfcsuma.push('05')
+ break;
+ case '6':
+ rfcsuma.push('06')
+ break;
+ case '7':
+ rfcsuma.push('07')
+ break;
+ case '8':
+ rfcsuma.push('08')
+ break;
+ case '9':
+ rfcsuma.push('09')
+ break;
+ case 'A':
+ rfcsuma.push('10')
+ break;
+ case 'B':
+ rfcsuma.push('11')
+ break;
+ case 'C':
+ rfcsuma.push('12')
+ break;
+ case 'D':
+ rfcsuma.push('13')
+ break;
+ case 'E':
+ rfcsuma.push('14')
+ break;
+ case 'F':
+ rfcsuma.push('15')
+ break;
+ case 'G':
+ rfcsuma.push('16')
+ break;
+ case 'H':
+ rfcsuma.push('17')
+ break;
+ case 'I':
+ rfcsuma.push('18')
+ break;
+ case 'J':
+ rfcsuma.push('19')
+ break;
+ case 'K':
+ rfcsuma.push('20')
+ break;
+ case 'L':
+ rfcsuma.push('21')
+ break;
+ case 'M':
+ rfcsuma.push('22')
+ break;
+ case 'N':
+ rfcsuma.push('23')
+ break;
+ case '&':
+ rfcsuma.push('24')
+ break;
+ case 'O':
+ rfcsuma.push('25')
+ break;
+ case 'P':
+ rfcsuma.push('26')
+ break;
+ case 'Q':
+ rfcsuma.push('27')
+ break;
+ case 'R':
+ rfcsuma.push('28')
+ break;
+ case 'S':
+ rfcsuma.push('29')
+ break;
+ case 'T':
+ rfcsuma.push('30')
+ break;
+ case 'U':
+ rfcsuma.push('31')
+ break;
+ case 'V':
+ rfcsuma.push('32')
+ break;
+ case 'W':
+ rfcsuma.push('33')
+ break;
+ case 'X':
+ rfcsuma.push('34')
+ break;
+ case 'Y':
+ rfcsuma.push('35')
+ break;
+ case 'Z':
+ rfcsuma.push('36')
+ break;
+ case ' ':
+ rfcsuma.push('37')
+ break;
+ case 'Ñ':
+ rfcsuma.push('38')
+ break;
+ default:
+ rfcsuma.push('00');
+ }
+ }
+
+ for (i = 13; i > 1; i--) {
+ nv = nv + (rfcsuma[y] * i);
+ y++;
+ }
+ nv = nv % 11;
+ //alert(nv);
+ if (nv == 0) {
+ rfc = rfc + nv;
+ } else if (nv <= 10) {
+ nv = 11 - nv;
+ if (nv == '10') {
+ nv = 'A';
+ }
+ rfc = rfc + nv;
+ } else if (nv == '10') {
+ nv = 'A';
+ rfc = rfc + nv;
+ }
+ return rfc
+ }
+
+ function RFCQuitaProhibidas(rfc) {
+ var res;
+ rfc = rfc.toUpperCase();
+ var strPalabras = "BUEI*BUEY*CACA*CACO*CAGA*CAGO*CAKA*CAKO*COGE*COJA*";
+ strPalabras = strPalabras + "KOGE*KOJO*KAKA*KULO*MAME*MAMO*MEAR*";
+ strPalabras = strPalabras + "MEAS*MEON*MION*COJE*COJI*COJO*CULO*";
+ strPalabras = strPalabras + "FETO*GUEY*JOTO*KACA*KACO*KAGA*KAGO*";
+ strPalabras = strPalabras + "MOCO*MULA*PEDA*PEDO*PENE*PUTA*PUTO*";
+ strPalabras = strPalabras + "QULO*RATA*RUIN*";
+
+ res = strPalabras.match(rfc);
+
+ if (res != null) {
+ rfc = rfc.substr(0, 3) + 'X';
+ return rfc;
+ } else {
+ return rfc;
+ }
+ }
+
+ function RFCUnApellido(nombre, apellido) {
+ var rfc = apellido.substr(0, 2) + nombre.substr(0, 2);
+ return rfc
+ }
+
+ function RFCArmalo(ap_paterno, ap_materno, nombre) {
+
+ var strVocales = 'aeiou';
+ var strPrimeraVocal = '';
+ var i = 0;
+ var x = 0;
+ var y = 0;
+ for (i = 1; i <= ap_paterno.length; i++) {
+ //alert(ap_paterno.substr(i,1));
+ if (y == 0) {
+ for (x = 0; x <= strVocales.length; x++) {
+ //alert(strVocales.substr(x,1));
+ if (ap_paterno.substr(i, 1) == strVocales.substr(x, 1)) {
+ y = 1;
+ strPrimeraVocal = ap_paterno.substr(i, 1);
+ }
+
+ }
+ }
+ //break;
+ }
+ var rfc = ap_paterno.substr(0, 1) + strPrimeraVocal + ap_materno.substr(0, 1) + nombre.substr(0, 1);
+ return rfc;
+ }
+
+ function RFCApellidoCorto(ap_paterno, ap_materno, nombre) {
+ var rfc = ap_paterno.substr(0, 1) + ap_materno.substr(0, 1) + nombre.substr(0, 2);
+ return rfc;
+ }
+
+ function RFCFiltraNombres(strTexto) {
+ var i = 0;
+ var strArPalabras = [".", ",", "de ", "del ", "la ", "los ", "las ", "y ", "mc ", "mac ", "von ", "van "];
+ for (i = 0; i <= strArPalabras.length; i++) {
+ //alert(strArPalabras[i]);
+ strTexto = strTexto.replace(strArPalabras[i], "");
+ }
+
+ strArPalabras = ["jose ", "maria ", "j ", "ma "];
+ for (i = 0; i <= strArPalabras.length; i++) {
+ //alert(strArPalabras[i]);
+ strTexto = strTexto.replace(strArPalabras[i], "");
+ }
+
+ switch (strTexto.substr(0, 2)) {
+ case 'ch':
+ strTexto = strTexto.replace('ch', 'c')
+ break;
+ case 'll':
+ strTexto = strTexto.replace('ll', 'l')
+ break;
+ }
+
+ return strTexto
+ }
+
+ function RFCFiltraAcentos(strTexto) {
+ strTexto = strTexto.replace('á', 'a');
+ strTexto = strTexto.replace('é', 'e');
+ strTexto = strTexto.replace('í', 'i');
+ strTexto = strTexto.replace('ó', 'o');
+ strTexto = strTexto.replace('ú', 'u');
+ return strTexto;
+ }
+
+ function homonimia(ap_paterno, ap_materno, nombre) {
+
+ var nombre_completo = ap_paterno.trim() + ' ' + ap_materno.trim() + ' ' + nombre.trim();
+ var numero = '0';
+ var letra;
+ var numero1;
+ var numero2;
+ var numeroSuma = 0;
+ //alert(nombre_completo);
+ //alert(nombre_completo.length);
+ for (i = 0; i <= nombre_completo.length; i++) {
+ letra = nombre_completo.substr(i, 1);
+ switch (letra) {
+ case 'ñ':
+ numero = numero + '10'
+ break;
+ case 'ü':
+ numero = numero + '10'
+ break;
+ case 'a':
+ numero = numero + '11'
+ break;
+ case 'b':
+ numero = numero + '12'
+ break;
+ case 'c':
+ numero = numero + '13'
+ break;
+ case 'd':
+ numero = numero + '14'
+ break;
+ case 'e':
+ numero = numero + '15'
+ break;
+ case 'f':
+ numero = numero + '16'
+ break;
+ case 'g':
+ numero = numero + '17'
+ break;
+ case 'h':
+ numero = numero + '18'
+ break;
+ case 'i':
+ numero = numero + '19'
+ break;
+ case 'j':
+ numero = numero + '21'
+ break;
+ case 'k':
+ numero = numero + '22'
+ break;
+ case 'l':
+ numero = numero + '23'
+ break;
+ case 'm':
+ numero = numero + '24'
+ break;
+ case 'n':
+ numero = numero + '25'
+ break;
+ case 'ñ':
+ numero = numero + '40'
+ break;
+ case 'o':
+ numero = numero + '26'
+ break;
+ case 'p':
+ numero = numero + '27'
+ break;
+ case 'q':
+ numero = numero + '28'
+ break;
+ case 'r':
+ numero = numero + '29'
+ break;
+ case 's':
+ numero = numero + '32'
+ break;
+ case 't':
+ numero = numero + '33'
+ break;
+ case 'u':
+ numero = numero + '34'
+ break;
+ case 'v':
+ numero = numero + '35'
+ break;
+ case 'w':
+ numero = numero + '36'
+ break;
+ case 'x':
+ numero = numero + '37'
+ break;
+ case 'y':
+ numero = numero + '38'
+ break;
+ case 'z':
+ numero = numero + '39'
+ break;
+ case ' ':
+ numero = numero + '00'
+ break;
+ }
+ }
+ //alert(numero);
+ for (i = 0; i <= numero.length + 1; i++) {
+ numero1 = numero.substr(i, 2);
+ numero2 = numero.substr(i + 1, 1);
+ numeroSuma = numeroSuma + (numero1 * numero2);
+
+ }
+ //alert(numeroSuma);
+ var numero3 = numeroSuma % 1000;
+ //alert(numero3);
+ var numero4 = numero3 / 34;
+ var numero5 = numero4.toString().split(".")[0];
+ //alert(numero5);
+ var numero6 = numero3 % 34;
+ //alert(numero6);
+ var homonimio = '';
+ switch (numero5) {
+ case '0':
+ homonimio = '1'
+ break;
+ case '1':
+ homonimio = '2'
+ break;
+ case '2':
+ homonimio = '3'
+ break;
+ case '3':
+ homonimio = '4'
+ break;
+ case '4':
+ homonimio = '5'
+ break;
+ case '5':
+ homonimio = '6'
+ break;
+ case '6':
+ homonimio = '7'
+ break;
+ case '7':
+ homonimio = '8'
+ break;
+ case '8':
+ homonimio = '9'
+ break;
+ case '9':
+ homonimio = 'A'
+ break;
+ case '10':
+ homonimio = 'B'
+ break;
+ case '11':
+ homonimio = 'C'
+ break;
+ case '12':
+ homonimio = 'D'
+ break;
+ case '13':
+ homonimio = 'E'
+ break;
+ case '14':
+ homonimio = 'F'
+ break;
+ case '15':
+ homonimio = 'G'
+ break;
+ case '16':
+ homonimio = 'H'
+ break;
+ case '17':
+ homonimio = 'I'
+ break;
+ case '18':
+ homonimio = 'J'
+ break;
+ case '19':
+ homonimio = 'K'
+ break;
+ case '20':
+ homonimio = 'L'
+ break;
+ case '21':
+ homonimio = 'M'
+ break;
+ case '22':
+ homonimio = 'N'
+ break;
+ case '23':
+ homonimio = 'P'
+ break;
+ case '24':
+ homonimio = 'Q'
+ break;
+ case '25':
+ homonimio = 'R'
+ break;
+ case '26':
+ homonimio = 'S'
+ break;
+ case '27':
+ homonimio = 'T'
+ break;
+ case '28':
+ homonimio = 'U'
+ break;
+ case '29':
+ homonimio = 'V'
+ break;
+ case '30':
+ homonimio = 'W'
+ break;
+ case '31':
+ homonimio = 'X'
+ break;
+ case '32':
+ homonimio = 'Y'
+ break;
+ case '33':
+ homonimio = 'Z'
+ break;
+
+ }
+ switch (numero6.toString()) {
+ case '0':
+ homonimio = homonimio + '1'
+ break;
+ case '1':
+ homonimio = homonimio + '2'
+ break;
+ case '2':
+ homonimio = homonimio + '3'
+ break;
+ case '3':
+ homonimio = homonimio + '4'
+ break;
+ case '4':
+ homonimio = homonimio + '5'
+ break;
+ case '5':
+ homonimio = homonimio + '6'
+ break;
+ case '6':
+ homonimio = homonimio + '7'
+ break;
+ case '7':
+ homonimio = homonimio + '8'
+ break;
+ case '8':
+ homonimio = homonimio + '9'
+ break;
+ case '9':
+ homonimio = homonimio + 'A'
+ break;
+ case '10':
+ homonimio = homonimio + 'B'
+ break;
+ case '11':
+ homonimio = homonimio + 'C'
+ break;
+ case '12':
+ homonimio = homonimio + 'D'
+ break;
+ case '13':
+ homonimio = homonimio + 'E'
+ break;
+ case '14':
+ homonimio = homonimio + 'F'
+ break;
+ case '15':
+ homonimio = homonimio + 'G'
+ break;
+ case '16':
+ homonimio = homonimio + 'H'
+ break;
+ case '17':
+ homonimio = homonimio + 'I'
+ break;
+ case '18':
+ homonimio = homonimio + 'J'
+ break;
+ case '19':
+ homonimio = homonimio + 'K'
+ break;
+ case '20':
+ homonimio = homonimio + 'L'
+ break;
+ case '21':
+ homonimio = homonimio + 'M'
+ break;
+ case '22':
+ homonimio = homonimio + 'N'
+ break;
+ case '23':
+ homonimio = homonimio + 'P'
+ break;
+ case '24':
+ homonimio = homonimio + 'Q'
+ break;
+ case '25':
+ homonimio = homonimio + 'R'
+ break;
+ case '26':
+ homonimio = homonimio + 'S'
+ break;
+ case '27':
+ homonimio = homonimio + 'T'
+ break;
+ case '28':
+ homonimio = homonimio + 'U'
+ break;
+ case '29':
+ homonimio = homonimio + 'V'
+ break;
+ case '30':
+ homonimio = homonimio + 'W'
+ break;
+ case '31':
+ homonimio = homonimio + 'X'
+ break;
+ case '32':
+ homonimio = homonimio + 'Y'
+ break;
+ case '33':
+ homonimio = homonimio + 'Z'
+ break;
+
+ }
+ return homonimio;
+ }
+
+
+
+ function fnCalculaCURP(pstNombre, pstPaterno, pstMaterno, dfecha, pstSexo, pnuCveEntidad) {
+
+ pstCURP = "";
+ pstDigVer = "";
+ contador = 0;
+ contador1 = 0;
+ pstCom = "";
+ numVer = 0.00;
+ valor = 0;
+ sumatoria = 0;
+
+
+
+ // se declaran las varibale que se van a utilizar para ontener la CURP
+
+ NOMBRES = "";
+ APATERNO = "";
+ AMATERNO = "";
+ T_NOMTOT = "";
+ NOMBRE1 = ""; //PRIMER NOMBRE
+ NOMBRE2 = ""; //DEMAS NOMBRES
+ NOMBRES_LONGITUD = 0; //LONGITUD DE TODOS @NOMBRES
+ var NOMBRE1_LONGITUD = 0; //LONGITUD DEL PRIMER NOMBRE(MAS UNO,EL QUE SOBRA ES UN ESPACIO EN BLANCO)
+ APATERNO1 = ""; //PRIMER NOMBRE
+ APATERNO2 = ""; //DEMAS NOMBRES
+ APATERNO_LONGITUD = 0; //LONGITUD DE TODOS @NOMBRES
+ APATERNO1_LONGITUD = 0; //LONGITUD DEL PRIMER NOMBRE(MAS UNO,EL QUE SOBRA ES UN ESPACIO EN BLANCO)
+ AMATERNO1 = ""; //PRIMER NOMBRE
+ AMATERNO2 = ""; //DEMAS NOMBRES
+ AMATERNO_LONGITUD = 0; //LONGITUD DE TODOS @NOMBRES
+ AMATERNO1_LONGITUD = 0; //LONGITUD DEL PRIMER NOMBRE(MAS UNO,EL QUE SOBRA ES UN ESPACIO EN BLANCO)
+ VARLOOPS = 0; //VARIABLE PARA LOS LOOPS, SE INICIALIZA AL INICIR UN LOOP
+
+
+ // Se inicializan las variables para obtener la primera parte de la CURP
+
+
+ NOMBRES = pstNombre.replace(/^\s+|\s+$/g, "");
+ APATERNO = pstPaterno.replace(/^\s+|\s+$/g, "");
+ AMATERNO = pstMaterno.replace(/^\s+|\s+$/g, "");
+
+ T_NOMTOT = APATERNO + ' ' + AMATERNO + ' ' + NOMBRES;
+
+
+
+ // Se procesan los nombres de pila
+
+
+ VARLOOPS = 0;
+
+ while (VARLOOPS != 1) {
+
+ NOMBRES_LONGITUD = NOMBRES.length
+
+ var splitNombres = NOMBRES.split(" ");
+ var splitNombre1 = splitNombres[0];
+
+ NOMBRE1_LONGITUD = splitNombre1.length;
+ // NOMBRE1_LONGITUD = PATINDEX('% %',@NOMBRES)
+
+ if (NOMBRE1_LONGITUD = 0) {
+ NOMBRE1_LONGITUD = NOMBRES_LONGITUD;
+ }
+ NOMBRE1 = NOMBRES.substring(0, splitNombre1.length);
+ NOMBRE2 = NOMBRES.substring(splitNombre1.length + 1, NOMBRES.length);
+
+
+ // Se quitan los nombres de JOSE, MARIA,MA,MA.
+ /*
+ if (NOMBRE1 IN ('JOSE','MARIA','MA.','MA','DE','LA','LAS','MC','VON','DEL','LOS','Y','MAC','VAN') && NOMBRE2 != '')
+ {
+ NOMBRES = NOMBRE2
+ }
+ else
+ {
+ VARLOOPS = 1
+ }
+ */
+
+ if (NOMBRE1 == 'JOSE' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'MARIA' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'MA.' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'MA' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'DE' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'LA' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'LAS' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (NOMBRE1 == 'MC' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'VON' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (NOMBRE1 == 'DEL' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (NOMBRE1 == 'LOS' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'Y' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'MAC' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (NOMBRE1 == 'VAN' && NOMBRE2 != '') {
+ NOMBRES = NOMBRE2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ } // fin varloops <> 1
+
+
+ // Se procesan los APELLIDOS, PATERNO EN UN LOOP
+
+ VARLOOPS = 0;
+
+ while (VARLOOPS != 1) {
+
+ APATERNO_LONGITUD = APATERNO.length;
+
+ var splitPaterno = APATERNO.split(" ");
+ var splitPaterno1 = splitPaterno[0];
+ APATERNO1_LONGITUD = splitPaterno1.length;
+
+ if (APATERNO1_LONGITUD = 0) {
+ APATERNO1_LONGITUD = APATERNO_LONGITUD;
+ }
+
+ APATERNO1 = APATERNO.substring(0, splitPaterno1.length);
+ APATERNO2 = APATERNO.substring(splitPaterno1.length + 1, APATERNO.length);
+ // Se quitan los sufijos
+
+
+ if (APATERNO1 == 'DE' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (APATERNO1 == 'LA' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+
+ if (APATERNO1 == 'LAS' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'MC' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'VON' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'DEL' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (APATERNO1 == 'LOS' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'Y' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'MAC' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (APATERNO1 == 'VAN' && APATERNO2 != '') {
+ APATERNO = APATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ } // fin varloops
+
+
+ // Faltan: )
+
+
+ // Se procesan los APELLIDOS, MATERNO EN UN LOOP
+
+ VARLOOPS = 0;
+
+ while (VARLOOPS != 1) {
+
+ //SET @APATERNO_LONGITUD = LEN(@APATERNO)
+ AMATERNO_LONGITUD = AMATERNO.length;
+
+ //SET @APATERNO1_LONGITUD = PATINDEX('% %',@APATERNO)
+ var splitMaterno = AMATERNO.split(" ");
+ var splitMaterno1 = splitMaterno[0];
+ AMATERNO1_LONGITUD = splitMaterno1.length;
+
+ if (AMATERNO1_LONGITUD = 0) {
+ AMATERNO1_LONGITUD = AMATERNO_LONGITUD;
+ }
+
+ AMATERNO1 = AMATERNO.substring(0, splitMaterno1.length);
+ AMATERNO2 = AMATERNO.substring(splitMaterno1.length + 1, AMATERNO.length);
+
+ // Se quitan los sufijos
+
+
+
+ if (AMATERNO1 == 'DE' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (AMATERNO1 == 'LA' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+ if (AMATERNO1 == 'LAS' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'MC' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'VON' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'DEL' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'LOS' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'Y' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'MAC' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+ if (AMATERNO1 == 'VAN' && AMATERNO2 != '') {
+ AMATERNO = AMATERNO2;
+ }
+ else {
+ VARLOOPS = 1;
+ }
+
+
+
+ } // fin varloops
+
+
+
+
+ // Se obtiene del primer apellido la primer letra y la primer vocal interna
+
+ pstCURP = APATERNO1.substring(0, 1);
+
+ APATERNO1_LONGITUD = APATERNO1.length;
+ VARLOOPS = 0 // EMPIEZA EN UNO POR LA PRIMERA LETRA SE LA VA A SALTAR
+
+ while (APATERNO1_LONGITUD > VARLOOPS) {
+ VARLOOPS = VARLOOPS + 1;
+
+ // if SUBSTRING(@APATERNO1,@VARLOOPS,1) IN ('A','E','I','O','U')
+ var compara = APATERNO1.substr(parseInt(VARLOOPS), 1);
+
+ if (compara == 'A') {
+ pstCURP = pstCURP + compara;
+ VARLOOPS = APATERNO1_LONGITUD;
+ }
+ if (compara == 'E') {
+ pstCURP = pstCURP + compara;
+ VARLOOPS = APATERNO1_LONGITUD;
+ }
+ if (compara == 'I') {
+ pstCURP = pstCURP + compara;
+ VARLOOPS = APATERNO1_LONGITUD;
+ }
+ if (compara == 'O') {
+ pstCURP = pstCURP + compara;
+ VARLOOPS = APATERNO1_LONGITUD;
+ }
+ if (compara == 'U') {
+
+ pstCURP = pstCURP + compara;
+ VARLOOPS = APATERNO1_LONGITUD;
+ }
+
+ }
+
+
+
+
+ // Se obtiene la primer letra del apellido materno
+
+ pstCURP = pstCURP + AMATERNO1.substring(0, 1);
+
+ // Se le agrega la primer letra del nombre
+
+ pstCURP = pstCURP + NOMBRES.substring(0, 1);
+
+
+
+ pstCURP = pstCURP + dfecha + pstSexo + pnuCveEntidad;
+
+
+ // Se obtiene la primera consonante interna del apellido paterno
+
+
+ VARLOOPS = 0;
+
+ while (splitPaterno1.length > VARLOOPS) {
+ VARLOOPS = VARLOOPS + 1
+ var compara = APATERNO1.substr(parseInt(VARLOOPS), 1);
+
+ if (compara != 'A' && compara != 'E' && compara != 'I' && compara != 'O' && compara != 'U') {
+ if (compara == 'Ñ') {
+ pstCURP = pstCURP + 'X';
+ }
+ else {
+ pstCURP = pstCURP + compara;
+ }
+
+ VARLOOPS = splitPaterno1.length;
+ }
+ }
+
+
+ // Se obtiene la primera consonante interna del apellido materno
+
+ VARLOOPS = 0;
+
+ while (splitMaterno1.length > VARLOOPS) {
+
+ VARLOOPS = VARLOOPS + 1;
+ var compara = AMATERNO1.substr(parseInt(VARLOOPS), 1);
+
+ if (compara != 'A' && compara != 'E' && compara != 'I' && compara != 'O' && compara != 'U') {
+ if (compara == 'Ñ') {
+ pstCURP = pstCURP + 'X';
+ }
+ else {
+ pstCURP = pstCURP + compara;
+ }
+
+ VARLOOPS = splitMaterno1.length;
+ }
+ }
+
+
+ // Se obtiene la primera consonante interna del nombre
+
+ VARLOOPS = 0;
+
+ while (splitNombre1.length > VARLOOPS) {
+
+ VARLOOPS = VARLOOPS + 1;
+ var compara = NOMBRE1.substr(parseInt(VARLOOPS), 1);
+
+ if (compara != 'A' && compara != 'E' && compara != 'I' && compara != 'O' && compara != 'U') {
+ if (compara == 'Ñ') {
+ pstCURP = pstCURP + 'X';
+ }
+ else {
+ pstCURP = pstCURP + compara;
+ }
+
+ VARLOOPS = splitNombre1.length;
+ }
+ }
+
+
+ // Se obtiene el digito verificador
+
+
+
+ var contador = 18;
+ var contador1 = 0;
+ var valor = 0;
+ var sumatoria = 0;
+
+
+ while (contador1 <= 15) {
+
+ //pstCom = SUBSTRING(@pstCURP,@contador1,1)
+ var pstCom = pstCURP.substr(parseInt(contador1), 1);
+
+ if (pstCom == '0') {
+ valor = 0 * contador;
+ }
+ if (pstCom == '1') {
+ valor = 1 * contador;
+ }
+ if (pstCom == '2') {
+ valor = 2 * contador;
+ }
+ if (pstCom == '3') {
+ valor = 3 * contador;
+ }
+ if (pstCom == '4') {
+ valor = 4 * contador;
+ }
+ if (pstCom == '5') {
+ valor = 5 * contador;
+ }
+ if (pstCom == '6') {
+ valor = 6 * contador;
+ }
+ if (pstCom == '7') {
+ valor = 7 * contador;
+ }
+ if (pstCom == '8') {
+ valor = 8 * contador;
+ }
+ if (pstCom == '9') {
+ valor = 9 * contador;
+ }
+ if (pstCom == 'A') {
+ valor = 10 * contador;
+ }
+ if (pstCom == 'B') {
+ valor = 11 * contador;
+ }
+ if (pstCom == 'C') {
+ valor = 12 * contador;
+ }
+ if (pstCom == 'D') {
+ valor = 13 * contador;
+ }
+ if (pstCom == 'E') {
+ valor = 14 * contador;
+ }
+ if (pstCom == 'F') {
+ valor = 15 * contador;
+ }
+ if (pstCom == 'G') {
+ valor = 16 * contador;
+ }
+ if (pstCom == 'H') {
+ valor = 17 * contador;
+ }
+ if (pstCom == 'I') {
+ valor = 18 * contador;
+ }
+ if (pstCom == 'J') {
+ valor = 19 * contador;
+ }
+ if (pstCom == 'K') {
+ valor = 20 * contador;
+ }
+ if (pstCom == 'L') {
+ valor = 21 * contador;
+ }
+ if (pstCom == 'M') {
+ valor = 22 * contador;
+ }
+ if (pstCom == 'N') {
+ valor = 23 * contador;
+ }
+ if (pstCom == 'Ñ') {
+ valor = 24 * contador;
+ }
+ if (pstCom == 'O') {
+ valor = 25 * contador;
+ }
+ if (pstCom == 'P') {
+ valor = 26 * contador;
+ }
+ if (pstCom == 'Q') {
+ valor = 27 * contador;
+ }
+ if (pstCom == 'R') {
+ valor = 28 * contador;
+ }
+ if (pstCom == 'S') {
+ valor = 29 * contador;
+ }
+ if (pstCom == 'T') {
+ valor = 30 * contador;
+ }
+ if (pstCom == 'U') {
+ valor = 31 * contador;
+ }
+ if (pstCom == 'V') {
+ valor = 32 * contador;
+ }
+ if (pstCom == 'W') {
+ valor = 33 * contador;
+ }
+ if (pstCom == 'X') {
+ valor = 34 * contador;
+ }
+ if (pstCom == 'Y') {
+ valor = 35 * contador;
+ }
+
+ if (pstCom == 'Z') {
+ valor = 36 * contador;
+ }
+
+ contador = contador - 1;
+ contador1 = contador1 + 1;
+ sumatoria = sumatoria + valor;
+
+ }
+
+ numVer = sumatoria % 10;
+ numVer = Math.abs(10 - numVer);
+ anio = dfecha.substr(2, 2);
+
+
+ if (numVer == 10) {
+ numVer = 0;
+ }
+
+
+ if (anio < 2000) {
+ pstDigVer = '0' + '' + numVer;
+ }
+ if (anio >= 2000) {
+ pstDigVer = 'A' + '' + numVer;
+ }
+
+ pstCURP = pstCURP + pstDigVer;
+
+ // document.getElementById("curp").value = pstCURP;
+
+ console.log('curp:', pstCURP)
+
+ return pstCURP
+ }
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index ad953a315..a0ce17f20 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -8,6 +8,8 @@ Imports System.IO
Imports System.Data
Imports Microsoft.Reporting.WebForms
Imports System.Globalization
+Imports System.Xml
+Imports System.Web.Script.Services
Partial Class RH_Personal
Inherits ClsPaginas
@@ -615,6 +617,136 @@ Partial Class RH_Personal
#End Region
+ Private Shared Function sendURL(ByVal URL As String, Optional Methodo As String = "POST", Optional Cookie As String = "", Optional maxTimeMilliseconds As Integer = 120000) As String
+ Dim resultado As String = ""
+
+ Try
+ Dim request As Net.HttpWebRequest = CType(Net.HttpWebRequest.Create(URL), Net.HttpWebRequest)
+ request.Timeout = maxTimeMilliseconds
+ request.Method = Methodo
+ request.ContentType = "text/html; charset=utf-8" '"text/xml; charset=utf-8"
+
+ If Not String.IsNullOrEmpty(Cookie) Then
+ request.Headers.Add("Cookie", Cookie)
+ End If
+
+ 'Using stream As IO.Stream = request.GetRequestStream()
+
+ ' Using stmw As IO.StreamWriter = New IO.StreamWriter(stream)
+ ' stmw.Write("")
+ ' End Using
+ 'End Using
+
+ Dim response As Net.WebResponse = CType(request.GetResponse(), Net.WebResponse)
+ Dim sr As IO.StreamReader = New IO.StreamReader(response.GetResponseStream())
+ resultado = sr.ReadToEnd()
+ sr.Close()
+ Catch ex As Exception
+ ex.ToString().GuardaLog()
+ 'Extenciones.ApplicationParameter.GuardaLogEx(ex, $"SOAPAction : {SOAPAction} XML : {xml}")
+ End Try
+
+ Return resultado
+ End Function
+ '
+
+ Public Shared Function gettingCURP(ByVal Curp As String, year As Integer) As String
+ Dim abc As String() = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
+ Dim numeric01 As String() = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
+ Dim rule1 As String() = If(year < 2000, numeric01, abc)
+ Dim curpresult As String = ""
+ Dim i As Integer = 0
+ While Curp.Length = 0 AndAlso i < rule1.Length
+ Dim z As Integer = 0
+ While Curp.Length = 0 AndAlso z < numeric01.Length
+ curpresult = String.Format("{0}{1}{2}", Curp, rule1(i), numeric01(z))
+ Dim respuesta As String = sendURL(String.Format("http://www.renapo.sep.gob.mx/wsrenapo/MainControllerParam?curp={0}", curpresult), "GET")
+
+ Dim trlines As New List(Of String)
+ Dim keydict As New System.Collections.Concurrent.ConcurrentDictionary(Of String, String)
+
+ Dim indexttr As Integer = 0
+ Dim indexttrB As Integer = 0
+ Dim indexttd As Integer = 0
+ Dim indextdiv As Integer = 0
+ Dim indexinittext As Integer = 0
+ While Not IsNothing(respuesta) AndAlso respuesta.Length > 0
+ indexttr = respuesta.IndexOf("
= 0 Then
+ indexttrB = respuesta.Substring(indexttr + 3).IndexOf("
= 0 Then
+ trlines.Add(respuesta.Substring(indexttr, indexttrB))
+ Else
+ trlines.Add(respuesta.Substring(indexttr))
+
+ End If
+ respuesta = respuesta.Substring(indexttr + 3)
+ Else
+ respuesta = ""
+ End If
+
+ End While
+
+ Dim key As String = ""
+ Dim keyvalue As String = ""
+ For Each item As String In trlines
+ key = ""
+ keyvalue = ""
+ indexttd = item.IndexOf("
= 0 Then
+ indexttr = indextdiv
+ indexttrB = item.IndexOf("= 0 Then
+ indexinittext = item.Substring(indexttr + 3).IndexOf(">")
+ keyvalue = item.Substring(indexinittext + indexttr + 4, (indexttrB - (indexinittext + indexttr + 4)))
+
+ item = item.Substring(indexttr + 3)
+ Else
+ item = ""
+ End If
+
+ End If
+ If key.Length > 0 Then
+ keydict.TryAdd(key.Replace(":", "").Trim(), keyvalue.Trim().ToLower())
+ End If
+ Next
+ Dim Apellido1 As String = "" : keydict.TryGetValue("Apellido1", Apellido1)
+ Dim Apellido2 As String = "" : keydict.TryGetValue("Apellido1", Apellido1)
+ Dim Nombres As String = "" : keydict.TryGetValue("Nombres", Nombres)
+ If Nombres Is Nothing OrElse Nombres.Length = 0 Then
+ curpresult = ""
+ End If
+ z = z + 1
+ End While
+ i = i + 1
+ End While
+ Return curpresult
+ End Function
Const wdPageBreak As Integer = 7
Const wdCharacter As Integer = 1
@@ -624,6 +756,8 @@ Partial Class RH_Personal
If UsuarioActual.CveEmpresa = 72 OrElse UsuarioActual.CveEmpresa = 80 Then
pnlSalarioIMSS.Visible = False
End If
+ '
+
ViewState("Orden") = ""
ViewState("Orden1") = ""
@@ -2151,7 +2285,7 @@ Partial Class RH_Personal
Private Sub CarcaConceptosNomina()
Dim ObjPersonal As New ClsRH
If ObjPersonal.GetPersonalConceptos(CvePersonal, UsuarioActual.CveEmpresa) Then
- GVConceptos.DataSource = ObjPersonal.DtResultados
+ GVConceptos.DataSource = ObjPersonal.DtResultados.FiltraParametros("(CveSistema <>3 AND CveSistema <>4) OR CveSistema IS NULL")
Dim frow As DataRow = ObjPersonal.DtResultados.FiltroPrimero("CveSistema =3")
If Not IsNothing(frow) Then
TxtInfoValor.Text = String.Format("{0:###,###.##}", frow("Importe"))
@@ -2163,6 +2297,24 @@ Partial Class RH_Personal
TxtInfoFechaInicio.Text = String.Format("{0:dd/MM/yyyy}", frow("FInicioAplicacion"))
ChkInfo.Checked = frow("estatus").ToString().ToUpper().Contiene("1", "TRUE")
End If
+
+
+ frow = ObjPersonal.DtResultados.FiltroPrimero("CveSistema =4")
+ TxtFonValor.Text = ""
+ DdlFonTipoAplicacion.SelectedValueExist("-1")
+ TxtFonDescripcion.Text = ""
+ TxtFonNumCredito.Text = ""
+ TxtFonFechaInicio.Text = ""
+ ChkFonacot.Checked = False
+ If Not IsNothing(frow) Then
+ TxtFonValor.Text = String.Format("{0:###,###.##}", frow("Importe"))
+ DdlFonTipoAplicacion.SelectedValueExist(frow("TipoAplicacion").ToString())
+
+ TxtFonDescripcion.Text = String.Format("{0}", frow("Descripcion02"))
+ TxtFonNumCredito.Text = String.Format("{0}", frow("Descripcion01"))
+ TxtFonFechaInicio.Text = String.Format("{0:dd/MM/yyyy}", frow("FInicioAplicacion"))
+ ChkFonacot.Checked = frow("estatus").ToString().ToUpper().Contiene("1", "TRUE")
+ End If
Else
GVConceptos.DataSource = Nothing
End If
@@ -5930,4 +6082,30 @@ Partial Class RH_Personal
gvrow.FCTextBox("TxtPorPago").Text = "87.5"
End If
End Sub
+ Protected Sub LnkGuardarFonacot_Click(sender As Object, e As EventArgs)
+ Dim importe As Double = TxtFonValor.Text.ToDouble()
+ Dim TipoAplicacion As Integer = DdlFonTipoAplicacion.SelectedValue.ToEntero()
+ Dim NoPagos As Integer = 0
+ Dim SaldoIni As Double = 0
+ Dim descripcion02 As String = TxtFonDescripcion.Text
+ Dim descripcion01 As String = TxtFonNumCredito.Text
+ Dim fecha As String = TxtFonFechaInicio.Text.Replace("_", "")
+ Dim estatus As Integer = If(ChkFonacot.Checked, 1, 0)
+
+ If fecha.Length > 8 Then
+ fecha = fecha.ToDateTime().ToString("yyyy/MM/dd")
+ Else
+ fecha = ""
+ End If
+
+ Dim continuar As Boolean = True
+
+ Using ObjPersonal As ClsRH = New ClsRH()
+ If Not ObjPersonal.AddConcepto(CvePersonal, -1, importe, TipoAplicacion, NoPagos, SaldoIni, UsuarioActual.CveUsuario, 4, descripcion01, descripcion02, fecha, "", estatus, UsuarioActual.CveEmpresa) Then continuar = False
+ End Using
+
+ If continuar Then
+ Alert("Se actualizo el calculo de fonacot")
+ End If
+ End Sub
End Class
diff --git a/RH/PopUpBuscarPersonal.aspx.vb b/RH/PopUpBuscarPersonal.aspx.vb
index 06a779f57..eec974cf1 100644
--- a/RH/PopUpBuscarPersonal.aspx.vb
+++ b/RH/PopUpBuscarPersonal.aspx.vb
@@ -396,16 +396,19 @@ Partial Class RH_PopUpBuscarPersonal
If TxtRFC.Text.Trim <> String.Empty Then Return True
If TxtHorarioDe.Text.Trim <> String.Empty Then Return True
- If DdlTurnos.SelectedValue.ToEntero > 0 Then Return True
- If DdlPuestos.SelectedValue.ToEntero > 0 Then Return True
+ If DdlTipoPeriodo.SelectedValue.ToEntero > 0 Then Return True
+ If DdlTipoContrato.SelectedValue.ToEntero > 0 Then Return True
If DdlDepartamentos.SelectedValue.ToEntero > 0 Then Return True
- If DdlRuta.SelectedValue.ToEntero > 0 Then Return True
- If DdlEscolaridad.SelectedValue.ToEntero > 0 Then Return True
- If DdlEstadoCivil.SelectedValue.ToEntero > 0 Then Return True
If DdlGenero.SelectedValue.ToEntero > 0 Then Return True
- If DdlEstatus.SelectedValue.ToEntero > 0 Then Return True
- If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
+ If DdlEstadoCivil.SelectedValue.ToEntero > 0 Then Return True
+ If DdlEscolaridad.SelectedValue.ToEntero > 0 Then Return True
+ If DdlTurnos.SelectedValue.ToEntero > 0 Then Return True
If DdlClienteAsignado.SelectedValue.ToEntero > 0 Then Return True
+ If DdlProyecto.SelectedValue.ToEntero > 0 Then Return True
+ If DdlPuestos.SelectedValue.ToEntero > 0 Then Return True
+ If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
+ If DdlRuta.SelectedValue.ToEntero > 0 Then Return True
+ If DdlEstatus.SelectedValue.ToEntero > 0 Then Return True
Return False
End Function
diff --git a/Sistemas/CatSesiones.aspx b/Sistemas/CatSesiones.aspx
index 266a9afff..0f9885da8 100644
--- a/Sistemas/CatSesiones.aspx
+++ b/Sistemas/CatSesiones.aspx
@@ -1,67 +1,70 @@
-<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatSesiones.aspx.vb" Inherits="Sistemas_CatSesiones" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%-- --%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatSesiones.aspx.vb" Inherits="Sistemas_CatSesiones" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/Sistemas/CatSesiones.aspx.vb b/Sistemas/CatSesiones.aspx.vb
index 943e3b585..0b2111830 100644
--- a/Sistemas/CatSesiones.aspx.vb
+++ b/Sistemas/CatSesiones.aspx.vb
@@ -59,7 +59,7 @@ Partial Class Sistemas_CatSesiones
ElseIf DdlVariable.SelectedItem.Value = "ProductosServicios" Then
CargaProductosServicios()
ElseIf DdlVariable.SelectedItem.Value = "PSSimplificado" Then
- CargaProductosServiciossimplificado()
+ CargaProductosServiciosSimplificado()
ElseIf DdlVariable.SelectedItem.Value = "CONAC" Then
CargaCONAC()
@@ -88,14 +88,16 @@ Partial Class Sistemas_CatSesiones
ElseIf DdlVariable.SelectedItem.Value = "GlobalDTSATMotivoTraslado" Then
CargaSATMotivoTraslado()
ElseIf DdlVariable.SelectedItem.Value = "GlobalDTConceptosContables" Then
- CargaConceptosContables()
- ElseIf DdlVariable.SelectedItem.Value = "GlobalDTClasificacionPorcentaje" Then
- CargaDTClasificacionPorcentaje()
- End If
-
-
-
-
+ CargaConceptosContables()
+ ElseIf DdlVariable.SelectedItem.Value = "GlobalDTClasificacionPorcentaje" Then
+ CargaDTClasificacionPorcentaje()
+ ElseIf DdlVariable.SelectedItem.Value = "GlobalDTInvPSSeccionesAlmacen" Then
+ CargaDTInvPSSeccionesAlmacen()
+ End If
+
+
+
+
End Sub
Private Sub CargaConceptosContables()
Dim ObjContabilidad As New ClsContabilidad
@@ -363,8 +365,8 @@ Partial Class Sistemas_CatSesiones
Private Sub CargaPaises()
Dim Gral As New ClsGenerales
- If Gral.GetGralPaises Then Application("GlobalDTGralPaises") = Gral.DtResultados Else Application("GlobalDTGralPaises") = Nothing
- If Gral.GetClasificacionPorcentaje(-1, -1, -1, -1, 1) Then Application("GlobalDTClasificacionPorcentaje") = Gral.DtResultados Else Application("GlobalDTClasificacionPorcentaje") = Nothing
+ If Gral.GetGralPaises Then Application("GlobalDTGralPaises") = Gral.DtResultados Else Application("GlobalDTGralPaises") = Nothing
+ If Gral.GetClasificacionPorcentaje(-1, -1, -1, -1, 1) Then Application("GlobalDTClasificacionPorcentaje") = Gral.DtResultados Else Application("GlobalDTClasificacionPorcentaje") = Nothing
Gral.Dispose()
End Sub
@@ -552,14 +554,18 @@ Partial Class Sistemas_CatSesiones
' Response.Redirect(dominio)
'End If
LblTotal.Text = dominio
- End Sub
-
- Private Sub CargaDTClasificacionPorcentaje()
-
- Dim ObjGenerales As New ClsGenerales
- If ObjGenerales.GetClasificacionPorcentaje(-1) Then Application("GlobalDTClasificacionPorcentaje") = ObjGenerales.DtResultados Else Application("GlobalDTClasificacionPorcentaje") = Nothing
- ObjGenerales.Dispose()
-
- End Sub
-
+ End Sub
+
+ Private Sub CargaDTClasificacionPorcentaje()
+
+ Dim ObjGenerales As New ClsGenerales
+ If ObjGenerales.GetClasificacionPorcentaje(-1) Then Application("GlobalDTClasificacionPorcentaje") = ObjGenerales.DtResultados Else Application("GlobalDTClasificacionPorcentaje") = Nothing
+ ObjGenerales.Dispose()
+
+ End Sub
+
+ Private Sub CargaDTInvPSSeccionesAlmacen()
+ GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, -1, -1) = Nothing
+ End Sub
+
End Class
diff --git a/Ventas/PopUpBuscarClientes.aspx.vb b/Ventas/PopUpBuscarClientes.aspx.vb
index 96af8f67b..7a988792a 100644
--- a/Ventas/PopUpBuscarClientes.aspx.vb
+++ b/Ventas/PopUpBuscarClientes.aspx.vb
@@ -73,7 +73,7 @@ Partial Class PopUpBuscarClientes
Dim ObjClientes As New ClsClientes()
If ObjClientes.GetClientes(-1, Nombre, Codigo, NombreCorto, RFC, Telefono, Mail, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa,
- DdlEstatus.SelectedValue.ToEntero, TipoCliente:=TipoCliente) Then
+ DdlEstatus.SelectedValue.ToEntero, TipoCliente:=TipoCliente, TopSelect:=100) Then
If ObjClientes.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjClientes.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjClientes.DtResultados
diff --git a/Ventas/PopUpBuscarFolio.aspx.vb b/Ventas/PopUpBuscarFolio.aspx.vb
index 7ecfa5de0..960074304 100644
--- a/Ventas/PopUpBuscarFolio.aspx.vb
+++ b/Ventas/PopUpBuscarFolio.aspx.vb
@@ -127,7 +127,7 @@ Partial Class PopUpBuscarFolio
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetVentas(UsuarioActual.CveEmpresa, DdlTipoDocto.SelectedValue, Serie, Folio, Codigo, Cliente.ToEntero, DdlSubProyecto.SelectedValue.ToEntero,
DdlEstatusFactura.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, FechaI, FechaF, FolioFiscal, If(DdlSucursalCliente.Visible, DdlSucursalCliente.SelectedValue.ToEntero, -1),
- DdlPS.SelectedValue.ToEntero, PedidoContrato:=PeidoContrato, OrdenCompra:=OrdenCompra, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
+ DdlPS.SelectedValue.ToEntero, PedidoContrato:=PeidoContrato, OrdenCompra:=OrdenCompra, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TopSelect:=100) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjVentas.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjVentas.DtResultados
@@ -280,6 +280,7 @@ Partial Class PopUpBuscarFolio
End Sub
Private Function ValidarUnFiltroSeleccionado() As Boolean
+ If DdlClasificacion.SelectedValue.ToEntero > 0 Then Return True
If DdlTipoDocto.SelectedValue <> "-1" Then Return True
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
If DdlEstatusFactura.SelectedValue.ToEntero > 0 Then Return True
diff --git a/Ventas/PopUpBuscarPs.aspx.vb b/Ventas/PopUpBuscarPs.aspx.vb
index 44825d642..986ee61da 100644
--- a/Ventas/PopUpBuscarPs.aspx.vb
+++ b/Ventas/PopUpBuscarPs.aspx.vb
@@ -68,7 +68,7 @@ Partial Class PopUpBuscarPs
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPS(-1, Ddlclasificacion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Codigo:=Codigo, CodigoBarras:=CodigoBarras, PS:=Nombre,
pEstado:=DdlEstado.SelectedValue.ToEntero, CveTipoPS:=DdlCveTipoPS.SelectedValue.ToEntero, pAplicaParaVenta:=DdlAplicaVenta.SelectedValue.ToEntero,
- CveCompuesto:=DdlCompuesto.SelectedValue.ToEntero) Then
+ CveCompuesto:=DdlCompuesto.SelectedValue.ToEntero, TopSelect:=100) Then
GvDatos.DataSource = ObjPS.DtResultados
dvbusqueda.Visible = True
Else
@@ -103,7 +103,9 @@ Partial Class PopUpBuscarPs
If TxtNombre.Text.Trim <> String.Empty Then Return True
If DdlCveTipoPS.SelectedValue.ToEntero > 0 Then Return True
+ If DdlEstado.SelectedValue.ToEntero > 0 Then Return True
If DdlAplicaVenta.SelectedValue.ToEntero > 0 Then Return True
+ If Ddlclasificacion.SelectedValue.ToEntero > 0 Then Return True
If DdlCompuesto.SelectedValue.ToEntero > 0 Then Return True
Return False