This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-05-17 08:48:19 -07:00
20 changed files with 584 additions and 715 deletions

View File

@@ -1711,7 +1711,7 @@ Partial Class Compras_Compras
If Valida.EsValida = 2 Then
Validada = False
If ObjeFacturas.UpdateEstatus(Valida.EsValida, CveFactura) Then
If ObjeFacturas.UpdateEstatus(Valida.EsValida, CveFactura, UsuarioActual.CveEmpresa) Then
End If
@@ -1735,11 +1735,7 @@ Partial Class Compras_Compras
If Validada And Not EnListadoEFOS Then
Try
XMLDoc.Load(Archivo)
Catch ex As Exception
Try
@@ -1749,13 +1745,8 @@ Partial Class Compras_Compras
Catch ex2 As Exception
GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString())
End Try
End Try
CreaDTConceptos()
CargaComprobanteXML(XMLDoc)
If NuevaValidacionXML = 1 Or (Version = "3.3" Or Version = "4.0") Then
@@ -1821,7 +1812,6 @@ Partial Class Compras_Compras
CargaConceptosXML(XMLDoc)
End If
Select Case TipoComprobante
Case "ingreso" : DdlTipoComprobante.SelectedValue = "Fac" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
Case "egreso" : DdlTipoComprobante.SelectedValue = "NC" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant")) : ChkAplicaNotaCredito.Enabled = False
@@ -4695,7 +4685,7 @@ Partial Class Compras_Compras
'End If
'METODO DE PREPOLIZA DE ALMACEN
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 145, 152, 153, 154, 159, 160, 161, 162, 163) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 145, 152, 153, 154, 158, 159, 160, 161, 162, 163) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
If ImporteAlmacen > 0 Then
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
@@ -4707,7 +4697,7 @@ Partial Class Compras_Compras
If OCVinculada AndAlso DdlOCVinculaInv.Visible AndAlso Not (CveImportacion > 0 Or CveFlete > 0) Then
CveConceptoContableAlmacen = DdlOCVinculaInv.SelectedValue.ToEntero
End If
If UsuarioActual.CveEmpresa.Contiene(72, 80, 140, 141) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'se comento, RMF. 2020.08.19, no le hallo sentido
If UsuarioActual.CveEmpresa.Contiene(72, 80, 140, 141, 152) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'se comento, RMF. 2020.08.19, no le hallo sentido
CveConceptoContableAlmacen = 205
End If
Else
@@ -4764,7 +4754,7 @@ Partial Class Compras_Compras
ViewState("CveCompra") = ObjCompras.CveCompra
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
Devolucion = guardardevolucion(ObjInventario, ObjCompras.CveCompra, TxtSubTotal.Text.ToDecimal, TxtFecha.Text.Trim.ToDate)
Devolucion = guardardevolucion(ObjInventario, ObjCompras.CveCompra, TxtSubTotal2.Text.ToDecimal, TxtFecha.Text.Trim.ToDate)
TotalRealDevolucion = Devolucion.Total
@@ -5158,7 +5148,7 @@ Partial Class Compras_Compras
AutoConta = False
End If
If (AutoConta Or UsuarioActual.Empresa.UsaAC) And ObjContaAC Is Nothing Then
If (AutoConta Or UsuarioActual.Empresa.UsaAC) And ObjContaAC Is Nothing AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
End If
@@ -6518,7 +6508,7 @@ Partial Class Compras_Compras
' End If
Case 6 'Compra
Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140, 145, 141, 152, 153, 154, 159, 160, 161, 162, 163) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119, 140, 145, 141, 152, 153, 154, 158, 159, 160, 161, 162, 163) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
Dim RegistraConcepto225 As Boolean = UsuarioActual.Empresa.UsaInventarios AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1"
@@ -7809,8 +7799,6 @@ Partial Class Compras_Compras
idCuentaContabilizacion = 0
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
Exit For
@@ -7835,7 +7823,7 @@ Partial Class Compras_Compras
End If
End If
If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) AndAlso UsuarioActual.CveEmpresa <> 72 Then
If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorPrepolizaDescuadre = True
@@ -8809,7 +8797,7 @@ Partial Class Compras_Compras
Dim ErrorCompra = False
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IdPoliza > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
If Not ObjAC.RemovePoliza(IdPoliza) Then
@@ -9945,7 +9933,7 @@ Partial Class Compras_Compras
Dim ObjInventario As New ClsInventarios(ObjCompra.IniciaTransacSQL)
Dim ObjContabilidad As New ClsContabilidad(ObjCompra.IniciaTransacSQL)
Dim ObjAF As New ClsAF(ObjCompra.IniciaTransacSQL)
Dim ObjContaAC As ClsContPAQi = Nothing '= New ClsContPAQi(UsuarioActual.Empresa)
Dim ObjContaAC As ClsContPAQi = Nothing
Dim Retorno As Boolean = True
Dim CveEstatusFactura As Integer = HdnCveEstatusFactura.Value.ToEntero
@@ -10429,7 +10417,7 @@ Partial Class Compras_Compras
Next
If Retorno Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC Is Nothing Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
@@ -14414,26 +14402,21 @@ Partial Class Compras_Compras
Private Function guardardevolucion(ObjInventario As ClsInventarios, CveCompra As Integer, subtotal As Decimal, Fecha As Date) As MMensajeDevolucion
Dim TotalSumaPU As Decimal = 0.0D
Dim TotalSumaPU As Decimal = 0
Dim ErrorMovInv As Boolean = False
Dim CveAlmacen As Integer = DdlAlmacenDevolucion.SelectedValue.ToEntero()
Dim subtotaldevolucion As Double = 0
Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False
Dim CveMovimientoEntrada As Integer = -1
'Calculo los subtotales para comparar con la NC
Dim cantidad As Double = 0.0
Dim TotalAlmacen As Decimal = 0
Dim Cantidad As Decimal
For Each Dr As GridViewRow In GVDevolucion.Rows
'CveAlmacen = Dr.DataKey("CveAlmacen").ToString.ToEntero
cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDouble
cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDecimal
If cantidad > 0 Then
realizadevolucion = True
subtotaldevolucion += Dr.DataKey("PU").ToString.ToDouble * cantidad
subtotaldevolucion += Dr.DataKey("PU").ToString.ToDecimal * cantidad
End If
Next
'si no esta vinculado a nc simplemente me lo brinco
@@ -14447,7 +14430,7 @@ Partial Class Compras_Compras
ErrorMovInv = True
Else
Dim Acumulado As Decimal = 0
Dim PU As Decimal = 0
Dim PU As Decimal
Dim CantidadRenglones As Integer = 0
Dim ii As Integer = 0
For Each Dr As GridViewRow In GVDevolucion.Rows
@@ -14466,7 +14449,6 @@ Partial Class Compras_Compras
PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr.FCTextBox("TxtCantidad").Text.ToDouble, Dr.DataKey("CveUM").ToString.ToEntero, Dr.DataKey("CvePS").ToString.ToEntero, PU, -1, CveMovimientoDetalleEntrada:=Dr.DataKey("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
Exit For
@@ -14481,8 +14463,6 @@ Partial Class Compras_Compras
End If
End If
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1, -1) Then
For Each drow As DataRow In ObjInventario.DtResultados.Rows
@@ -14491,8 +14471,6 @@ Partial Class Compras_Compras
End If
Return New MMensajeDevolucion() With
{
.CveMovimiento = CveMovimientoEntrada,
@@ -14567,7 +14545,7 @@ Partial Class Compras_Compras
'si no esta vinculado a nc simplemente me lo brinco
If realizadevolucion Then
'si el subtotal es iwal a la nc lo guardo si no marco error
If TxtSubTotal.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal.Text.ToDouble < subtotaldevolucion + 1 Then
If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then
VinculaDevolucion()
@@ -14588,7 +14566,7 @@ Partial Class Compras_Compras
'LIMPIAR PARTIDAS DE LA COMPRA PARA AGREGAR NUEVAS
TmpDT.Clear()
Dim SubTotalCompra As Decimal = TxtSubTotal.Text.ToDecimal()
Dim SubTotalCompra As Decimal = TxtSubTotal2.Text.ToDecimal()
Dim TotalCompra As Decimal = TxtTotal.Text.ToDecimal()
Dim IVACompra As Decimal = TxtIVA.Text.ToDecimal()
Dim IEPSCompra As Decimal = TxtIEPS.Text.ToDecimal()
@@ -15075,7 +15053,7 @@ Partial Class Compras_Compras
End If
Dim ObjAC As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
End If
@@ -18509,6 +18487,10 @@ Partial Class Compras_Compras
End If
End If
If DrPS("CvePSCargo").ToString <> "" Then 'si es un producto de usado. que se registre contablemente como alamcen(como producto)
CveTipoPS = 2
End If
Dim DecimalesPermitidos = 6
Row("CveConcepto") = TmpDT.Rows.Count + 1
@@ -18665,13 +18647,19 @@ Partial Class Compras_Compras
'PS - CLASIFICACION
If DdlPS.SelectedValue.ToEntero > 0 Then
Dim PSRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("")
If PSRow IsNot Nothing Then
Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero
If PSRow("CvePSCargo").ToString <> "" Then 'si es un producto de usado. que se registre contablemente como alamcen(como producto)
CveTipoPS = 2
End If
DrPS("CveClasificacion") = PSRow("CveClasificacion").ToString
DrPS("Clasificacion") = PSRow("Clasificacion").ToString
DrPS("CvePS") = DdlPS.SelectedValue
DrPS("PS") = PSRow("PS").ToString
DrPS("CveTipoPS") = PSRow("CveTipoPS").ToString.ToEntero
DrPS("CveTipoPS") = CveTipoPS
DrPS("CveSATPS") = PSRow("CveSATPS").ToString.ToEntero
DrPS("SATClaveProductoServicio") = PSRow("SATClaveProductoServicio").ToString
DrPS("CveSATPSActualizado") = 0

View File

@@ -1095,7 +1095,7 @@ Partial Class Compras_eFacturas
Dim ObjDatos As New ClsCompras
Dim FueValidado As Integer = 0
If GvD.Rows(e.RowIndex).FCCheckBox("ChkFueValidado").Checked Then FueValidado = 1
If ObjDatos.UpdateEstatus(FueValidado, GvD.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
If ObjDatos.UpdateEstatus(FueValidado, GvD.DataKeys(e.RowIndex).Value.ToString.ToEntero, UsuarioActual.CveEmpresa) Then
GvD.EditIndex = -1
BtnConsultar_Click(sender, e)
End If
@@ -1138,16 +1138,16 @@ Partial Class Compras_eFacturas
If ObjValidacion.EsValida = 2 Then
Alert("La factura está cancelada ante el SAT.", TipoMensaje.MsgInformacion)
End If
Correcto = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
Else
Alert("La Factura no se pudo validar.", TipoMensaje.MsgAdvertencia)
End If
ObjValidacion.Dispose()
Case "ValidarCFD"
Correcto = ObjDatos.UpdateEstatus(1, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(1, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
Case "Omitir"
Correcto = ObjDatos.UpdateEstatus(3, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(3, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
End Select
ObjDatos.Dispose()
@@ -1261,7 +1261,7 @@ Partial Class Compras_eFacturas
Dim ObjDatos As New ClsCompras
Dim FueValidado As Integer = 0
If GvPagos.Rows(e.RowIndex).FCCheckBox("ChkFueValidado").Checked Then FueValidado = 1
If ObjDatos.UpdateEstatus(FueValidado, GvD.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
If ObjDatos.UpdateEstatus(FueValidado, GvD.DataKeys(e.RowIndex).Value.ToString.ToEntero, UsuarioActual.CveEmpresa) Then
GvPagos.EditIndex = -1
End If
ObjDatos.Dispose()
@@ -1298,16 +1298,16 @@ Partial Class Compras_eFacturas
If ObjValidacion.EsValida = 2 Then
Alert("La factura está cancelada ante el SAT.", TipoMensaje.MsgInformacion)
End If
Correcto = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
Else
Alert("La Factura no se pudo validar.", TipoMensaje.MsgAdvertencia)
End If
ObjValidacion.Dispose()
Case "ValidarCFD"
Correcto = ObjDatos.UpdateEstatus(1, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(1, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
Case "Omitir"
Correcto = ObjDatos.UpdateEstatus(3, GvRow.DataKey("CveFactura").ToEntero)
Correcto = ObjDatos.UpdateEstatus(3, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
End Select
ObjDatos.Dispose()
@@ -1317,15 +1317,15 @@ Partial Class Compras_eFacturas
End Sub
#End Region
Protected Sub ImgCFDiMasivo_Click(sender As Object, e As EventArgs) Handles LnkCFDiMasivo.Click
Dim ObjDatos As New ClsCompras
ObjDatos.IniciaTransacSQL()
Dim ErrorTrans As Boolean = False
If Tab.ActiveTabIndex = 0 Then
For Each GvRow As GridViewRow In GvD.Rows
If GvRow.DataKey("TipoFactura") = "CFDi" AndAlso GvRow.DataKey("FueValidado").Contiene("0", "1") Then
Dim ObjValidacion As New ClsValidaCFDi(GvRow.DataKey("UUID"), GvRow.DataKey("RFCDe"), GvRow.DataKey("RFCPara"), GvRow.DataKey("Total").ToDecimal)
If ObjValidacion.EsValida > 0 Then
If Not ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero) Then
Dim ObjDatos As New ClsCompras
If Not ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) Then
ErrorTrans = True
End If
End If
@@ -1337,22 +1337,23 @@ Partial Class Compras_eFacturas
If GvRow.DataKey("TipoFactura") = "CFDi" AndAlso GvRow.DataKey("FueValidado").Contiene("0", "1") Then
Dim ObjValidacion As New ClsValidaCFDi(GvRow.DataKey("UUID"), GvRow.DataKey("RFCDe"), GvRow.DataKey("RFCPara"), 0)
If ObjValidacion.EsValida > 0 Then
If Not ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero) Then
Dim ObjDatos As New ClsCompras
If Not ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) Then
ErrorTrans = True
End If
ObjDatos.Dispose()
End If
ObjValidacion.Dispose()
End If
Next
End If
If Not ErrorTrans Then
ObjDatos.Commit()
Alert("La verificación masiva ha terminado", TipoMensaje.MsgInformacion)
CargaDatos()
Else
ObjDatos.RollBack()
End If
ObjDatos.Dispose()
End Sub
Protected Sub LnkNoRecibidas_Click(sender As Object, e As EventArgs, Optional ValidaRowCount As Boolean = False) Handles LnkNoRecibias.Click
Dim DtNoRecibidas As New DataTable
@@ -2656,7 +2657,7 @@ Partial Class Compras_eFacturas
ObjGral.Dispose()
If Borrar = True Then
Dim ObjCompras As New ClsCompras
If ObjCompras.DeleteFactura(CveFactura) Then
If ObjCompras.DeleteFactura(CveFactura, UsuarioActual.CveEmpresa) Then
GvD.EditIndex = -1
RegistraScript(String.Format("$('#{0}').modal('hide');", "divDescripcion"))
Alert("La factura se eliminó correctamente.", TipoMensaje.MsgInformacion)
@@ -2681,7 +2682,7 @@ Partial Class Compras_eFacturas
ObjGral.Dispose()
If Borrar = True Then
Dim ObjCompras As New ClsCompras
If ObjCompras.DeleteFactura(CveFactura) Then
If ObjCompras.DeleteFactura(CveFactura, UsuarioActual.CveEmpresa) Then
GvPagos.EditIndex = -1
RegistraScript("$('#divDescripcionPago').modal('hide');")
Alert("La factura se eliminó correctamente.", TipoMensaje.MsgInformacion)
@@ -3966,7 +3967,7 @@ Partial Class Compras_eFacturas
ValidadoSAT = False
Else
Dim ObjDatos As New ClsCompras
ValidadoSAT = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, gvRow.DataKey("CveFactura").ToEntero)
ValidadoSAT = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, gvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa)
ObjDatos.Dispose()
End If