diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index f6868d9ec..616dc1d76 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -8863,7 +8863,7 @@ Public Class ClsPaginas
Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
'cuando el Pago viene por NC, se utiliza un concepto
- If Pago.TipoPago.Contiene("NC", "DEV") Then If CompraActual.CveMoneda = 2 Then ConPreP.CveConcepto = 304 Else ConPreP.CveConcepto = 272 'pago nota de crédito ME
+ If Pago.TipoPago.Contiene("NC", "DEV", "RNC") Then If CompraActual.CveMoneda = 2 Then ConPreP.CveConcepto = 304 Else ConPreP.CveConcepto = 272 'pago nota de crédito ME
'cuando el Pago viene por Venta, se utiliza un concepto
'If Pago.TipoPago.Contiene("Venta") Then If CompraActual.CveMoneda = 2 Then ConPreP.CveConcepto = 275 Else ConPreP.CveConcepto = 275 'Pago Compra con Venta
@@ -9163,24 +9163,6 @@ Public Class ClsPaginas
Ret.CveConceptoAcreditable = 333
Ret.CveConceptoxAcreditar = 334
End If
- 'If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- ' Dim ObjConta As New ClsContabilidad
- ' If UsuarioActual.Empresa.Funcionalidad(FuncionalidadxAcred).ToEntero > 0 Then
- ' Ret.IdCtaContablexAcreditar = UsuarioActual.Empresa.Funcionalidad(FuncionalidadxAcred).ToEntero
- ' Else
- ' If ObjConta.GetRetCuenta(Ret.CveConceptoxAcreditar, UsuarioActual.CveEmpresa) Then
- ' If ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- ' End If
- ' End If
- ' If UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- ' Ret.IdCtaContableAcreditable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- ' Else
- ' If ObjConta.GetRetCuenta(Ret.CveConceptoAcreditable, UsuarioActual.CveEmpresa) Then
- ' If ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- ' End If
- ' End If
- ' ObjConta.Dispose()
- 'End If
Return Ret
End Get
End Property
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index ba963379c..837cd65fe 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1689,12 +1689,6 @@ Partial Class Compras_Compras
DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV"))
DdlTipoComprobante.SelectedValueExist("DEV")
End If
-
- If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then
- DdlTipoCompra.Items.Add(New ListItem("Remision Nota De Crédito", "15"))
- End If
-
-
End If
'SE OCUPAN AFUERA DEL POSTBACK ??
@@ -7013,56 +7007,31 @@ Partial Class Compras_Compras
End If
End If
Next
+ If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
+ If DdlRemisionNotaCredito.SelectedValue.ToEntero > 0 AndAlso ImporteRNCSaldar > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlRemisionNotaCredito.SelectedValue.ToEntero > 0 AndAlso ImporteRNCSaldar > 0 Then
+ If Not ErrorPrepoliza Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
+ CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
+ ErrorPrepoliza = True
+ End If
- 'Dim importeMovimientoNC As Decimal = Gvr.FCTextBox("TxtImporte").Text.ToDecimal
+ If Not ErrorPrepoliza Then
+ Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
- Dim Pago As New CompraPago
- Pago.ImportePago = ImporteRNCSaldar
- Pago.CveMonedaPago = CompraActual.CveMoneda
- Pago.CveCompraAmortizacion = CompraActual.CveCompra
- Pago.Referencia = CompraActual.SerieFolio
- Pago.TCPago = CompraActual.TC
- Pago.AplicaAcreditable = False
- Pago.TipoPago = "RNC"
- Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
+ CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
+ ErrorPrepoliza = True
+ End If
+ End If
+ End If
+ End If
- Dim CompraPago As New Compra
- ''datos de la compra tipodocto:Fac, para sobreescribirlos
- CompraPago.CveCompra = DdlRemisionNotaCredito.SelectedValue.ToEntero
- CompraPago.CveProveedor = DdlProveedor.SelectedValue.ToEntero
- CompraPago.SerieFolio = SerieFolioProntoPago
- CompraPago.TC = TipoCambioProntoPago
- CompraPago.Fecha = FechaProntoPago
- CompraPago.CveMoneda = CveMonedaProntoPago
- CompraPago.Total = ImporteRNCSaldar
- CompraPago.CveTipoConceptoProveedor = CveTipoConcepto
- CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
-
- ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
-
- 'If Not ErrorPrepoliza Then
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
- ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
- ' ErrorPrepoliza = True
- ' End If
-
- ' If Not ErrorPrepoliza Then
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
- ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
- ' ErrorPrepoliza = True
- ' End If
- ' End If
- 'End If
-
-
- End If
-
- If ErrorPrepoliza Then
- ErrorMovtosCxP = True
- Exit Select
+ If ErrorPrepoliza Then
+ ErrorMovtosCxP = True
+ Exit Select
+ End If
End If
importeMovimiento = 0
@@ -7627,8 +7596,8 @@ Partial Class Compras_Compras
End If
- If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
- If Not GeneraRemisionsNotadeCredito(ObjCompras.IniciaTransacSQL, CveCompra) Then
+ If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
+ If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza) Then
TieneError = True
End If
End If
@@ -14738,10 +14707,6 @@ Partial Class Compras_Compras
IndexTmpOriginal += 1
Next
-
-
-
-
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (AjusteProntoPagoConIVA > 0 Or AjusteProntoPagoSinIVA > 0) Then
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
@@ -15680,6 +15645,13 @@ Partial Class Compras_Compras
If DdlTipoComprobante.SelectedValue = "NC" Then
DivReembolso.Visible = False
RBLPago.Items(2).Enabled = False
+ If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
+ If DdlTipoCompra.Items.FindByValue("15") Is Nothing Then
+ DdlTipoCompra.Items.Add(New ListItem("Remision Nota De Crédito", "15"))
+ UpEstatus.Update()
+ End If
+
+ End If
Else
DivReembolso.Visible = True
RBLPago.Items(2).Enabled = True
@@ -19540,20 +19512,18 @@ Partial Class Compras_Compras
If DdlTipoComprobante.SelectedValue = "NC" Then
CargaDdlRemisionNotaCredito()
+ 'bloquear la vinculación a la compra
+ HLAplicaNCFact.Visible = False
Else
Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia)
DdlRemisionNotaCredito.SelectedValueExist(-1)
DdlTipoCompra.SelectedValueExist(-1)
End If
-
-
End If
-
End Sub
-
#End Region
#Region "GARANTÍAS"
@@ -20867,7 +20837,7 @@ Partial Class Compras_Compras
#Region "PRONTO PAGO"
- Public Function GeneraRemisionsNotadeCredito(ByRef trasaccion As SqlTransaction, CveCompraRegistrada As Integer) As Boolean
+ Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer) As Boolean
Dim respuesta As Boolean = True
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
@@ -20890,20 +20860,20 @@ Partial Class Compras_Compras
If PSRow IsNot Nothing Then
- Dim CompraRNC As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual)
- CompraRNC.CveFactura = -1
- CompraRNC.CveProveedor = DdlProveedor.SelectedValue.ToEntero
- CompraRNC.CveTipoProveedor = CveTipoProveedor
- CompraRNC.CveTipoConceptoProveedor = CveTipoConcepto
- CompraRNC.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir
- CompraRNC.IEPSGasto = False
- CompraRNC.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}"
- CompraRNC.NombreProveedor = DdlProveedor.SelectedItem.Text
- CompraRNC.Fecha = TxtFecha.Text.ToDate
- CompraRNC.CveMoneda = DdlMoneda.SelectedValue.ToEntero
- CompraRNC.Serie = TxtSerie.Text
- CompraRNC.Folio = TxtFolio.Text
- CompraRNC.CveCompraAmortizacion = CveCompraRegistrada
+ Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
+ .CveFactura = -1,
+ .TipoDocto = "RNC",
+ .CveProveedor = DdlProveedor.SelectedValue.ToEntero,
+ .CveTipoProveedor = CveTipoProveedor,
+ .CveTipoConceptoProveedor = CveTipoConcepto,
+ .Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
+ .NombreProveedor = DdlProveedor.SelectedItem.Text,
+ .Fecha = TxtFecha.Text.ToDate,
+ .CveMoneda = DdlMoneda.SelectedValue.ToEntero,
+ .Serie = TxtSerie.Text,
+ .Folio = TxtFolio.Text,
+ .CveCompraAmortizacion = CveCompraRegistrada
+ }
Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero
If PSRow("CvePSCargo").ToString <> "" Then
@@ -20917,42 +20887,62 @@ Partial Class Compras_Compras
Dim UM As String = PSRow("UnidadMedida").ToString
Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
-
- CompraRNC.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, (ImporteRNC + IVARNC), IVARNC)
- If Not CompraRNC.AddCompraRNC(trasaccion) Then
+ CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, (ImporteRNC + IVARNC), PorcentajeIVA)
+ If CompraRNC.AddCompra(sqltransaccion) Then
+ Dim tImporteRNC = ImporteRNC + IVARNC ' le agrego el importe del iva
+ Dim Pago As New CompraPago
+ Pago.ImportePago = tImporteRNC
+ Pago.CveMonedaPago = CompraActual.CveMoneda
+ Pago.CveCompraAmortizacion = CompraRNC.CveCompra
+ Pago.Referencia = CompraRNC.SerieFolio
+ Pago.TCPago = CompraActual.TC
+ Pago.AplicaAcreditable = False
+ Pago.TipoPago = "RNC"
+ Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
+ respuesta = Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
+ Else
respuesta = False
End If
- If respuesta Then
+ If respuesta AndAlso ImporteRNCProntoPago > 0 Then
- Dim CompraRNCProntoPAgo As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual)
- CompraRNCProntoPAgo.CveFactura = -1
- CompraRNCProntoPAgo.CveProveedor = DdlProveedor.SelectedValue.ToEntero
- CompraRNCProntoPAgo.CveTipoProveedor = CveTipoProveedor
- CompraRNCProntoPAgo.CveTipoConceptoProveedor = CveTipoConcepto
- CompraRNCProntoPAgo.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir
- CompraRNCProntoPAgo.IEPSGasto = False
- CompraRNCProntoPAgo.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}"
- CompraRNCProntoPAgo.NombreProveedor = DdlProveedor.SelectedItem.Text
- CompraRNCProntoPAgo.Fecha = TxtFecha.Text.ToDate
- CompraRNCProntoPAgo.CveMoneda = DdlMoneda.SelectedValue.ToEntero
- CompraRNCProntoPAgo.Serie = $"PP-{TxtSerie.Text}"
- CompraRNCProntoPAgo.Folio = $"{TxtFolio.Text}"
- CompraRNCProntoPAgo.CveCompraAmortizacion = CveCompraRegistrada
- Dim IVARNCProntoPago As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
+ Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
+ .TipoDocto = "RNC",
+ .CveProveedor = DdlProveedor.SelectedValue.ToEntero,
+ .CveTipoProveedor = CveTipoProveedor,
+ .CveTipoConceptoProveedor = CveTipoConcepto,
+ .Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
+ .NombreProveedor = DdlProveedor.SelectedItem.Text,
+ .Fecha = TxtFecha.Text.ToDate,
+ .CveMoneda = DdlMoneda.SelectedValue.ToEntero,
+ .Serie = $"PP-{TxtSerie.Text}",
+ .Folio = $"{TxtFolio.Text}",
+ .CveCompraAmortizacion = CveCompraRegistrada
+ }
+ Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
- CompraRNCProntoPAgo.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago)
- If Not CompraRNCProntoPAgo.AddCompraRNC(trasaccion) Then
+ CompraRNCProntoPago.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago, PorcentajeIVA)
+ If CompraRNCProntoPago.AddCompra(sqltransaccion) Then
+ Dim tImporteRNCProntoPago = ImporteRNCProntoPago + IVARNC ' le agrego el importe del iva
+ Dim Pago As New CompraPago
+ Pago.ImportePago = tImporteRNCProntoPago
+ Pago.CveMonedaPago = CompraActual.CveMoneda
+ Pago.CveCompraAmortizacion = CompraRNCProntoPago.CveCompra
+ Pago.Referencia = CompraRNCProntoPago.SerieFolio
+ Pago.TCPago = CompraActual.TC
+ Pago.AplicaAcreditable = False
+ Pago.TipoPago = "RNC"
+ Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
+ respuesta = Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
+ Else
respuesta = False
End If
-
End If
End If
Return respuesta
End Function
-
Public Property VincularOcProntoPago As Boolean
Get
If ViewState("VincularOcProntoPago") Is Nothing Then
@@ -20970,12 +20960,11 @@ Partial Class Compras_Compras
If VincularOcProntoPago Then
Return True
Else
-
+ Dim StrMsg As String = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra.
Se generaran Remisiones de Nota de Crédito.
- Descuento de ${ImporteRNC.ToString("###,###,###.00")}.
"
If ImporteRNCProntoPago > 0 Then
- LblModalConfirmaVinculacionProntoPago.Text = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra.
Se generaran las siguientes Remisiones de Nota de Crédito.
- Descuento de ${ImporteRNC.ToString("###,###,###.00")}.
- Pronto pago de ${ImporteRNCProntoPago.ToString("###,###,###.00")}"
- Else
- LblModalConfirmaVinculacionProntoPago.Text = $"Existe una diferencia de ${(ImporteRNC).ToString("###,###,###.00")} entre la compra y la Orden de Compra, se generara una Remision de Nota de Crédito por descuento de ${ImporteRNC.ToString("###,###,###.00")}"
+ StrMsg = StrMsg & $"- Pronto pago de ${ImporteRNCProntoPago.ToString("###,###,###.00")}"
End If
+ LblModalConfirmaVinculacionProntoPago.Text = StrMsg
RegistraScript("$('#DVModalConfirmaVinculacionProntoPago').modal('show');")
UpModalConfirmaVinculacionProntoPago.Update()
@@ -21002,15 +20991,12 @@ Partial Class Compras_Compras
If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2) Then
DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados
DTRemisionesNotaDeCredito = ObjCompras.DtResultados
- Else
- Alert("Ocurrió un error al obtener el catálogo de Notas de Crédito", Extensiones.TipoMensaje.MsgError)
End If
ObjCompras.Dispose()
DdlRemisionNotaCredito.DataBind()
DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1"))
-
UpEstatus.Update()
End Sub
@@ -21069,11 +21055,11 @@ Public Class ClsCompraManagerCompras
End Enum
Public Enum EnumCFDIVersion
v32
- V33
- V40
+ v33
+ v40
End Enum
Public Enum EnumTipoCompra
- Sin_definir = -1
+ SinDefinir = -1
Gasto_con_almacen = 10
Activo_Fijo = 1
'Costo_Indirecto = 2
@@ -21112,7 +21098,7 @@ Public Class ClsCompraManagerCompras
Public Property Folio As String = ""
Public Property FolioSecundario As String = ""
Public Property Descripcion As String = ""
- Public Property CFDIVersion As EnumCFDIVersion = EnumCFDIVersion.V40
+ Public Property CFDIVersion As EnumCFDIVersion = EnumCFDIVersion.v40
Public Property ProveedorNombre As String = ""
Public Property EsImportacion As Boolean = False
Public Property TC As Decimal = 1
@@ -21122,6 +21108,7 @@ Public Class ClsCompraManagerCompras
Public Property Total As Decimal = 0D
Public Property Moneda As String = ""
Public Property TipoComprobante As String
+ Public Property TipoDocto As String = "Fac"
Public Property TipoCambio As Decimal = 1
Public Property CompraNoDeducible As Integer = 0
Public Property IVA As Decimal = 0D
@@ -21269,7 +21256,7 @@ Public Class ClsCompraManagerCompras
Public Property Proyecto As String = ""
Public Property CveProyecto As Integer = -1
Public Property SubProyecto As String = ""
- Public Property TipoCompra As EnumTipoCompra = EnumTipoCompra.Sin_definir
+ Public Property TipoCompra As EnumTipoCompra = EnumTipoCompra.SinDefinir
Private Property DTTiposGastos() As DataTable
Public Property CveTipoProveedor As Integer = -1
Public Property IEPSGasto As Boolean = False
@@ -21282,14 +21269,19 @@ Public Class ClsCompraManagerCompras
Public Property CveIE As Integer = -1
Public Property CveCompraAmortizacion As Integer = -1
- Public Sub New(XmlFuente As String, OpcionCarga As EnumCargaCompra, DTTiposGastos As DataTable, UsuarioActual As Usuario)
+ Public Sub New(UsuarioActual As Usuario)
Errores = New StringBuilder
- Me.DTTiposGastos = DTTiposGastos
Me.UsuarioActual = UsuarioActual
+ End Sub
+ Public Sub New(XmlFuente As String, OpcionCarga As EnumCargaCompra, DTTiposGastos As DataTable, UsuarioActual As Usuario)
+
+ Errores = New StringBuilder
+ Me.DTTiposGastos = DTTiposGastos
+ Me.UsuarioActual = UsuarioActual
If OpcionCarga = EnumCargaCompra.SinXML Then
@@ -21300,11 +21292,10 @@ Public Class ClsCompraManagerCompras
CargaDesdeString(XmlFuente)
End If
End If
-
-
-
End Sub
+#Region "C A R G A S D E F U E N T E S "
+
Private Sub CargaDesdeArchivo(XmlFuenteRuta As String)
Dim XMLDoc As New XmlDocument
@@ -21350,7 +21341,6 @@ Public Class ClsCompraManagerCompras
End If
End Sub
-
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
Dim nodo As XmlNode = XMLDoc.DocumentElement
@@ -21361,9 +21351,9 @@ Public Class ClsCompraManagerCompras
If StrCFDIVerion = "3.2" Then
CFDIVersion = EnumCFDIVersion.v32
ElseIf StrCFDIVerion = "3.3" Then
- CFDIVersion = EnumCFDIVersion.V33
+ CFDIVersion = EnumCFDIVersion.v33
ElseIf StrCFDIVerion = "4.0" Then
- CFDIVersion = EnumCFDIVersion.V40
+ CFDIVersion = EnumCFDIVersion.v40
Else
GuardaLog($"CFDI Versión {StrCFDIVerion} no soportada")
Errores.AppendLine($"CFDI Versión {StrCFDIVerion} no soportada")
@@ -21389,7 +21379,7 @@ Public Class ClsCompraManagerCompras
TipoComprobante = ValorXML(nodo, "tipoDeComprobante")
TipoCambio = ValorXML(nodo, "TipoCambio", "1").ToDecimal
- If CFDIVersion = EnumCFDIVersion.V33 Or CFDIVersion = EnumCFDIVersion.V40 Then
+ If CFDIVersion = EnumCFDIVersion.v33 Or CFDIVersion = EnumCFDIVersion.v40 Then
Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago")))
If drm IsNot Nothing Then
CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero
@@ -21404,7 +21394,7 @@ Public Class ClsCompraManagerCompras
If CFDIVersion = EnumCFDIVersion.v32 Then
Prefijo = "cfd"
cfdVer = "http://www.sat.gob.mx/cfd/2"
- ElseIf CFDIVersion = EnumCFDIVersion.V33 Then
+ ElseIf CFDIVersion = EnumCFDIVersion.v33 Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
@@ -21415,7 +21405,7 @@ Public Class ClsCompraManagerCompras
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
- If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40) Then
+ If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then
Dim UUIDS As String = ""
Dim UUIDSLista As New List(Of String)
@@ -21465,7 +21455,7 @@ Public Class ClsCompraManagerCompras
TotalRetenciones = ValorXML(node, "totalImpuestosRetenidos", "0").ToDecimal
- If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
+ If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
For Each retencion As XmlNode In nodeRetenciones
If retencion.Attributes("Impuesto").Value = "002" Then RetencionIVA += retencion.Attributes("Importe").Value.ToDecimal
@@ -21485,7 +21475,7 @@ Public Class ClsCompraManagerCompras
TotalTraslados = ValorXML(node, "totalImpuestosTrasladados", "0").ToDecimal
Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Traslados/{0}:Traslado", Prefijo), namespaces)
- If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
+ If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
For Each traslado As XmlNode In nodeTraslados
@@ -21586,7 +21576,7 @@ Public Class ClsCompraManagerCompras
ObjeFacturas.Dispose()
- If CFDIVersion = EnumCFDIVersion.V33 OrElse CFDIVersion = EnumCFDIVersion.V40 Then
+ If CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40 Then
If Not TmpDT.Columns.Contains("Amortizacion") Then
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
End If
@@ -21599,6 +21589,8 @@ Public Class ClsCompraManagerCompras
#End Region
End Sub
+#End Region
+
Public Function ConfiguraRegistroRapidoReembolso(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer, NumeroReembolso As String) As Boolean
Dim respuesta As Boolean = True
@@ -21645,8 +21637,8 @@ Public Class ClsCompraManagerCompras
Return respuesta
End Function
- Public Function ConfiguraRegistroRapidoRNC(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String,
- SubTotal As Decimal, Total As Decimal, IVA As Decimal) As Boolean
+ Public Function ConfiguraRegistroRapido(CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, PS As String, CveSubProyecto As Integer, SubProyecto As String,
+ SubTotal As Decimal, IVA As Decimal, Total As Decimal, PorcentajeIVA As Decimal) As Boolean
Dim respuesta As Boolean = True
Me.CveSubProyecto = CveSubProyecto
@@ -21660,7 +21652,7 @@ Public Class ClsCompraManagerCompras
Me.SubTotal = SubTotal
Me.IVA = IVA
Me.Total = Total
-
+ Me.PorcentajeIVA = PorcentajeIVA
Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("")
@@ -21673,9 +21665,8 @@ Public Class ClsCompraManagerCompras
Return False
End If
-
CreaDTCompras()
- AddPS(1, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, 1, CveSubProyecto.ToString, SubProyecto, "", "-1", "", SubTotal, SubTotal, 0, 0, 0, 0, 0, 0)
+ AddPS(1, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, 1, CveSubProyecto.ToString, SubProyecto, "", "-1", "", SubTotal, Total, 0, 0, 0, 0, 0, 0, PorcentajeIVA:=PorcentajeIVA)
'If respuesta AndAlso IEPS > 0 Then
' If Not AgregaIEPSReembolso(CvePS:=CvePS) Then
@@ -22543,16 +22534,16 @@ Public Class ClsCompraManagerCompras
Row("IVA") = 0
Row("IVAPorcentaje") = 0
Else
- Row("IVA") = (IVA * Total).RoundSQL
- Row("IVAPorcentaje") = IVA
+ Row("IVA") = (PorcentajeIVA * Total).RoundSQL
+ Row("IVAPorcentaje") = PorcentajeIVA
End If
- Row("RetIVA") = (RetIVA * Total).RoundSQL
- Row("RetIVAPorcentaje") = RetIVA
- Row("RetISR") = (RetISR * Total).RoundSQL
- Row("RetISRPorcentaje") = RetISR
- Row("IEPSPS") = (IEPSPS * Total).RoundSQL
- Row("IEPSPSPorcentaje") = IEPSPS
+ Row("RetIVA") = (PorcentajeRetIVA * Total).RoundSQL
+ Row("RetIVAPorcentaje") = PorcentajeRetIVA
+ Row("RetISR") = (PorcentajeRetISR * Total).RoundSQL
+ Row("RetISRPorcentaje") = PorcentajeRetISR
+ Row("IEPSPS") = (PorcentajeIEPS * Total).RoundSQL
+ Row("IEPSPSPorcentaje") = PorcentajeIEPS
End If
Row("ImporteConImpuestos") = (Row("Cantidad").ToString.ToDecimal * Row("PU").ToString.ToDecimal) + Row("IVA").ToString.ToDecimal + Row("IEPSPS").ToString.ToDecimal - (Row("RetIVA").ToString.ToDecimal + Row("RetISR").ToString.ToDecimal)
@@ -22877,19 +22868,25 @@ Public Class ClsCompraManagerCompras
End If
End Function
- Public Function AddCompra() As Boolean
+ Public Function AddCompra(Optional ByRef transacccion As SqlTransaction = Nothing) As Boolean
If Not AjustesValidacion() Then Return False
Dim respuesta As Boolean = True
- Dim ObjCompras As New ClsCompras
+ Dim ObjCompras As ClsCompras
+
+ If transacccion IsNot Nothing Then
+ ObjCompras = New ClsCompras(transacccion)
+ Else
+ ObjCompras = New ClsCompras
+ End If
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
If Not AddPrepolizaCabecera(ObjConta) Then
respuesta = False
End If
- If respuesta AndAlso ObjCompras.AddCompra(If(Me.TipoComprobante = "I", "Fac", "NC"), Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
+ If respuesta AndAlso ObjCompras.AddCompra(Me.TipoDocto, Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
Me.Amortizacion, Me.IVA, Me.RetIVA, Me.RetISR, Me.IEPS, Me.OtrosImpuestos,
Me.Redondeo, Me.Total, Me.Fecha, Me.CveMoneda, Me.TipoCambio, If(Me.FechaPago = Nothing, Me.Fecha, Me.FechaPago), Me.AplicaNotaCredito, Me.Observaciones, Me.CveEstatusFactura,
Me.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Me.IdPoliza, CveCajaChica:=Me.CveCajaChica, CvePersonal:=Me.CvePersonal, NumeroReembolso:=Me.NumeroReembolso, CveProveedorSucursal:=Me.CveProveedorSucursal,
@@ -22940,111 +22937,31 @@ Public Class ClsCompraManagerCompras
End If
End If
- If respuesta Then
+ If respuesta AndAlso Me.CveFactura > 0 Then
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
End If
- If respuesta Then
- ObjCompras.Commit()
- Else
- ObjCompras.RollBack()
- End If
-
- ObjCompras.Dispose()
- ObjConta.Dispose()
-
- Return respuesta
- End Function
-
-
- Public Function AddCompraRNC(ByRef transacccion As SqlTransaction) As Boolean
-
- If Not AjustesValidacion() Then Return False
-
- Dim respuesta As Boolean = True
- Dim ObjCompras As New ClsCompras(transacccion)
- Dim ObjConta As New ClsContabilidad(transacccion)
-
- If Not AddPrepolizaCabecera(ObjConta) Then
- respuesta = False
- End If
-
- If respuesta AndAlso ObjCompras.AddCompra("RNC", Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
- Me.Amortizacion, Me.IVA, Me.RetIVA, Me.RetISR, Me.IEPS, Me.OtrosImpuestos,
- Me.Redondeo, Me.Total, Me.Fecha, Me.CveMoneda, Me.TipoCambio, If(Me.FechaPago = Nothing, Me.Fecha, Me.FechaPago), Me.AplicaNotaCredito, Me.Observaciones, Me.CveEstatusFactura,
- Me.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Me.IdPoliza, CveCajaChica:=Me.CveCajaChica, CvePersonal:=Me.CvePersonal, NumeroReembolso:=Me.NumeroReembolso, CveProveedorSucursal:=Me.CveProveedorSucursal,
- AplicoPromocion:=Me.AplicoPromocion, PorcentajeIVA:=Me.PorcentajeIVA, CveMetodoPago:=Me.CveMetodoPago, CveRetIVAConcepto:=Me.CveRetIVAConcepto,
- CveConceptoContableAlmacen:=Me.CveConceptoContableAlmacen,
- CveRetISRConcepto:=Me.CveRetISRConcepto, NoDeducible:=Me.NoDeducible, CveTipoCompra:=Me.CveTipoCompra, TotalOriginal:=Me.TotalOriginal, CveTipoConcepto:=Me.CveTipoConcepto,
- EsImportacion:=Me.EsImportacion, CveFactura:=Me.CveFactura, CveSubProyecto:=Me.CveSubProyectoPrincipal, DoctosRelacionados:=Me.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=Me.CveFolioGarantia) Then
- Me.CveCompra = ObjCompras.CveCompra
- Else
- respuesta = False
- End If
-
- If respuesta AndAlso Me.CveCompra > 0 Then
-
- For Each Row As DataRow In Me.TmpDT.Rows
-
- Dim TipoRecepcion As Integer = -1
- Dim Referencia As String = ""
- Dim EsNoDeducible As Boolean = False
- Dim CveAF As Integer = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 1, Row("CveActivoFijo").ToString.ToEntero, -1)
- Dim CveAFC As Integer = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 2, Row("CveActivoFijo").ToString.ToEntero, -1)
-
- If Not ObjCompras.AddCompraDetalle(Me.CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF,
- Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal,
- Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
- AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
- CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
- RetIVA:=Row("RetIVA").ToString.ToDecimal, RetISR:=Row("RetISR").ToString.ToDecimal, IEPSPS:=Row("IEPSPS").ToString.ToDecimal.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDecimal,
- IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal,
- IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
- CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero, CveActivoFijoCompra:=CveAFC) Then
-
- respuesta = False
- Exit For
- End If
- Next
- End If
-
- If respuesta Then
- If Not AddPrePolizaDetalles(ObjConta, True) Then respuesta = False
- End If
-
- If respuesta AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, 4) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- Errores.AppendLine($"Compras/RNC | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}.")
- GuardaLogAD($"Compras/RNC | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- respuesta = False
+ If transacccion Is Nothing Then 'SINO VIENE DE UNA TRANSACCIÓN
+ If respuesta Then
+ ObjCompras.Commit()
+ Else
+ ObjCompras.RollBack()
End If
+ ObjCompras.Dispose()
+ ObjConta.Dispose()
End If
- 'If respuesta Then
- ' If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
- 'End If
-
- 'If respuesta Then
- ' ObjCompras.Commit()
- 'Else
- ' ObjCompras.RollBack()
- 'End If
-
- 'ObjCompras.Dispose()
- 'ObjConta.Dispose()
-
Return respuesta
End Function
-
- Private Function AddPrepolizaCabecera(ByRef ObjConta As ClsContabilidad, Optional ES_RNC As Boolean = False) As Boolean
+ Private Function AddPrePolizaCabecera(ByRef ObjConta As ClsContabilidad) As Boolean
Dim respuesta As Boolean = False
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
Dim Modulo As String = "eFacturas/Registrar"
- If ES_RNC Then
+ If Me.TipoDocto = "RNC" Then
ConceptoPoliza = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
Modulo = "Compras/RNC"
End If
@@ -23060,7 +22977,7 @@ Public Class ClsCompraManagerCompras
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
Dim Referencia As String = Me.SerieFolio
- If ES_RNC Then
+ If TipoDocto = "RNC" Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Me.Total, Me.Total, 370, Referencia, Concepto, CveCompra:=CveCompra, CveCompraAmortizacion:=Me.CveCompraAmortizacion, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, Me.Total), TipoCambio:=TipoCambio,
CveClasificacion:=-1, CveSubProyecto:=Me.CveSubProyecto, Contabilizable:=True) Then
@@ -23108,7 +23025,7 @@ Public Class ClsCompraManagerCompras
If respuesta AndAlso Me.IEPS > 0 Then
importeMovimiento = Me.IEPS
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, 25, Referencia, Concepto, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, importeMN, 25, Referencia, Concepto, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
respuesta = False
End If
End If
diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb
index 286f7dc18..ed89558d0 100644
--- a/Compras/RepNotasCredito.aspx.vb
+++ b/Compras/RepNotasCredito.aspx.vb
@@ -58,7 +58,7 @@ Partial Class Compras_RepNotasCredito
If Tab.ActiveTabIndex = 0 Then
CargaDatos()
Else
- CargaDatosRemisiones()
+ CargaDatosRNC()
End If
End Sub
@@ -142,7 +142,7 @@ Partial Class Compras_RepNotasCredito
#Region "REMISIONES"
- Private Sub CargaDatosRemisiones()
+ Private Sub CargaDatosRNC()
DtDatosRemisiones = New DataTable
GvRemisiones.DataSource = Nothing
Dim ObjCompras As New ClsCompras
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb
index a78088c73..d3f7770d9 100644
--- a/Contabilidad/RegPrePolizaS.aspx.vb
+++ b/Contabilidad/RegPrePolizaS.aspx.vb
@@ -554,7 +554,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero
If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta"))
- If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
+ If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra"))
If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen"))
If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))