From fe9348ccb07af64f25b6da403641b97822c7f729 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Thu, 20 Jan 2022 15:14:07 -0700 Subject: [PATCH] Devoluciones almacen --- Compras/Compras.aspx.vb | 51 ++++++++++++++++++++++++++++++++---- Inventarios/CatUnidades.aspx | 2 +- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 1cf5bd836..a7e2bb239 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3989,7 +3989,7 @@ Partial Class Compras_Compras - + Dim TotalRealDevolucion As Decimal = 0 Dim EstatusCredito As Integer = 0 Dim CveSubProyecto As Integer = 0 @@ -4689,6 +4689,8 @@ Partial Class Compras_Compras If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then Devolucion = guardardevolucion(ObjInventario, ObjCompras.CveCompra, TxtSubTotal.Text.ToDecimal, TxtFecha.Text.Trim.ToDate) + TotalRealDevolucion = Devolucion.Total + TieneError = Devolucion.TieneError End If Dim ErrorDetalles As Boolean = False @@ -6856,12 +6858,29 @@ Partial Class Compras_Compras End If Else - 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), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then + + Dim DiferenciaDevolucion As Decimal = importeMovimiento - TotalRealDevolucion + + If Math.Abs(DiferenciaDevolucion) > 0 Then + + + Dim CveSubProyecto69 As Integer = TmpDT.FiltroPrimeroValor("CveSubProyecto", "CveSubProyecto > 0 ").ToEntero + Dim CveClasificacion69 As Integer = TmpDT.FiltroPrimeroValor("CveClasificacion", "CveClasificacion > 0 ").ToEntero + + + Dim IdCtaContable69 As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacion69}").ToString.ToEntero + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaDevolucion, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable69, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69, CveClasificacion:=CveClasificacion69) Then + ErrorPrepoliza = True + End If + End If + + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TotalRealDevolucion, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=TotalRealDevolucion, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True End If + End If - - End If @@ -14262,6 +14281,11 @@ Partial Class Compras_Compras '*se envia true si hubo un error*' Private Function guardardevolucion(ObjInventario As ClsInventarios, CveCompra As Integer, subtotal As Decimal, Fecha As Date) As MMensajeDevolucion + + + Dim TotalSumaPU As Decimal = 0.0D + + Dim ErrorMovInv As Boolean = False Dim CveAlmacen As Integer = DdlAlmacenDevolucion.SelectedValue.ToEntero() Dim subtotaldevolucion As Double = 0 @@ -14271,6 +14295,7 @@ Partial Class Compras_Compras Dim cantidad As Double = 0.0 Dim TotalAlmacen As Decimal = 0 + For Each Dr As GridViewRow In GVDevolucion.Rows 'CveAlmacen = Dr.DataKey("CveAlmacen").ToString.ToEntero cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDouble @@ -14309,6 +14334,7 @@ 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 @@ -14323,12 +14349,26 @@ 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 + TotalSumaPU = TotalSumaPU + drow("Total").ToString.ToDecimal + Next + + End If + + + Return New MMensajeDevolucion() With { .CveMovimiento = CveMovimientoEntrada, .DebeRealizarDevolucion = realizadevolucion, - .TieneError = ErrorMovInv + .TieneError = ErrorMovInv, + .Total = TotalSumaPU } + End Function Private Sub cargaddldevoluciones(CveProveedor As Integer, SubTotal As Double) @@ -21032,4 +21072,5 @@ Public Class MMensajeDevolucion Public Property CveMovimiento As Integer Public Property TieneError As Boolean Public Property DebeRealizarDevolucion As Boolean + Public Property Total As Decimal End Class \ No newline at end of file diff --git a/Inventarios/CatUnidades.aspx b/Inventarios/CatUnidades.aspx index e2c405e14..30f742231 100644 --- a/Inventarios/CatUnidades.aspx +++ b/Inventarios/CatUnidades.aspx @@ -35,7 +35,7 @@ + EmptyDataText="No se Encontraron Unidades" ToolTip="Listado de Unidades" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" CellSpacing="0" data-sort="true" Style=" width: 100%" GridLines="None">