Filtros nuevos en impresion de poliza

Sopostres en ventas (no se contabilicen nc y dev y aplicaciones a diferente moneda)
Soporte en RecepcionAlmacen en entrega directa, ya se crea prepoliza
This commit is contained in:
Raul Pimienta
2019-09-06 18:17:17 -07:00
parent 3685713bb3
commit 6324057467
7 changed files with 213 additions and 136 deletions

View File

@@ -922,31 +922,36 @@ Partial Class OS_OrdenesServicios
Dim EstatusOrdenServicio As Integer = DdlEstatusOS.SelectedValue.ToEntero
Dim DirectorioEmpresa = UsuarioActual.Empresa.Ruta
If CveOS = -1 Then
If ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
If Errores = False Then
Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
Dim Archivo As New System.IO.FileInfo(String.Format("{0}OS\Temp\{1}", UsuarioActual.Empresa.Ruta, Row("Archivo").ToString))
If Not CveOS > 0 Then
CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, SeFacturara, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
If CveOsDetalle < 0 Then Errores = True
If Not ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyecto.SelectedValue.ToEntero, TxtSolicito.Text, TxtFechaRecibido.Text.ToDateTime, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCotizacion, -1, -1, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
Errores = True
End If
For Each Row As DataRow In TmpDT.Rows
If Not Errores Then
Dim Consecutivo As Integer = Row("Consecutivo").ToString.ToEntero
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
Dim SeFacturara As Boolean = CBool(Row("SeFacturara").ToString)
Dim CveCuentaEquipo As Integer = Row("CveCuentaEquipo").ToString.ToEntero
Dim ComentarioTecnico As String = Row("ComentarioTecnico").ToString
Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
Dim Archivo As New System.IO.FileInfo(String.Format("{0}OS\Temp\{1}", UsuarioActual.Empresa.Ruta, Row("Archivo").ToString))
CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePS, Cantidad, -1, -1, Observaciones, False, SeFacturara, False, CveCuentaEquipo, "-1", "-1", "-1", ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
If CveOsDetalle > 0 Then
If Archivo.Name <> "-1" AndAlso Archivo.Exists Then
'Cambiar el nombre del archivo de CveUsuario-Consecutivo.ext a CveOS-Consecutivo.ext
Dim ArchivoFinal As String = String.Format("OS{0}-{1}{2}", ObjOrdenServicio.CveOS, Consecutivo, System.IO.Path.GetExtension(Archivo.Extension))
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal)
ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal, ObjOrdenServicio.CveOSDetalle)
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal, ObjOrdenServicio.CveOSDetalle) Then
Errores = True
End If
End If
For Each RowE As DataRow In TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows
@@ -969,38 +974,40 @@ Partial Class OS_OrdenesServicios
Errores = True
End If
Next
Else
Errores = True
End If
Next
If Errores = False Then
ViewState("CveOS") = ObjOrdenServicio.CveOS
ViewState("Folio") = ObjOrdenServicio.Folio
CveFolio = ObjOrdenServicio.Folio
ObjOrdenServicio.Commit()
'MENSAJE PRINCIPAL
MensajeAlert.AppendFormat(String.Format("<br/>La Orden de Servicio: <b>{0}</b> se generó correctamente.<br/><br/>", ObjOrdenServicio.Folio))
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=OS&CVEOS={0}", CveOS)))
Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";"
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga)
LimpiaDatos()
Else
ObjOrdenServicio.RollBack()
End If
Next
If Not Errores Then
ViewState("CveOS") = ObjOrdenServicio.CveOS
ViewState("Folio") = ObjOrdenServicio.Folio
CveFolio = ObjOrdenServicio.Folio
'MENSAJE PRINCIPAL
MensajeAlert.AppendFormat(String.Format("<br/>La Orden de Servicio: <b>{0}</b> se generó correctamente.<br/><br/>", ObjOrdenServicio.Folio))
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=OS&CVEOS={0}", ObjOrdenServicio.CveOS)))
Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";"
ObjOrdenServicio.Commit()
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, Liga)
LimpiaDatos()
Else
ObjOrdenServicio.RollBack()
End If
DdlEstatusOS.Enabled = True
Else
If ObjOrdenServicio.UpdateOrdenesServicios(TxtSolicito.Text, TxtFechaRecibido.Text, TxtDescripcion.Text, UsuarioActual.CveUsuario, DdlEstatusOS.SelectedValue.ToEntero, CveOS, UsuarioActual.CveUsuario, DdlTipoOrdenOS.SelectedValue.ToEntero, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero) Then
For Each Row As DataRow In TmpDT.Rows
If Errores = False Then
If Not Errores Then
Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
Dim CveOSDetalle As Integer = Row("CveOSDetalle").ToString.ToEntero
Dim Observaciones As String = Row("Observaciones").ToString
@@ -1018,10 +1025,12 @@ Partial Class OS_OrdenesServicios
CveConsecutivo = Consecutivo
If CveOSDetalle > 0 Then
Errores = Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS)
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalle(CvePS, Cantidad, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, ComentarioTecnico, CveCuentaEquipo, Archivo.Name, "-1", FechaEntrega, CveOSDetalle, CveOS) Then
Errores = True
End If
Else
CveOSDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(CveOS, CvePS, Cantidad, -1, CveUsuarioEntrego, Observaciones, SeSuperviso, SeFacturara, Estatus, CveCuentaEquipo, "-1", "-1", FechaEntrega, ComentarioTecnico, UsuarioActual.CveUsuario, Archivo:=Archivo.Name)
If CveOSDetalle < 0 Then Errores = True
If Not CveOSDetalle > 0 Then Errores = True
End If
@@ -1036,7 +1045,9 @@ Partial Class OS_OrdenesServicios
'Mover el archivo de los temporales a OS
System.IO.File.Move(UsuarioActual.Empresa.Ruta & "\OS\Temp\" & Archivo.Name, UsuarioActual.Empresa.Ruta & "\OS\Archivos\" & ArchivoFinal.Name)
ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle)
If Not ObjOrdenServicio.UpdateOrdenesServiciosDetalleArchivo(ArchivoFinal.Name, ObjOrdenServicio.CveOSDetalle) Then
Errores = True
End If
End If
If TmpDTCaracteristica.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows.Count > 0 Then
@@ -1069,22 +1080,24 @@ Partial Class OS_OrdenesServicios
End If
End If
Next
Else
Errores = True
End If
If Errores = False Then
ObjOrdenServicio.Commit()
If Not Errores Then
ObjOrdenServicio.Commit()
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
UpDatos.Update()
Else
ObjOrdenServicio.RollBack()
End If
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
UpDatos.Update()
CargaHistorial()
UpHistorial.Update()
Else
ObjOrdenServicio.RollBack()
End If
End If
CargaHistorial()
UpHistorial.Update()
ObjOrdenServicio.Dispose()
ObjGenerales.Dispose()
End Sub
Protected Sub BtnBuscarEspecificaciones_Click(sender As Object, e As EventArgs)
Dim btn As Button = DirectCast(sender, Button)
@@ -2103,18 +2116,10 @@ Partial Class OS_OrdenesServicios
If GvMaterialesModal.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 CveTraspasoSolicitud As Integer = 0
Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False
Dim TieneError As Boolean = False
Dim ErrorExistencia = False
Dim TextoError = ""
Dim TextoExistencia As StringBuilder = New StringBuilder
'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
@@ -2133,76 +2138,33 @@ Partial Class OS_OrdenesServicios
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
Dim Estatus As Integer = -1
'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 TmpDTMaterialesDetalle.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
If UsuarioActual.Empresa.Funcionalidad(105) <> "" Then
Estatus = 1
Else
Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
Estatus = 3
End If
Dim Folio As Integer = ObjInventario.AddTrasladoSolicitud($"Solicitud de traspaso #{LblFolio.Text}", DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero, Estatus, -1, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOS)
If Folio > 0 Then
CveTraspasoSolicitud = ObjInventario.CveTraspasoSolicitud
Else
TieneError = True
End If
If Not TieneError Then
For Each Row As GridViewRow In TmpDTMaterialesDetalle.Rows
Dim CveUM As Integer = Row.DataKey("CveUM").ToEntero
Dim CvePS As Integer = Row.DataKey("CvePS").ToEntero
Dim Cantidad As Integer = Row.DataKey("Cantidad").ToEntero
If Not ObjInventario.AddTrasladoSolicitudDetalle(CveTraspasoSolicitud, Cantidad, CveUM, CvePS, 0, "", -1) Then
TieneError = True
Exit For
End If
Next
End If
@@ -2211,6 +2173,14 @@ Partial Class OS_OrdenesServicios
Alert("Ocurrió un error en la existencia", TipoMensaje.MsgError)
End If
If TieneError = False Then
ObjInventario.Commit()
Alert($"El Traspaso se guardó correctamente con el folio #: <b>{Folio}</b>.", TipoMensaje.MsgInformacion, $"document.location.href=""/Inventarios/TrasladoSolicitud.aspx?CveTraspasoSolicitud={CveTraspasoSolicitud}""")
Else
ObjInventario.RollBack()
Alert("Ocurrió un Error al guardar el traspaso.", TipoMensaje.MsgError)
End If
ObjInventario.Dispose()
End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivGvMateriales"))
@@ -2414,7 +2384,7 @@ Partial Class OS_OrdenesServicios
DdlAlmacenOrigen.DataBind()
DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (4)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenDestino.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (23)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenDestino.DataBind()
DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub