Impresion de PDF PV, Verificar saldo de almacen al facturar REM
This commit is contained in:
@@ -4177,10 +4177,11 @@ Namespace Modelos
|
||||
Dim CveMovimiento As Integer = 0
|
||||
Dim Folio As Integer = 0
|
||||
|
||||
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen AndAlso ObjFactura.SaldoAlmacen <> 0 Then
|
||||
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then
|
||||
Dim CveAlmacenDevolucion = ObjFactura.CveAlmacenDevolucion
|
||||
'VERIFICAR SI YA TIENE UNA DEVOLUCION
|
||||
If ObjFactura.SaldoAlmacen <> 0 Then
|
||||
'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN)
|
||||
|
||||
CveMovimiento = ObjInventario.AddMovimiento(CveAlmacenDevolucion, ConceptoMovimiento, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1)
|
||||
Folio = ObjInventario.Folio
|
||||
|
||||
@@ -4272,10 +4273,18 @@ Namespace Modelos
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un Error al ingresar las prepolizas"
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
'UTILIZA LA DEVOLUCION YA REALIZADA
|
||||
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
CveMovimiento = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", $"CvePS IS NULL AND CveConcepto = 18").ToEntero()
|
||||
Else
|
||||
ErrorCancelar = True
|
||||
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ErrorCancelar Then
|
||||
If Not GeneraMovimientosApartados(ObjInventario) Then
|
||||
|
||||
@@ -72,7 +72,6 @@ Partial Class PopUpVerFactura
|
||||
Return AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private ReadOnly Property DomicilioFiscalCompu As String
|
||||
Get
|
||||
Dim SisEmpresa As New ClsSisEmpresas()
|
||||
@@ -86,6 +85,14 @@ Partial Class PopUpVerFactura
|
||||
Return ""
|
||||
End Get
|
||||
End Property
|
||||
'Private Property SessionPorImpresion As Boolean
|
||||
' Get
|
||||
' Return CBool(IfNull(ViewState("SessionPorImpresion"), False, ViewState("SessionPorImpresion")))
|
||||
' End Get
|
||||
' Set(value As Boolean)
|
||||
' ViewState("SessionPorImpresion") = value
|
||||
' End Set
|
||||
'End Property
|
||||
#End Region
|
||||
|
||||
|
||||
@@ -95,13 +102,13 @@ Partial Class PopUpVerFactura
|
||||
If Request.Headers("ADSToken") IsNot Nothing Then
|
||||
Dim UserParams As Hashtable = Parametros(Decripta((Request.Headers("ADSToken").ToString)))
|
||||
Dim CveEmpresaToken As Integer = UserParams("CVEEMPRESA").ToString().ToEntero()
|
||||
Dim CveUsuario As Integer = IfNull(UserParams("CVEUSUARIO"), 100, UserParams("CVEUSUARIO").ToString().ToEntero()).ToString().ToEntero()
|
||||
|
||||
Dim UsuarioToken = ValidaUsuarioSistema(CveEmpresaToken)
|
||||
Dim UsuarioToken = ValidaUsuarioSistema(CveEmpresaToken, CveUsuario)
|
||||
|
||||
If UsuarioToken IsNot Nothing Then
|
||||
If UsuarioToken IsNot Nothing AndAlso UsuarioActual Is Nothing Then
|
||||
Context.Session("UsuarioSIG") = UsuarioToken
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If Request("RFC") IsNot Nothing AndAlso Request("File") IsNot Nothing Then
|
||||
@@ -172,11 +179,11 @@ Partial Class PopUpVerFactura
|
||||
|
||||
#Region "U S U A R I O - T O K E N"
|
||||
|
||||
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
|
||||
Private Function ValidaUsuarioSistema(CveEmpresa As Integer, Optional CveUsuario As Integer = 100) As Usuario
|
||||
|
||||
Dim UsuarioToken As Usuario = Nothing
|
||||
Dim ObjUsuarios As New ClsSisUsuarios
|
||||
If ObjUsuarios.GetUsuarios(100) Then
|
||||
If ObjUsuarios.GetUsuarios(CveUsuario) Then
|
||||
If ObjUsuarios.DtResultados.Rows.Count > 0 Then
|
||||
Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
|
||||
Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
|
||||
|
||||
@@ -7,6 +7,7 @@ Imports System.IO
|
||||
Imports System.Linq
|
||||
Imports System.Security.Cryptography.X509Certificates
|
||||
Imports System.Globalization
|
||||
Imports System.Net.Http
|
||||
|
||||
Partial Class PV
|
||||
Inherits ClsPaginas
|
||||
@@ -2290,6 +2291,18 @@ Partial Class PV
|
||||
If ObjFactura.CveCliente > 0 Then
|
||||
If TmpDT.Rows.Count > 0 Then
|
||||
Dim Retorno = ObjFactura.EmitirFactura()
|
||||
If Retorno.CveVenta > 0 Then
|
||||
Dim SbAlert As New StringBuilder
|
||||
SbAlert.AppendFormat("{0}<br>", Retorno.Mensajes(Retorno.Mensajes.Count - 1))
|
||||
|
||||
DescargarFactura(Retorno.CveVenta, UsuarioActual.CveEmpresa)
|
||||
|
||||
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))
|
||||
|
||||
|
||||
Retorno.Mensajes(Retorno.Mensajes.Count - 1) = SbAlert.ToString()
|
||||
End If
|
||||
|
||||
For Each Mensaje In Retorno.Mensajes
|
||||
Alert(Mensaje, If(Retorno.TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion), If(Retorno.TieneError, "", Retorno.LigaPV))
|
||||
Next
|
||||
@@ -2298,6 +2311,27 @@ Partial Class PV
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer, Optional GetBytes As Boolean = True) As Byte()
|
||||
Dim Url = New Uri(String.Format("http://{0}:{1}/Compras/PopUpVerFactura.aspx?P={2}", HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta))))
|
||||
Dim File As Byte() = Nothing
|
||||
Try
|
||||
Using httpClient = New HttpClient()
|
||||
httpClient.Timeout = New TimeSpan(0, 15, 0)
|
||||
Using request = New HttpRequestMessage(HttpMethod.Get, Url)
|
||||
request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CveUsuario={2}", CveEmpresa, DateTime.UtcNow.Ticks, UsuarioActual.CveUsuario)))
|
||||
Dim response = httpClient.SendAsync(request).Result
|
||||
If GetBytes AndAlso response.StatusCode = Net.HttpStatusCode.OK Then
|
||||
File = response.Content.ReadAsByteArrayAsync().Result
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
File = Nothing
|
||||
OnError("Ocurrió un error al descargar la factura", ex)
|
||||
End Try
|
||||
|
||||
Return File
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
#Region "OBJETO VENTA"
|
||||
@@ -2485,7 +2519,7 @@ Partial Class PV
|
||||
|
||||
ObjFactura.DtRecepcionUsados = TmpDTRecepcionUsados
|
||||
|
||||
ObjFactura.GenerarPDFFactura = True
|
||||
ObjFactura.GenerarPDFFactura = False
|
||||
|
||||
Dim CveTipoAlmacen As Integer = If(TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0, 6, 22)
|
||||
If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen = {CveTipoAlmacen} AND CveSubProyecto= {DdlSubProyectoDatos.SelectedValue}").Rows.Count > 0 Then
|
||||
|
||||
@@ -14926,7 +14926,7 @@ Partial Class Ventas
|
||||
Dim AplicaMovimientoDetalleEntrada As Boolean = False
|
||||
If RemisionesLista.Count > 0 Then
|
||||
AplicaMovimientoDetalleEntrada = True
|
||||
MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND TieneSalidaxFactura IS NULL"))
|
||||
MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND (TieneSalidaxFactura IS NULL OR SaldoAlmacen > 0)"))
|
||||
Else
|
||||
MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}")
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user