--
This commit is contained in:
167
OP/OP.aspx.vb
167
OP/OP.aspx.vb
@@ -822,7 +822,7 @@ Partial Class OP_OP
|
|||||||
UpModalFinalizar.Update()
|
UpModalFinalizar.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub BtnGuardarFinalizarOP_Click(sender As Object, e As EventArgs) Handles BtnGuardarFinalizarOP.Click
|
Protected Sub BtnGuardarFinalizarOP_Click(sender As Object, e As EventArgs)
|
||||||
If DdlAlmacenOrigenSalidaMP.SelectedValue = "-1" OrElse DdlAlmacenTerminado.SelectedValue = "-1" Then
|
If DdlAlmacenOrigenSalidaMP.SelectedValue = "-1" OrElse DdlAlmacenTerminado.SelectedValue = "-1" Then
|
||||||
Alert("Selecciona ambos almacenes.", TipoMensaje.MsgAdvertencia)
|
Alert("Selecciona ambos almacenes.", TipoMensaje.MsgAdvertencia)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
@@ -840,9 +840,8 @@ Partial Class OP_OP
|
|||||||
'Dim FolioVirtualEntrada As Integer = 0
|
'Dim FolioVirtualEntrada As Integer = 0
|
||||||
'Dim FolioVirtualSalida As Integer = 0
|
'Dim FolioVirtualSalida As Integer = 0
|
||||||
Dim FolioEntrada As Integer = 0
|
Dim FolioEntrada As Integer = 0
|
||||||
Dim Fecha As DateTime = Txtfecha.Text.ToDate
|
Dim Fecha As DateTime = NowADS()
|
||||||
Dim ErrorMovInv As Boolean = False
|
Dim ErrorMovInv As Boolean = False
|
||||||
Dim ErrorAC As Boolean = False
|
|
||||||
Dim TextoError As String = ""
|
Dim TextoError As String = ""
|
||||||
Dim TipoMovimientoSalida As Integer = 8
|
Dim TipoMovimientoSalida As Integer = 8
|
||||||
Dim CveConceptoEntrada As Integer = 9
|
Dim CveConceptoEntrada As Integer = 9
|
||||||
@@ -852,132 +851,72 @@ Partial Class OP_OP
|
|||||||
|
|
||||||
ObjInventario.IniciaTransacSQL()
|
ObjInventario.IniciaTransacSQL()
|
||||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
||||||
|
Dim ObjOP As New ClsOP(ObjInventario.IniciaTransacSQL())
|
||||||
Try
|
Try
|
||||||
|
|
||||||
CveMovimientoSalida = ObjInventario.AddMovimiento(
|
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigenSalidaMP.SelectedValue.ToEntero(), TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="Finalización OP #" & LblFolio.Text, Modulo:="OP/FinalizarOPSalida")
|
||||||
CveAlmacen:=DdlAlmacenOrigenSalidaMP.SelectedValue.ToEntero(),
|
|
||||||
CveConcepto:=TipoMovimientoSalida,
|
|
||||||
CveMoneda:=1,
|
|
||||||
FechaMovto:=Fecha,
|
|
||||||
tFolio:=-1,
|
|
||||||
CveUsuario:=UsuarioActual.CveUsuario,
|
|
||||||
CveEmpresa:=UsuarioActual.CveEmpresa,
|
|
||||||
CveCompra:=-1,
|
|
||||||
CveVenta:=-1,
|
|
||||||
CveSubProyecto:=-1,
|
|
||||||
CveActivoFijo:=-1,
|
|
||||||
Observaciones:="Finalización OP #" & LblFolio.Text,
|
|
||||||
CveAlmacenDestino:=DdlAlmacenTerminado.SelectedValue.ToEntero(),
|
|
||||||
Modulo:="OP/FinalizarOPSalida"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
If CveMovimientoSalida > 0 Then
|
||||||
|
For Each rowMP As DataRow In DtMP.Select("Tipo = 'MP'")
|
||||||
|
|
||||||
For Each rowMP As DataRow In DtMP.Select("Tipo = 'MP'")
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, rowMP("Cantidad").ToString.ToDecimal(), rowMP("CveUMMateriaPrima").ToString.ToEntero(), rowMP("CvePSMateriaPrima").ToString.ToEntero(), 1) Then
|
||||||
If Not ObjInventario.AddMovimientoDetalle(
|
ErrorMovInv = True : TextoError = "x" : Exit For
|
||||||
CveMovimientoSalida,
|
End If
|
||||||
rowMP("Cantidad").ToString.ToDecimal(),
|
Next
|
||||||
rowMP("CveUMMateriaPrima").ToString.ToEntero(),
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
|
||||||
rowMP("CvePSMateriaPrima").ToString.ToEntero(),
|
TotalCostoMP = ObjInventario.DtResultados.SUMD("Total")
|
||||||
1
|
|
||||||
) Then
|
|
||||||
Throw New Exception("Error al agregar detalle de MP")
|
|
||||||
End If
|
End If
|
||||||
TotalCostoMP += rowMP("Cantidad").ToString.ToDecimal()
|
|
||||||
Next
|
|
||||||
|
|
||||||
|
If Not ErrorMovInv Then
|
||||||
CveMovimientoEntrada = ObjInventario.AddMovimiento(
|
CveMovimientoEntrada = ObjInventario.AddMovimiento(DdlAlmacenTerminado.SelectedValue.ToEntero(), CveConceptoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="Finalización OP #" & LblFolio.Text, Modulo:="OP/FinalizarOPEntrada", CveMovimientoRelacionado:=CveMovimientoSalida)
|
||||||
CveAlmacen:=DdlAlmacenTerminado.SelectedValue.ToEntero(),
|
|
||||||
CveConcepto:=CveConceptoEntrada,
|
|
||||||
CveMoneda:=1,
|
|
||||||
FechaMovto:=Fecha,
|
|
||||||
tFolio:=-1,
|
|
||||||
CveUsuario:=UsuarioActual.CveUsuario,
|
|
||||||
CveEmpresa:=UsuarioActual.CveEmpresa,
|
|
||||||
CveCompra:=-1, CveVenta:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1,
|
|
||||||
Observaciones:="Finalización OP #" & LblFolio.Text,
|
|
||||||
Modulo:="OP/FinalizarOPEntrada",
|
|
||||||
CveMovimientoRelacionado:=CveMovimientoSalida
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
Dim CantidadPT As Decimal = DtPS.AsEnumerable().Sum(Function(row) Convert.ToDecimal(row("Cantidad")))
|
|
||||||
Dim PU_PT As Decimal = If(CantidadPT > 0, TotalCostoMP / CantidadPT, 1)
|
|
||||||
|
|
||||||
|
|
||||||
For Each rowPT As DataRow In DtPS.Select("Tipo = 'Producto'")
|
|
||||||
If Not ObjInventario.AddMovimientoDetalle(
|
|
||||||
CveMovimientoEntrada,
|
|
||||||
rowPT("Cantidad").ToString.ToDecimal(),
|
|
||||||
rowPT("CveUM").ToString.ToEntero(),
|
|
||||||
rowPT("Clave").ToString.ToEntero(),
|
|
||||||
PU_PT
|
|
||||||
) Then
|
|
||||||
Throw New Exception("Error al agregar detalle de PT")
|
|
||||||
End If
|
End If
|
||||||
Next
|
|
||||||
|
If CveMovimientoEntrada > 0 AndAlso Not ErrorMovInv Then
|
||||||
|
Dim CantidadPT As Decimal = DtPS.AsEnumerable().Sum(Function(row) Convert.ToDecimal(row("Cantidad")))
|
||||||
|
Dim PU_PT As Decimal = If(CantidadPT > 0, TotalCostoMP / CantidadPT, 1)
|
||||||
|
|
||||||
|
For Each rowPT As DataRow In DtPS.Select("Tipo = 'Producto'")
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, rowPT("Cantidad").ToString.ToDecimal(), rowPT("CveUM").ToString.ToEntero(), rowPT("Clave").ToString.ToEntero(), PU_PT) Then
|
||||||
|
ErrorMovInv = True : TextoError = "x" : Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If Not ErrorMovInv Then
|
||||||
|
|
||||||
|
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/OPFinalizada", 53, 0, 0, 1, Fecha, "Producción OP #" & LblFolio.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
|
If CvePrePoliza > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TotalCostoMP, TotalCostoMP, 68, "Consumo MP OP #" & LblFolio.Text, "Consumo MP OP #" & LblFolio.Text, CveMovimientoAlmacen:=CveMovimientoSalida) Then
|
||||||
|
ErrorMovInv = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCostoMP, TotalCostoMP, 68, "Producción PT OP #" & LblFolio.Text, "Producción PT OP #" & LblFolio.Text, CveMovimientoAlmacen:=CveMovimientoEntrada) Then
|
||||||
|
ErrorMovInv = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ErrorMovInv Then
|
||||||
|
|
||||||
|
If Not ObjOP.UpdateEstatusOP(CveOP, 3, UsuarioActual.CveEmpresa) Then
|
||||||
|
ErrorMovInv = True : TextoError = "Error al actualizar estatus de la OP"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas(
|
'If Not ErrorMovInv Then
|
||||||
Modulo:="Inventario/OPFinalizada",
|
' If Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
||||||
CvePlantillaPoliza:=53,
|
' ErrorMovInv = True : TextoError = "Error en validación de póliza"
|
||||||
Cargos:=0,
|
' ElseIf ObjConta.ValorPolizaDescuadre > 0 Then
|
||||||
Abonos:=0,
|
' ErrorMovInv = True : TextoError = "Descuadre en póliza contable"
|
||||||
CveMoneda:=1,
|
' End If
|
||||||
Fecha:=Fecha,
|
'End If
|
||||||
Concepto:="Producción OP #" & LblFolio.Text,
|
End If
|
||||||
CveUsuario:=UsuarioActual.CveUsuario,
|
|
||||||
CveEmpresa:=UsuarioActual.CveEmpresa
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(
|
|
||||||
CvePrePoliza,
|
|
||||||
False,
|
|
||||||
TotalCostoMP,
|
|
||||||
TotalCostoMP,
|
|
||||||
68,
|
|
||||||
"Consumo MP OP #" & LblFolio.Text,
|
|
||||||
"Consumo MP OP #" & LblFolio.Text,
|
|
||||||
CveMovimientoAlmacen:=CveMovimientoSalida
|
|
||||||
) Then ErrorMovInv = True
|
|
||||||
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(
|
|
||||||
CvePrePoliza,
|
|
||||||
True,
|
|
||||||
TotalCostoMP,
|
|
||||||
TotalCostoMP,
|
|
||||||
68,
|
|
||||||
"Producción PT OP #" & LblFolio.Text,
|
|
||||||
"Producción PT OP #" & LblFolio.Text,
|
|
||||||
CveMovimientoAlmacen:=CveMovimientoEntrada
|
|
||||||
) Then ErrorMovInv = True
|
|
||||||
|
|
||||||
|
|
||||||
If Not ErrorMovInv Then
|
|
||||||
Dim ObjOP As New ClsOP()
|
|
||||||
If Not ObjOP.UpdateEstatusOP(CveOP, 3, UsuarioActual.CveEmpresa) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
TextoError = "Error al actualizar estatus de la OP"
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If Not ErrorMovInv Then
|
|
||||||
If Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
TextoError = "Error en validación de póliza"
|
|
||||||
ElseIf ObjConta.ValorPolizaDescuadre > 0 Then
|
|
||||||
ErrorMovInv = True
|
|
||||||
TextoError = "Descuadre en póliza contable"
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If Not ErrorMovInv Then
|
If Not ErrorMovInv Then
|
||||||
ObjInventario.Commit()
|
ObjInventario.Commit()
|
||||||
Alert($"OP finalizada. Folio Contable: {ObjConta.ContaFolio}", TipoMensaje.MsgInformacion)
|
Alert($"Orden de producción finalizada.
|
||||||
|
<br/><a class='Texto' href='/Inventarios/EntradasSalidas.aspx?CveMovimiento= {CveMovimientoEntrada}'>{ObjInventario.Folio}</a> ", TipoMensaje.MsgInformacion)
|
||||||
Else
|
Else
|
||||||
ObjInventario.RollBack()
|
ObjInventario.RollBack()
|
||||||
Alert($"Error contable: {TextoError}", TipoMensaje.MsgError)
|
Alert($"Error contable: {TextoError}", TipoMensaje.MsgError)
|
||||||
|
|||||||
Reference in New Issue
Block a user