From 5d01d5bea37f3a029500be53298c44e25de69506 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 17 Jun 2020 08:47:15 -0700 Subject: [PATCH] cuando se registra una NC de dev, y se registra el movimiento de almacen, en el mismo registro, no genera el mov del concepto 68 de prepolizas, referenciado al movimeinto --- Compras/Compras.aspx.vb | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 3eb5a8958..3a56568cf 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -4402,6 +4402,8 @@ Partial Class Compras_Compras Dim IVA As Decimal = 1.16D Dim ListaMovimientosAlmacen As New List(Of Integer) + Dim Devolucion As MMensajeDevolucion = Nothing + Dim ErrorCreditoCapitalIntres As Boolean = False Dim ErrorCredito As Boolean = False @@ -4572,7 +4574,9 @@ 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 - ErrorMovDev = guardardevolucion(ObjInventario, ObjCompras.CveCompra, TxtSubTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate) + Devolucion = guardardevolucion(ObjInventario, ObjCompras.CveCompra, TxtSubTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate) + + TieneError = Devolucion.TieneError End If Dim ErrorDetalles As Boolean = False ' Dim IDPoliza As Integer @@ -6649,6 +6653,13 @@ Partial Class Compras_Compras importeMN = importeMovimiento * tipoCambioActual * Multiplicador Dim ConceptoContabilizacionNC = 225 + Dim CveMovimientoDevolucion As Integer = -1 + + 'CUANDO NO SE RECIBE LA MERCANCIA EN COMPRAS, SE REGISTRA EL 225, SI SE ESTA REGISTRANDO LA DEVOLUCION EN ALMACEN, SE REGISTRA EL 68 + If Devolucion IsNot Nothing AndAlso Devolucion.DebeRealizarDevolucion AndAlso Devolucion.CveMovimiento > 0 Then + ConceptoContabilizacionNC = 68 + CveMovimientoDevolucion = Devolucion.CveMovimiento + End If If ObjConta.GetRetCuenta(ConceptoContabilizacionNC, UsuarioActual.CveEmpresa) Then If ObjConta.DtResultados.Rows.Count > 0 Then @@ -6666,7 +6677,7 @@ Partial Class Compras_Compras idCuentaContabilizacion = 0 End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True End If @@ -13925,13 +13936,15 @@ Partial Class Compras_Compras '*se envia true si hubo un error*' - Private Function guardardevolucion(ObjInventario As ClsInventarios, CveCompra As Integer, subtotal As Double, Fecha As Date) As Boolean + Private Function guardardevolucion(ObjInventario As ClsInventarios, CveCompra As Integer, subtotal As Double, Fecha As Date) As MMensajeDevolucion Dim ErrorMovInv As Boolean = False Dim CveAlmacen As Integer = DdlAlmacenDevolucion.SelectedValue.ToEntero() Dim subtotaldevolucion As Double = 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 + For Each Dr As GridViewRow In GVDevolucion.Rows 'CveAlmacen = Dr.DataKey("CveAlmacen").ToString.ToEntero cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDouble @@ -13946,7 +13959,7 @@ Partial Class Compras_Compras 'si el subtotal es iwal a la nc lo guardo si no marco error If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then - Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G") + CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G") If CveMovimientoEntrada <= 0 Then ErrorMovInv = True Else @@ -13964,9 +13977,14 @@ Partial Class Compras_Compras Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) End If End If - Return ErrorMovInv - End Function + Return New MMensajeDevolucion() With + { + .CveMovimiento = CveMovimientoEntrada, + .DebeRealizarDevolucion = realizadevolucion, + .TieneError = ErrorMovInv + } + End Function Private Sub cargaddldevoluciones(CveProveedor As Integer, SubTotal As Double) Dim objcompras As New ClsCompras() @@ -19887,4 +19905,10 @@ Partial Class Compras_Compras End If End Sub +End Class + +Public Class MMensajeDevolucion + Public Property CveMovimiento As Integer + Public Property TieneError As Boolean + Public Property DebeRealizarDevolucion As Boolean End Class \ No newline at end of file