carga de movimientos de almacen

This commit is contained in:
Rene Molina
2019-08-22 16:15:42 -07:00
parent 6d7440b3cd
commit 38bcda5c1d
2 changed files with 37 additions and 14 deletions

View File

@@ -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 "

View File

@@ -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