From 38bcda5c1d834ecf0900225e137d94f7d57e10a3 Mon Sep 17 00:00:00 2001 From: Rene Molina Date: Thu, 22 Aug 2019 16:15:42 -0700 Subject: [PATCH] carga de movimientos de almacen --- App_Code/ClsInventarios.vb | 4 +-- General/SaldosIniciales.aspx.vb | 47 ++++++++++++++++++++++++--------- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 9048034c3..270e9143a 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -25,11 +25,11 @@ Public Class ClsInventarios End Function Public Sub RollBack() - SqlTransacc.Rollback() + If SqlTransacc.Connection IsNot Nothing Then SqlTransacc.Rollback() End Sub Public Sub Commit() - SqlTransacc.Commit() + If SqlTransacc.Connection IsNot Nothing Then SqlTransacc.Commit() End Sub #Region " PROPIEDADES " diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index dc5e26407..47e7f074e 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1523,25 +1523,48 @@ Partial Class General_SaldosIniciales ElseIf RblFormato.SelectedValue = "12" Then Dim ObjMovimientos As New ClsInventarios ObjMovimientos.IniciaTransacSQL() + Dim OcurrioError As Boolean = False Try For Each almacenSinRepetir As DataRow In dt.FiltraParametros("", DistinctColumns:={"Almacen"}).Rows Dim almacenActual As String = almacenSinRepetir("Almacen").ToString - Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveAlmacen", $"Almacen = {almacenActual}").ToEntero - For Each nuevaEntrada As DataRow In dt.FiltraParametros($"Almacen = {almacenActual}").Rows - Dim CvePS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CvePS", $"PSCodigo = {nuevaEntrada("CodigoPS")}").ToEntero - If CvePS > 0 Then - Dim Cantidad As Double = nuevaEntrada("Existencia").ToString.ToDouble - Dim Valor As Double = nuevaEntrada("Valor").ToString.ToDouble - Dim movimientoCabecera As Integer = ObjMovimientos.AddMovimiento(CveAlmacen, 1, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1) - If ObjMovimientos.AddMovimientoDetalle(movimientoCabecera, Cantidad, -1, CvePS, (Valor / Cantidad), -1, -1) Then - Alert("Movimiento terminado con exito") + Dim CveAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"Almacen = '{almacenActual}'").ToEntero + Dim movimientoCabecera As Integer = ObjMovimientos.AddMovimiento(CveAlmacen, 1, 1, Date.Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1) + If CveAlmacen > 0 Then + For Each nuevaEntrada As DataRow In dt.FiltraParametros($"Almacen = '{almacenActual}'").Rows + Dim CvePS As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero + Dim CveUM As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"Codigo = '{nuevaEntrada("CodigoPS")}'").ToEntero + If CvePS > 0 Then + Dim Cantidad As Decimal = nuevaEntrada("Existencia").ToString.ToDecimal + Dim Valor As Decimal = nuevaEntrada("Valor").ToString.ToDecimal + + If Not ObjMovimientos.AddMovimientoDetalle(movimientoCabecera, Cantidad, CveUM, CvePS, (Valor / Cantidad), -1, -1) Then + OcurrioError = True + End If + Else + OcurrioError = True + End If - End If - Next + Next + Else + OcurrioError = True + 'alert amacén no existe + Exit For + End If + Next Catch ex As Exception - + OcurrioError = True + ObjMovimientos.RollBack() End Try + + If Not OcurrioError Then + ObjMovimientos.Commit() + Alert("Se cargó correctamente #movimientos") + Else + Alert("Ocurrió un error al cargar las existencias", TipoMensaje.MsgError) + ObjMovimientos.RollBack() + End If + ObjMovimientos.Dispose() End If End If