diff --git a/OS/OrdenesServicios.aspx b/OS/OrdenesServicios.aspx
index e6ad88e15..cf474873f 100644
--- a/OS/OrdenesServicios.aspx
+++ b/OS/OrdenesServicios.aspx
@@ -1291,7 +1291,7 @@
Utilizado
-
+
diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb
index 14d2968e4..9171efa98 100644
--- a/OS/OrdenesServicios.aspx.vb
+++ b/OS/OrdenesServicios.aspx.vb
@@ -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:
")
-
-
- ' 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}
", 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("
Folio de Salida: {0}", FolioSalida, CveMovimientoSalida)
- ' Mensaje.AppendFormat("
Imprimir Reporte", 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: {1}", CveMovimiento, Folio, "Material utilizado")
+ Dim LigaVenta As String = String.Format("Venta {2} en Folio: {1}", 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