Cambios OP Cancelacion
This commit is contained in:
@@ -921,12 +921,29 @@ Partial Class OP_OP
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnAceptarCancelacion_Click(sender As Object, e As EventArgs)
|
||||
Dim EstatusCancelacion As String = GlobalDTOPEstatus(UsuarioActual.CveEmpresa).FiltroPrimeroValor("EstatusOP", "TipoEstatus=4")
|
||||
Dim CveEstatusCancelacion As Integer = GlobalDTOPEstatus(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOP", "TipoEstatus=4").ToEntero()
|
||||
If Not CveEstatusCancelacion > 0 Then
|
||||
Alert("No se encontró el estatus de finalización de la OP.", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim ObjInventario As New ClsInventarios()
|
||||
Dim CveMovimientoSalida As Integer = 1
|
||||
Dim CveMovEntradaDev As Integer = 0
|
||||
Dim CveMovMerma As Integer = 1
|
||||
Dim TieneError As Boolean = False
|
||||
Dim MensajeError As String = ""
|
||||
ObjInventario.IniciaTransacSQL()
|
||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
||||
Dim ObjOP As New ClsOP(ObjInventario.IniciaTransacSQL())
|
||||
Dim TipoMovimientoSalida As Integer = 26
|
||||
Dim TipoMovimientoEntrada As Integer = 27
|
||||
Dim TotalMP As Decimal = 0
|
||||
Dim TotalDevoluciones As Decimal = 0
|
||||
Dim TotalMermas As Decimal = 0
|
||||
|
||||
Dim Fecha As DateTime = NowADS()
|
||||
|
||||
Try
|
||||
|
||||
@@ -938,15 +955,10 @@ Partial Class OP_OP
|
||||
End If
|
||||
|
||||
' 1. Movimiento de Salida MP
|
||||
Dim CveMovSalida As Integer = ObjInventario.AddMovimiento(
|
||||
DdlAlmacenSalidaMP.SelectedValue.ToEntero(), 26, 1, NowADS, -1,
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
Observaciones:="Cancelación OP #" & LblFolio.Text)
|
||||
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenSalidaMP.SelectedValue.ToEntero(), TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="Cancelación OP #" & LblFolio.Text, Modulo:="OP/CancelanciónSalida")
|
||||
|
||||
' 2. Movimiento de Entrada Devoluciones
|
||||
Dim CveMovEntradaDev As Integer = ObjInventario.AddMovimiento(
|
||||
DdlAlmacenDevolucionCancel.SelectedValue.ToEntero(), 27, 1, NowADS, -1,
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
CveMovEntradaDev = ObjInventario.AddMovimiento(DdlAlmacenDevolucionCancel.SelectedValue.ToEntero(), TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Modulo:="OP/CancelaciónEntrada", CveMovimientoRelacionado:=CveMovimientoSalida)
|
||||
|
||||
' 3. Procesar cada material
|
||||
For Each row As GridViewRow In GvMPCancelacion.Rows
|
||||
@@ -958,11 +970,16 @@ Partial Class OP_OP
|
||||
Throw New Exception("La suma de merma y devolución no puede exceder la cantidad")
|
||||
End If
|
||||
|
||||
Dim CvePS As Integer = GvMPCancelacion.DataKeys(row.RowIndex).Values(0)
|
||||
Dim CveUM As Integer = GvMPCancelacion.DataKeys(row.RowIndex).Values(1)
|
||||
TotalMP += Cantidad
|
||||
TotalDevoluciones += Devolucion
|
||||
TotalMermas += Merma
|
||||
|
||||
Dim CvePS As Integer = row.DataKey("CvePSMateriaPrima").ToEntero
|
||||
Dim CveUM As Integer = row.DataKey("CveUMMateriaPrima").ToEntero
|
||||
|
||||
|
||||
' Registrar salida
|
||||
ObjInventario.AddMovimientoDetalle(CveMovSalida, Cantidad, CveUM, CvePS, 0)
|
||||
ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, 0)
|
||||
|
||||
' Registrar devolución
|
||||
If Devolucion > 0 Then
|
||||
@@ -971,17 +988,15 @@ Partial Class OP_OP
|
||||
Next
|
||||
|
||||
' 4. Registrar mermas si existen
|
||||
Dim TotalMermas As Decimal = 0
|
||||
|
||||
If DdlAlmacenMermas.SelectedValue <> "-1" Then
|
||||
Dim CveMovMerma As Integer = ObjInventario.AddMovimiento(
|
||||
DdlAlmacenMermas.SelectedValue.ToEntero(), 26, 1, NowADS, -1,
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
CveMovMerma = ObjInventario.AddMovimiento(DdlAlmacenMermas.SelectedValue.ToEntero(), TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Modulo:="OP/CancelaciónMerma", CveMovimientoRelacionado:=CveMovimientoSalida)
|
||||
|
||||
For Each row As GridViewRow In GvMPCancelacion.Rows
|
||||
Dim Merma As Decimal = row.FCTextBox("TxtMerma").Text.ToDecimal()
|
||||
If Merma > 0 Then
|
||||
Dim CvePS As Integer = GvMPCancelacion.DataKeys(row.RowIndex).Values(0)
|
||||
Dim CveUM As Integer = GvMPCancelacion.DataKeys(row.RowIndex).Values(1)
|
||||
Dim CvePS As Integer = row.DataKey("CvePSMateriaPrima").ToEntero
|
||||
Dim CveUM As Integer = row.DataKey("CveUMMateriaPrima").ToEntero
|
||||
ObjInventario.AddMovimientoDetalle(CveMovMerma, Merma, CveUM, CvePS, 0)
|
||||
TotalMermas += Merma
|
||||
End If
|
||||
@@ -989,26 +1004,26 @@ Partial Class OP_OP
|
||||
End If
|
||||
|
||||
' 5. Generar pólizas contables
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OP/Cancelacion", 53, 0, 0, 1, NowADS,
|
||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OP/Cancelacion", 53, 0, 0, 1, Fecha,
|
||||
"Cancelación OP #" & LblFolio.Text,
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
' Salida MP (Abono 68)
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalMP, TotalMP, 68, "Salida MP Cancelación")
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalMP, TotalMP, 68, "Cancelación MP OP #" & LblFolio.Text, "Cancelación MP OP #" & LblFolio.Text, CveMovimientoAlmacen:=CveMovimientoSalida)
|
||||
|
||||
' Entrada Devoluciones (Cargo 68)
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalDevoluciones, TotalDevoluciones, 68, "Devoluciones Cancelación")
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalDevoluciones, TotalDevoluciones, 68, "Devoluciones Cancelación OP #" & LblFolio.Text, "Devoluciones Cancelación OP #" & LblFolio.Text, CveMovimientoAlmacen:=CveMovEntradaDev)
|
||||
|
||||
If TotalMermas > 0 Then
|
||||
' Salida Mermas (Abono 68)
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalMermas, TotalMermas, 68, "Mermas Cancelación")
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalMermas, TotalMermas, 68, "Mermas Cancelación OP #" & LblFolio.Text, "Mermas Cancelación OP #" & LblFolio.Text, CveMovimientoAlmacen:=CveMovMerma)
|
||||
' Cargo Mermas (95)
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalMermas, TotalMermas, 95, "Ajuste por Mermas")
|
||||
ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalMermas, TotalMermas, 95, "Ajuste Mermas Cancelación OP #" & LblFolio.Text, "Ajuste Mermas Cancelación OP #" & LblFolio.Text)
|
||||
End If
|
||||
|
||||
' 6. Actualizar estatus OP
|
||||
|
||||
If ObjOP.UpdateEstatusOP(CveOP, 4, UsuarioActual.CveEmpresa) Then
|
||||
If ObjOP.UpdateEstatusOP(CveOP, CveEstatusCancelacion, UsuarioActual.CveEmpresa) Then
|
||||
ObjInventario.Commit()
|
||||
TxtEstatus.Text = "Cancelado"
|
||||
BtnCancelarOP.Visible = False
|
||||
|
||||
Reference in New Issue
Block a user