-- mejoras - registro de prepóliza

This commit is contained in:
2024-01-05 08:24:56 -07:00
parent 474d9fd65a
commit b41614dada
2 changed files with 37 additions and 156 deletions

View File

@@ -1291,7 +1291,7 @@
<HeaderTemplate>Utilizado</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtUtilizado" runat="server" Width="50px" ></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" FilterType="Custom" TargetControlID="TxtDev" ValidChars="123456789." />
<ajax:FilteredTextBoxExtender runat="server" FilterType="Custom" TargetControlID="TxtUtilizado" ValidChars="123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>

View File

@@ -7,6 +7,7 @@ Imports System.Data
Imports Telerik.Web.UI
Imports System.Data.SqlClient
Imports Stimulsoft.Report.StiOptions.Export
Imports Modelos
Partial Class OS_OrdenesServicios
Inherits ClsPaginas
@@ -889,8 +890,6 @@ Partial Class OS_OrdenesServicios
Dim Row As DataRow = Nothing
Row = TmpDTMaterialesDetalle.NewRow()
Row("CveConsecutivo") = Consecutivo
Row("CveConsecutivoDetalle") = CveConsecutivoDetalle
Row("CveOSDetalle") = CveOsDetalle
@@ -2728,17 +2727,14 @@ Partial Class OS_OrdenesServicios
'AGREGAMOS LA ENTRADA Movto 1
If Not TieneError Then
AlmacenEntrada = CveAlmacenOrigen
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=CveAlmacenDestino, CveMovimientoRelacionado:=CveMovimientoSalida, CveOS:=CveOS)
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=CveAlmacenDestino, CveMovimientoRelacionado:=CveMovimientoSalida, CveOS:=CveOS, Modulo:="OS/MatUtil")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
TextoError = "No se pudo generar el movimiento de entrada correctamente"
TieneError = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, -1) Then
TieneError = True
@@ -2746,26 +2742,20 @@ Partial Class OS_OrdenesServicios
Exit For
End If
Next
End If
End If
End If
'AGREGAMOS LA ENTRADA Movto 2
If Not TieneError Then
AlmacenEntrada = CveAlmacenDestino
CveMovimientoEntrada2 = ObjInventario.AddMovimiento(AlmacenEntrada, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=-1, CveMovimientoRelacionado:=CveMovimientoEntrada, CveOS:=CveOS)
CveMovimientoEntrada2 = ObjInventario.AddMovimiento(AlmacenEntrada, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=-1, CveMovimientoRelacionado:=CveMovimientoEntrada, CveOS:=CveOS, Modulo:="OS/MatUtil2")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada2 <= 0 Then
TextoError = "No se pudo generar el movimiento de entrada correctamente"
TieneError = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada2, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, -1) Then
TieneError = True
@@ -2773,13 +2763,10 @@ Partial Class OS_OrdenesServicios
Exit For
End If
Next
End If
End If
End If
If Not TieneError Then
If ObjMateriales.RemoveDetalleMateriales(CveMaterial, CveOSDetalle) Then
GvMaterialesModal.EditIndex = -1
@@ -2791,10 +2778,8 @@ Partial Class OS_OrdenesServicios
Alert(TextoError, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
End If
End If
End If
If Not TieneError Then
@@ -2875,127 +2860,6 @@ Partial Class OS_OrdenesServicios
Objeto.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End Sub
'Private Sub LbGuardaSolicitarMaterial_Click(sender As Object, e As EventArgs) Handles LbGuardaSolicitarMaterial.Click
' 'VALIDA ALMACEN ORIGEN Y DESTINO
' If DdlAlmacenOrigen.SelectedValue = DdlAlmacenDestino.SelectedValue Then
' Alert("No se puede realizar un traspaso entre el mismo almacén.", TipoMensaje.MsgAdvertencia)
' Exit Sub
' End If
' If GvSolicitarMaterial.Rows.Count > 0 Then
' Dim ObjInventario As New ClsInventarios
' Dim CveMovimientoSalida = 0
' Dim CveMovimientoEntrada = 0
' Dim IDPoliza As Integer = 0
' Dim FolioSalida = 0
' Dim FolioEntrada = 0
' Dim AlmacenEntrada = -1
' Dim ErrorMovInv As Boolean = False
' Dim ErrorAC As Boolean = False
' Dim ErrorExistencia = False
' Dim TextoError = ""
' Dim TextoExistencia As StringBuilder = New StringBuilder
' 'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
' Dim Existencia As Double
' TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:<br/>")
' For Each dr As DataRow In TmpDTSolicitarMaterial.Rows
' Existencia = ObjInventario.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, -1, TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), "-1")
' Existencia -= TmpDTSolicitarMaterial.SUM("Cantidad", $"CvePS = {dr("CvePS").ToString.ToEntero} AND CveUM = {dr("CveUM").ToString.ToEntero} ")
' If Existencia < 0 Then
' ErrorExistencia = True
' dr("Cantidad") = Existencia
' TextoExistencia.AppendFormat("- #{0}<br/>", dr("PS").ToString)
' End If
' Next
' 'REGISTRA LA SALIDA Y ENTRADA (TRASPASO)
' If Not ErrorExistencia Then
' ObjInventario.IniciaTransacSQL() 'Inicia la transacción
' Dim Fecha As Date = TxtFecha.Text.ToDate
' 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
' CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, CveOS:=CveOS)
' FolioSalida = ObjInventario.Folio
' If CveMovimientoSalida <= 0 Then
' TextoError = "No se pudo generar el movimiento de salida correctamente"
' ErrorMovInv = True
' Else
' For Each Dr As DataRow In TmpDTSolicitarMaterial.Rows
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, -1) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de salida"
' Exit For
' End If
' Next
' End If
' 'AGREGAMOS LA ENTRADA
' If Not ErrorMovInv Then
' AlmacenEntrada = DdlAlmacenDestino.SelectedValue.ToEntero
' CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, CveAlmacenDestino:=-1, CveMovimientoRelacionado:=CveMovimientoSalida, CveOS:=CveOS)
' FolioEntrada = ObjInventario.Folio
' If CveMovimientoEntrada <= 0 Then
' TextoError = "No se pudo generar el movimiento de entrada correctamente"
' ErrorMovInv = True
' Else
' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, -1, -1) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de entrada"
' Exit For
' End If
' Next
' End If
' End If
' End If
' If Not ErrorMovInv Then
' ObjInventario.Commit()
' Dim Mensaje As StringBuilder = New StringBuilder
' Mensaje.Append("Se realizó con éxito el traspaso.")
' Mensaje.AppendFormat("<br/> Folio de Salida: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioSalida, CveMovimientoSalida)
' Mensaje.AppendFormat("<br/><a target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
' LimpiaMovimiento()
' Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
' Else
' ObjInventario.RollBack()
' Alert(TextoError, TipoMensaje.MsgError)
' RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
' End If
' Else
' Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
' RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
' End If
' 'SI OCURRIO UN ERROR EN LA EXISTENCIA RECARGAMOS EL GRID PARA COLOREAR LOS DETALLES CON ERROR
' If ErrorExistencia Then
' Alert("Ocurrió un error en la existencia", TipoMensaje.MsgError)
' End If
' ObjInventario.Dispose()
' End If
'End Sub
Private Sub LimpiaMovimiento()
CargaAlmacen()
TxtFecha.Text = NowADS().ToShortDateString
@@ -3140,8 +3004,8 @@ Partial Class OS_OrdenesServicios
Dim ProcesoOK As Boolean = True
Dim ObjV As New ClsVentas
Dim ClsOS As New ClsOS(ObjV.IniciaTransacSQL())
Dim ObjInventario As New ClsInventarios(ObjV.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjV.IniciaTransacSQL())
If ProcesoOK Then
Dim AplicaDevolucion As Boolean = False
@@ -3162,8 +3026,11 @@ Partial Class OS_OrdenesServicios
End If
End If
End If
Dim Respuesta As New RespuestaFacturacion()
Dim Respuesta As New RespuestaFacturacion()
Dim DtVentaDetalle As New DataTable
Dim CveMovimientoSalida, CveMovimientoEntrada As Integer
Dim ImporteAlmacen As Decimal
Dim Fecha As DateTime = ClsPaginas.NowADS()
If ProcesoOK Then
Respuesta = GeneraRemision(CveVentaPedido, ObjV.IniciaTransacSQL())
@@ -3181,12 +3048,10 @@ Partial Class OS_OrdenesServicios
If ProcesoOK Then
Dim ObjInventario As New ClsInventarios(ObjV.IniciaTransacSQL())
Dim CveMovimiento As Integer = ObjInventario.AddMovimiento(CveAlmacenActual, 8, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveAlmacenDestino:=CveAlmacenDestino)
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenActual, 8, CveMoneda, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="OS/MatUtil")
Dim Folio As Integer = ObjInventario.Folio
If CveMovimiento > 0 Then
If CveMovimientoSalida > 0 Then
Dim IndexMov1 As Integer = 0
For Each GvRow As GridViewRow In GvMU.Rows
@@ -3204,7 +3069,7 @@ Partial Class OS_OrdenesServicios
Dim Serie As String = GvRow.DataKey("Serie")
Dim Lote As String = GvRow.DataKey("Lote")
Dim FechaCaducidad As DateTime = GvRow.DataKey("FechaCaducidad").ToDate
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadRegistro, CveUM, CvePS, PU, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalle, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadRegistro, CveUM, CvePS, PU, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalle, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad) Then
Alert("Error al agregar detalle de movimiento.", TipoMensaje.MsgAdvertencia)
ProcesoOK = False
Exit For
@@ -3215,10 +3080,10 @@ Partial Class OS_OrdenesServicios
If ProcesoOK Then
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveMovimientoRelacionado:=CveMovimiento)
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, CveMoneda, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="OS/MatUtil2")
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
ImporteAlmacen = ObjInventario.DtResultados.SUM("Total")
Dim IndexMov2 As Integer = 0
For Each dRow As DataRow In ObjInventario.DtResultados.Rows
@@ -3226,14 +3091,14 @@ Partial Class OS_OrdenesServicios
Dim CvePS As Integer = dRow("CvePS").ToString.ToEntero
Dim CveUM As Integer = dRow("CveUM").ToString.ToEntero
Dim PU As Decimal = dRow("PU").ToString.ToDecimal
Dim CveVentaDetalle As Integer = DtVentaDetalle.Rows(IndexMov2)("CveVentaDetalle").ToString.ToEntero
Dim CveVentaDetalle As Integer = dRow("CveVentaDetalle").ToString.ToEntero
Dim CveMovimientoDetalle As Integer = dRow("CveMovimientoDetalle").ToString.ToEntero
Dim Lote As String = dRow("Lote").ToString
Dim Serie As String = dRow("Serie").ToString
Dim FechaCaducidad As DateTime = dRow("FechaCaducidad").ToString.ToDateTime
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUM, CvePS, PU, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalle, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUM, CvePS, PU, CveVentaDetalle:=CveVentaDetalle, CveMovimientoDetalleEntrada:=CveMovimientoDetalle, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad) Then
Alert("Error al agregar detalle de movimiento.", TipoMensaje.MsgAdvertencia)
ProcesoOK = False
Exit For
@@ -3242,7 +3107,7 @@ Partial Class OS_OrdenesServicios
Next
If ProcesoOK Then
Dim ObjEventos As New ClsOIEventos(ObjInventario.IniciaTransacSQL)
Dim LigaVenta As String = String.Format("Venta {2} en Folio: <a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", CveMovimiento, Folio, "Material utilizado")
Dim LigaVenta As String = String.Format("Venta {2} en Folio: <a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a>", CveMovimientoEntrada, Folio, "Material utilizado")
If Not ObjEventos.AddEventoBitacora(LigaVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=Respuesta.CveVenta, CveOS:=CveOS) Then
ProcesoOK = False
@@ -3257,6 +3122,22 @@ Partial Class OS_OrdenesServicios
ProcesoOK = False
End If
End If
If ProcesoOK Then
Dim Contabilizable As Boolean = False
Dim Concepto As String = "Material utilizado"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("OS-MatUtil", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveMovimientoSalida > 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAlmacen, ImporteAlmacen, 68, "", Concepto, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable) Then
ProcesoOK = False
End If
End If
If CveMovimientoEntrada > 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAlmacen, ImporteAlmacen, 68, "", Concepto, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable) Then
ProcesoOK = False
End If
End If
End If
Else
ProcesoOK = False
End If
@@ -3269,6 +3150,7 @@ Partial Class OS_OrdenesServicios
RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');")
Else
ObjV.RollBack()
Alert("El material utilizado no se guardó correctamente", TipoMensaje.MsgAdvertencia)
End If
ObjV.Dispose()
@@ -3278,7 +3160,7 @@ Partial Class OS_OrdenesServicios
Private Function GeneraRemision(CveVentaPedido As Integer, ByRef TransaccionSQL As SqlTransaction) As RespuestaFacturacion
Dim Respuesta As New RespuestaFacturacion()
Dim CveRemiocionGenerada As Integer = -1
Dim CveRemisionGenerada As Integer = -1
Dim ObjVentas As New ClsVentas(TransaccionSQL)
Dim ProcesoOK As Boolean = True
Dim CveSubProyectoPedido As Integer = -1
@@ -3313,7 +3195,6 @@ Partial Class OS_OrdenesServicios
Exit For
End If
End If
Next
If ProcesoOK Then