- cambios en RNC

This commit is contained in:
2024-04-18 07:46:14 -07:00
parent b0265a72ad
commit bd9cf87ea3
4 changed files with 154 additions and 255 deletions

View File

@@ -8863,7 +8863,7 @@ Public Class ClsPaginas
Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor) Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
'cuando el Pago viene por NC, se utiliza un concepto '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 '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 '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.CveConceptoAcreditable = 333
Ret.CveConceptoxAcreditar = 334 Ret.CveConceptoxAcreditar = 334
End If 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 Return Ret
End Get End Get
End Property End Property

View File

@@ -1689,12 +1689,6 @@ Partial Class Compras_Compras
DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV")) DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV"))
DdlTipoComprobante.SelectedValueExist("DEV") DdlTipoComprobante.SelectedValueExist("DEV")
End If 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 End If
'SE OCUPAN AFUERA DEL POSTBACK ?? 'SE OCUPAN AFUERA DEL POSTBACK ??
@@ -7013,56 +7007,31 @@ Partial Class Compras_Compras
End If End If
End If End If
Next 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 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,
Pago.ImportePago = ImporteRNCSaldar CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
Pago.CveMonedaPago = CompraActual.CveMoneda ErrorPrepoliza = True
Pago.CveCompraAmortizacion = CompraActual.CveCompra End If
Pago.Referencia = CompraActual.SerieFolio End If
Pago.TCPago = CompraActual.TC End If
Pago.AplicaAcreditable = False End If
Pago.TipoPago = "RNC"
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
Dim CompraPago As New Compra If ErrorPrepoliza Then
''datos de la compra tipodocto:Fac, para sobreescribirlos ErrorMovtosCxP = True
CompraPago.CveCompra = DdlRemisionNotaCredito.SelectedValue.ToEntero Exit Select
CompraPago.CveProveedor = DdlProveedor.SelectedValue.ToEntero End If
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
End If End If
importeMovimiento = 0 importeMovimiento = 0
@@ -7627,8 +7596,8 @@ Partial Class Compras_Compras
End If End If
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
If Not GeneraRemisionsNotadeCredito(ObjCompras.IniciaTransacSQL, CveCompra) Then If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza) Then
TieneError = True TieneError = True
End If End If
End If End If
@@ -14738,10 +14707,6 @@ Partial Class Compras_Compras
IndexTmpOriginal += 1 IndexTmpOriginal += 1
Next Next
If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (AjusteProntoPagoConIVA > 0 Or AjusteProntoPagoSinIVA > 0) Then If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso (AjusteProntoPagoConIVA > 0 Or AjusteProntoPagoSinIVA > 0) Then
Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero
@@ -15680,6 +15645,13 @@ Partial Class Compras_Compras
If DdlTipoComprobante.SelectedValue = "NC" Then If DdlTipoComprobante.SelectedValue = "NC" Then
DivReembolso.Visible = False DivReembolso.Visible = False
RBLPago.Items(2).Enabled = 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 Else
DivReembolso.Visible = True DivReembolso.Visible = True
RBLPago.Items(2).Enabled = True RBLPago.Items(2).Enabled = True
@@ -19540,20 +19512,18 @@ Partial Class Compras_Compras
If DdlTipoComprobante.SelectedValue = "NC" Then If DdlTipoComprobante.SelectedValue = "NC" Then
CargaDdlRemisionNotaCredito() CargaDdlRemisionNotaCredito()
'bloquear la vinculación a la compra
HLAplicaNCFact.Visible = False
Else Else
Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) 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) DdlRemisionNotaCredito.SelectedValueExist(-1)
DdlTipoCompra.SelectedValueExist(-1) DdlTipoCompra.SelectedValueExist(-1)
End If End If
End If End If
End Sub End Sub
#End Region #End Region
#Region "GARANTÍAS" #Region "GARANTÍAS"
@@ -20867,7 +20837,7 @@ Partial Class Compras_Compras
#Region "PRONTO PAGO" #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 respuesta As Boolean = True
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
@@ -20890,20 +20860,20 @@ Partial Class Compras_Compras
If PSRow IsNot Nothing Then If PSRow IsNot Nothing Then
Dim CompraRNC As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual) Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With {
CompraRNC.CveFactura = -1 .CveFactura = -1,
CompraRNC.CveProveedor = DdlProveedor.SelectedValue.ToEntero .TipoDocto = "RNC",
CompraRNC.CveTipoProveedor = CveTipoProveedor .CveProveedor = DdlProveedor.SelectedValue.ToEntero,
CompraRNC.CveTipoConceptoProveedor = CveTipoConcepto .CveTipoProveedor = CveTipoProveedor,
CompraRNC.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir .CveTipoConceptoProveedor = CveTipoConcepto,
CompraRNC.IEPSGasto = False .Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
CompraRNC.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}" .NombreProveedor = DdlProveedor.SelectedItem.Text,
CompraRNC.NombreProveedor = DdlProveedor.SelectedItem.Text .Fecha = TxtFecha.Text.ToDate,
CompraRNC.Fecha = TxtFecha.Text.ToDate .CveMoneda = DdlMoneda.SelectedValue.ToEntero,
CompraRNC.CveMoneda = DdlMoneda.SelectedValue.ToEntero .Serie = TxtSerie.Text,
CompraRNC.Serie = TxtSerie.Text .Folio = TxtFolio.Text,
CompraRNC.Folio = TxtFolio.Text .CveCompraAmortizacion = CveCompraRegistrada
CompraRNC.CveCompraAmortizacion = CveCompraRegistrada }
Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero
If PSRow("CvePSCargo").ToString <> "" Then If PSRow("CvePSCargo").ToString <> "" Then
@@ -20917,42 +20887,62 @@ Partial Class Compras_Compras
Dim UM As String = PSRow("UnidadMedida").ToString Dim UM As String = PSRow("UnidadMedida").ToString
Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2) Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, (ImporteRNC + IVARNC), PorcentajeIVA)
CompraRNC.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, (ImporteRNC + IVARNC), IVARNC) If CompraRNC.AddCompra(sqltransaccion) Then
If Not CompraRNC.AddCompraRNC(trasaccion) 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 respuesta = False
End If End If
If respuesta Then If respuesta AndAlso ImporteRNCProntoPago > 0 Then
Dim CompraRNCProntoPAgo As New ClsCompraManagerCompras("", ClsCompraManagerCompras.EnumCargaCompra.SinXML, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual) Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
CompraRNCProntoPAgo.CveFactura = -1 .TipoDocto = "RNC",
CompraRNCProntoPAgo.CveProveedor = DdlProveedor.SelectedValue.ToEntero .CveProveedor = DdlProveedor.SelectedValue.ToEntero,
CompraRNCProntoPAgo.CveTipoProveedor = CveTipoProveedor .CveTipoProveedor = CveTipoProveedor,
CompraRNCProntoPAgo.CveTipoConceptoProveedor = CveTipoConcepto .CveTipoConceptoProveedor = CveTipoConcepto,
CompraRNCProntoPAgo.TipoCompra = ClsCompraManagerCompras.EnumTipoCompra.Sin_definir .Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}",
CompraRNCProntoPAgo.IEPSGasto = False .NombreProveedor = DdlProveedor.SelectedItem.Text,
CompraRNCProntoPAgo.Descripcion = $"Remisión Nota de Crédito {TxtDescripcion.Text}" .Fecha = TxtFecha.Text.ToDate,
CompraRNCProntoPAgo.NombreProveedor = DdlProveedor.SelectedItem.Text .CveMoneda = DdlMoneda.SelectedValue.ToEntero,
CompraRNCProntoPAgo.Fecha = TxtFecha.Text.ToDate .Serie = $"PP-{TxtSerie.Text}",
CompraRNCProntoPAgo.CveMoneda = DdlMoneda.SelectedValue.ToEntero .Folio = $"{TxtFolio.Text}",
CompraRNCProntoPAgo.Serie = $"PP-{TxtSerie.Text}" .CveCompraAmortizacion = CveCompraRegistrada
CompraRNCProntoPAgo.Folio = $"{TxtFolio.Text}" }
CompraRNCProntoPAgo.CveCompraAmortizacion = CveCompraRegistrada Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
Dim IVARNCProntoPago As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
CompraRNCProntoPAgo.ConfiguraRegistroRapidoRNC(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago) CompraRNCProntoPago.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago, PorcentajeIVA)
If Not CompraRNCProntoPAgo.AddCompraRNC(trasaccion) Then 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 respuesta = False
End If End If
End If End If
End If End If
Return respuesta Return respuesta
End Function End Function
Public Property VincularOcProntoPago As Boolean Public Property VincularOcProntoPago As Boolean
Get Get
If ViewState("VincularOcProntoPago") Is Nothing Then If ViewState("VincularOcProntoPago") Is Nothing Then
@@ -20970,12 +20960,11 @@ Partial Class Compras_Compras
If VincularOcProntoPago Then If VincularOcProntoPago Then
Return True Return True
Else Else
Dim StrMsg As String = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra. <br/> Se generaran Remisiones de Nota de Crédito. <br/> - Descuento de ${ImporteRNC.ToString("###,###,###.00")}.<br/>"
If ImporteRNCProntoPago > 0 Then If ImporteRNCProntoPago > 0 Then
LblModalConfirmaVinculacionProntoPago.Text = $"Existe una diferencia de ${(ImporteRNC + ImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra. <br/> Se generaran las siguientes Remisiones de Nota de Crédito. <br/> - Descuento de ${ImporteRNC.ToString("###,###,###.00")}.<br/> - Pronto pago de ${ImporteRNCProntoPago.ToString("###,###,###.00")}" StrMsg = StrMsg & $"- 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")}"
End If End If
LblModalConfirmaVinculacionProntoPago.Text = StrMsg
RegistraScript("$('#DVModalConfirmaVinculacionProntoPago').modal('show');") RegistraScript("$('#DVModalConfirmaVinculacionProntoPago').modal('show');")
UpModalConfirmaVinculacionProntoPago.Update() UpModalConfirmaVinculacionProntoPago.Update()
@@ -21002,15 +20991,12 @@ Partial Class Compras_Compras
If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2) Then If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2) Then
DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados
DTRemisionesNotaDeCredito = 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 End If
ObjCompras.Dispose() ObjCompras.Dispose()
DdlRemisionNotaCredito.DataBind() DdlRemisionNotaCredito.DataBind()
DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1")) DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1"))
UpEstatus.Update() UpEstatus.Update()
End Sub End Sub
@@ -21069,11 +21055,11 @@ Public Class ClsCompraManagerCompras
End Enum End Enum
Public Enum EnumCFDIVersion Public Enum EnumCFDIVersion
v32 v32
V33 v33
V40 v40
End Enum End Enum
Public Enum EnumTipoCompra Public Enum EnumTipoCompra
Sin_definir = -1 SinDefinir = -1
Gasto_con_almacen = 10 Gasto_con_almacen = 10
Activo_Fijo = 1 Activo_Fijo = 1
'Costo_Indirecto = 2 'Costo_Indirecto = 2
@@ -21112,7 +21098,7 @@ Public Class ClsCompraManagerCompras
Public Property Folio As String = "" Public Property Folio As String = ""
Public Property FolioSecundario As String = "" Public Property FolioSecundario As String = ""
Public Property Descripcion 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 ProveedorNombre As String = ""
Public Property EsImportacion As Boolean = False Public Property EsImportacion As Boolean = False
Public Property TC As Decimal = 1 Public Property TC As Decimal = 1
@@ -21122,6 +21108,7 @@ Public Class ClsCompraManagerCompras
Public Property Total As Decimal = 0D Public Property Total As Decimal = 0D
Public Property Moneda As String = "" Public Property Moneda As String = ""
Public Property TipoComprobante As String Public Property TipoComprobante As String
Public Property TipoDocto As String = "Fac"
Public Property TipoCambio As Decimal = 1 Public Property TipoCambio As Decimal = 1
Public Property CompraNoDeducible As Integer = 0 Public Property CompraNoDeducible As Integer = 0
Public Property IVA As Decimal = 0D Public Property IVA As Decimal = 0D
@@ -21269,7 +21256,7 @@ Public Class ClsCompraManagerCompras
Public Property Proyecto As String = "" Public Property Proyecto As String = ""
Public Property CveProyecto As Integer = -1 Public Property CveProyecto As Integer = -1
Public Property SubProyecto As String = "" 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 Private Property DTTiposGastos() As DataTable
Public Property CveTipoProveedor As Integer = -1 Public Property CveTipoProveedor As Integer = -1
Public Property IEPSGasto As Boolean = False Public Property IEPSGasto As Boolean = False
@@ -21282,14 +21269,19 @@ Public Class ClsCompraManagerCompras
Public Property CveIE As Integer = -1 Public Property CveIE As Integer = -1
Public Property CveCompraAmortizacion 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 Errores = New StringBuilder
Me.DTTiposGastos = DTTiposGastos
Me.UsuarioActual = UsuarioActual 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 If OpcionCarga = EnumCargaCompra.SinXML Then
@@ -21300,11 +21292,10 @@ Public Class ClsCompraManagerCompras
CargaDesdeString(XmlFuente) CargaDesdeString(XmlFuente)
End If End If
End If End If
End Sub End Sub
#Region "C A R G A S D E F U E N T E S "
Private Sub CargaDesdeArchivo(XmlFuenteRuta As String) Private Sub CargaDesdeArchivo(XmlFuenteRuta As String)
Dim XMLDoc As New XmlDocument Dim XMLDoc As New XmlDocument
@@ -21350,7 +21341,6 @@ Public Class ClsCompraManagerCompras
End If End If
End Sub End Sub
Private Sub CargaComprobanteXML(XMLDoc As XmlDocument) Private Sub CargaComprobanteXML(XMLDoc As XmlDocument)
Dim nodo As XmlNode = XMLDoc.DocumentElement Dim nodo As XmlNode = XMLDoc.DocumentElement
@@ -21361,9 +21351,9 @@ Public Class ClsCompraManagerCompras
If StrCFDIVerion = "3.2" Then If StrCFDIVerion = "3.2" Then
CFDIVersion = EnumCFDIVersion.v32 CFDIVersion = EnumCFDIVersion.v32
ElseIf StrCFDIVerion = "3.3" Then ElseIf StrCFDIVerion = "3.3" Then
CFDIVersion = EnumCFDIVersion.V33 CFDIVersion = EnumCFDIVersion.v33
ElseIf StrCFDIVerion = "4.0" Then ElseIf StrCFDIVerion = "4.0" Then
CFDIVersion = EnumCFDIVersion.V40 CFDIVersion = EnumCFDIVersion.v40
Else Else
GuardaLog($"CFDI Versión {StrCFDIVerion} no soportada") GuardaLog($"CFDI Versión {StrCFDIVerion} no soportada")
Errores.AppendLine($"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") TipoComprobante = ValorXML(nodo, "tipoDeComprobante")
TipoCambio = ValorXML(nodo, "TipoCambio", "1").ToDecimal 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"))) Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago")))
If drm IsNot Nothing Then If drm IsNot Nothing Then
CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero
@@ -21404,7 +21394,7 @@ Public Class ClsCompraManagerCompras
If CFDIVersion = EnumCFDIVersion.v32 Then If CFDIVersion = EnumCFDIVersion.v32 Then
Prefijo = "cfd" Prefijo = "cfd"
cfdVer = "http://www.sat.gob.mx/cfd/2" 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" cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0 Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4" 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("implocal", "http://www.sat.gob.mx/implocal")
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal") 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 UUIDS As String = ""
Dim UUIDSLista As New List(Of String) Dim UUIDSLista As New List(Of String)
@@ -21465,7 +21455,7 @@ Public Class ClsCompraManagerCompras
TotalRetenciones = ValorXML(node, "totalImpuestosRetenidos", "0").ToDecimal 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 For Each retencion As XmlNode In nodeRetenciones
If retencion.Attributes("Impuesto").Value = "002" Then RetencionIVA += retencion.Attributes("Importe").Value.ToDecimal 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 TotalTraslados = ValorXML(node, "totalImpuestosTrasladados", "0").ToDecimal
Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Traslados/{0}:Traslado", Prefijo), namespaces) 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 For Each traslado As XmlNode In nodeTraslados
@@ -21586,7 +21576,7 @@ Public Class ClsCompraManagerCompras
ObjeFacturas.Dispose() 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 If Not TmpDT.Columns.Contains("Amortizacion") Then
TmpDT.Columns.Add("Amortizacion", GetType(Decimal)) TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
End If End If
@@ -21599,6 +21589,8 @@ Public Class ClsCompraManagerCompras
#End Region #End Region
End Sub 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 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 Dim respuesta As Boolean = True
@@ -21645,8 +21637,8 @@ Public Class ClsCompraManagerCompras
Return respuesta Return respuesta
End Function 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, 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, Total As Decimal, IVA As Decimal) As Boolean SubTotal As Decimal, IVA As Decimal, Total As Decimal, PorcentajeIVA As Decimal) As Boolean
Dim respuesta As Boolean = True Dim respuesta As Boolean = True
Me.CveSubProyecto = CveSubProyecto Me.CveSubProyecto = CveSubProyecto
@@ -21660,7 +21652,7 @@ Public Class ClsCompraManagerCompras
Me.SubTotal = SubTotal Me.SubTotal = SubTotal
Me.IVA = IVA Me.IVA = IVA
Me.Total = Total Me.Total = Total
Me.PorcentajeIVA = PorcentajeIVA
Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("") Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("")
@@ -21673,9 +21665,8 @@ Public Class ClsCompraManagerCompras
Return False Return False
End If End If
CreaDTCompras() 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 respuesta AndAlso IEPS > 0 Then
' If Not AgregaIEPSReembolso(CvePS:=CvePS) Then ' If Not AgregaIEPSReembolso(CvePS:=CvePS) Then
@@ -22543,16 +22534,16 @@ Public Class ClsCompraManagerCompras
Row("IVA") = 0 Row("IVA") = 0
Row("IVAPorcentaje") = 0 Row("IVAPorcentaje") = 0
Else Else
Row("IVA") = (IVA * Total).RoundSQL Row("IVA") = (PorcentajeIVA * Total).RoundSQL
Row("IVAPorcentaje") = IVA Row("IVAPorcentaje") = PorcentajeIVA
End If End If
Row("RetIVA") = (RetIVA * Total).RoundSQL Row("RetIVA") = (PorcentajeRetIVA * Total).RoundSQL
Row("RetIVAPorcentaje") = RetIVA Row("RetIVAPorcentaje") = PorcentajeRetIVA
Row("RetISR") = (RetISR * Total).RoundSQL Row("RetISR") = (PorcentajeRetISR * Total).RoundSQL
Row("RetISRPorcentaje") = RetISR Row("RetISRPorcentaje") = PorcentajeRetISR
Row("IEPSPS") = (IEPSPS * Total).RoundSQL Row("IEPSPS") = (PorcentajeIEPS * Total).RoundSQL
Row("IEPSPSPorcentaje") = IEPSPS Row("IEPSPSPorcentaje") = PorcentajeIEPS
End If 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) 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 If
End Function End Function
Public Function AddCompra() As Boolean Public Function AddCompra(Optional ByRef transacccion As SqlTransaction = Nothing) As Boolean
If Not AjustesValidacion() Then Return False If Not AjustesValidacion() Then Return False
Dim respuesta As Boolean = True 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()) Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
If Not AddPrepolizaCabecera(ObjConta) Then If Not AddPrepolizaCabecera(ObjConta) Then
respuesta = False respuesta = False
End If 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.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.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, 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
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 If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then respuesta = False
End If End If
If respuesta Then If transacccion Is Nothing Then 'SINO VIENE DE UNA TRANSACCIÓN
ObjCompras.Commit() If respuesta Then
Else ObjCompras.Commit()
ObjCompras.RollBack() Else
End If ObjCompras.RollBack()
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
End If End If
ObjCompras.Dispose()
ObjConta.Dispose()
End If 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 Return respuesta
End Function End Function
Private Function AddPrePolizaCabecera(ByRef ObjConta As ClsContabilidad) As Boolean
Private Function AddPrepolizaCabecera(ByRef ObjConta As ClsContabilidad, Optional ES_RNC As Boolean = False) As Boolean
Dim respuesta As Boolean = False Dim respuesta As Boolean = False
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "") Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
Dim Modulo As String = "eFacturas/Registrar" Dim Modulo As String = "eFacturas/Registrar"
If ES_RNC Then If Me.TipoDocto = "RNC" Then
ConceptoPoliza = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "") ConceptoPoliza = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
Modulo = "Compras/RNC" Modulo = "Compras/RNC"
End If End If
@@ -23060,7 +22977,7 @@ Public Class ClsCompraManagerCompras
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}" Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
Dim Referencia As String = 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, 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 CveClasificacion:=-1, CveSubProyecto:=Me.CveSubProyecto, Contabilizable:=True) Then
@@ -23108,7 +23025,7 @@ Public Class ClsCompraManagerCompras
If respuesta AndAlso Me.IEPS > 0 Then If respuesta AndAlso Me.IEPS > 0 Then
importeMovimiento = Me.IEPS importeMovimiento = Me.IEPS
importeMN = (importeMovimiento * Me.TipoCambio).RoundSQL 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 respuesta = False
End If End If
End If End If

View File

@@ -58,7 +58,7 @@ Partial Class Compras_RepNotasCredito
If Tab.ActiveTabIndex = 0 Then If Tab.ActiveTabIndex = 0 Then
CargaDatos() CargaDatos()
Else Else
CargaDatosRemisiones() CargaDatosRNC()
End If End If
End Sub End Sub
@@ -142,7 +142,7 @@ Partial Class Compras_RepNotasCredito
#Region "REMISIONES" #Region "REMISIONES"
Private Sub CargaDatosRemisiones() Private Sub CargaDatosRNC()
DtDatosRemisiones = New DataTable DtDatosRemisiones = New DataTable
GvRemisiones.DataSource = Nothing GvRemisiones.DataSource = Nothing
Dim ObjCompras As New ClsCompras Dim ObjCompras As New ClsCompras

View File

@@ -554,7 +554,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero 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(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(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")) 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"))