-- simplificación de código, un solo lugar para impresión de póliza

This commit is contained in:
2023-05-15 13:35:23 -07:00
parent 2caf475d06
commit 13dc2856e7
3 changed files with 76 additions and 278 deletions

View File

@@ -1454,9 +1454,7 @@ Partial Class PopUpVerFactura
End If
'IMPRIME VALE
'IMPRIME POLIZA
If UrlParametros("OP").ToString = "PREPO" Then
If UrlParametros("CVEPREPOLIZA") IsNot Nothing AndAlso UrlParametros("CVEPREPOLIZA").ToString.ToEntero > 0 Then
ImprimeImPrimePrePolizaS(UrlParametros("CVEPREPOLIZA").ToString.ToEntero)
@@ -6947,47 +6945,90 @@ Partial Class PopUpVerFactura
#End Region
#Region "OP PREPO"
#Region "IMPRESION POLIZAS"
Public Sub ImprimeImPrimePrePolizaS(CvePrePoliza As Integer)
If Not CvePrePoliza > 0 Then Exit Sub
Dim ObjConta As New ClsContabilidad
If ObjConta.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then
If Not CvePrePoliza > 0 Then
Exit Sub
End If
Dim drp As DataRow = ObjConta.DtResultados.FiltroPrimero("")
If drp IsNot Nothing Then
'ObjContabilidad.Dispose()
Dim DtDetalle As New DataTable
Dim CveTipoPolizaImp As Integer
Dim FolioPoliza As String
Dim ConceptoPolizaImp As String
Dim CveMonedaImp As Integer
Dim TipoPolImp As String
Dim RutaReporte As String
Dim params = New List(Of ReportParameter)
Dim rutaArchivo As String = ""
Dim params As New List(Of ReportParameter)
Dim Bytes As Byte() = Nothing
Dim DtDetalle As New DataTable
Dim CveTipoPolizaImp As Integer = 0
Dim FolioPoliza As String = ""
Dim ConceptoPolizaImp As String = ""
Dim CveMonedaImp As Integer = 0
Dim TipoPolizaString = ""
TipoPolImp = If(drp("CveTipoPoliza").ToString.ToEntero = 1, "Ingreso", If(drp("CveTipoPoliza").ToString.ToEntero = 2, "Egreso", "Diario"))
CveTipoPolizaImp = drp("CveTipoPoliza").ToString.ToEntero
ConceptoPolizaImp = drp("Concepto").ToString
FolioPoliza = drp("FolioPoliza").ToString
CveMonedaImp = drp("CveMoneda").ToString.ToEntero
Dim TipoPolizaString As String = If(CveTipoPolizaImp = 1, "I", If(CveTipoPolizaImp = 2, "E", "D")).ToString
Dim ObjContabilidad As New ClsContabilidad
If UsuarioActual.Empresa.Funcionalidad(282) = "1" Then
Dim TipoPolImp As String = ""
Dim ImpresionPersonalizada As Integer = UsuarioActual.Empresa.Funcionalidad(282).ToEntero
RutaReporte = RutaFormatoReporte("PolizasResumen.rdlc")
If ObjConta.GetPrePolizasDetalleResumen(CvePrePoliza, UsuarioActual.CveEmpresa, ImpresionPersonalizada) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados
dr = DtDetalle.Rows(0)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", TipoPolImp))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Numero", FolioPoliza))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
params.Add(New ReportParameter("UsuarioRegistro", UsuarioActual.Usuario))
params.Add(New ReportParameter("ConceptoPoliza", ConceptoPolizaImp))
params.Add(New ReportParameter("Folio", FolioPoliza))
params.Add(New ReportParameter("pImg", RutaImagenLogo))
End If
ObjConta.Dispose()
Else
RutaReporte = RutaFormatoReporte("Polizas.rdlc")
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden")
dr = DtDetalle.Rows(0)
Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("")
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("Numero", dr("FolioPoliza").ToString))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
If UsuarioActual.CveEmpresa.Contiene(141) Then
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToString("dd/MM/yyyy hh:mm:ss")))
Else
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
End If
If UsuarioActual.CveEmpresa.Contiene(119, 141) Then
params.Add(New ReportParameter("UsuarioRegistro", GlobalDTUsuarios(dr("CveUsuario").ToString.ToEntero).FiltroPrimeroValor("Nombre")))
End If
If UsuarioActual.CveEmpresa.Contiene(140, 141) Then
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
End If
End If
ObjConta.Dispose()
End If
If dr IsNot Nothing Then
TipoPolImp = If(dr("CveTipoPoliza").ToString.ToEntero = 1, "Ingreso", If(dr("CveTipoPoliza").ToString.ToEntero = 2, "Egreso", "Diario"))
CveTipoPolizaImp = dr("CveTipoPoliza").ToString.ToEntero
ConceptoPolizaImp = dr("Concepto").ToString
FolioPoliza = dr("FolioPoliza").ToString
CveMonedaImp = dr("CveMoneda").ToString.ToEntero
ImprimirPDF(RutaReporte, DtDetalle, params, $"P{TipoPolizaString}{FolioPoliza}", Formato:="PDF")
Else
Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia)
@@ -6995,124 +7036,7 @@ Partial Class PopUpVerFactura
End If
ObjContabilidad.Dispose()
Select Case CveTipoPolizaImp
Case 1
TipoPolizaString = "I"
Exit Select
Case 2
TipoPolizaString = "E"
Exit Select
Case Else
TipoPolizaString = "D"
Exit Select
End Select
If UsuarioActual.Empresa.Funcionalidad(282).ToEntero = 1 Then
Dim Archivo As System.IO.FileInfo
Dim ImpresionPersonalizada As Integer = UsuarioActual.Empresa.Funcionalidad(282).ToEntero
Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/PolizasResumen.rdlc", UsuarioActual.Empresa.Ruta))
Dim Logo As New System.IO.FileInfo(String.Format("{0}Logo.png", UsuarioActual.Empresa.Ruta))
Dim ObjConta As New ClsContabilidad
If ObjConta.GetPrePolizasDetalleResumen(CvePrePoliza, UsuarioActual.CveEmpresa, ImpresionPersonalizada) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados '.FiltraParametros("Contabilizable = 1", "Orden")
dr = DtDetalle.Rows(0)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", TipoPolImp))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Numero", FolioPoliza))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
params.Add(New ReportParameter("UsuarioRegistro", UsuarioActual.Usuario))
params.Add(New ReportParameter("ConceptoPoliza", ConceptoPolizaImp))
params.Add(New ReportParameter("Folio", FolioPoliza))
If Logo.Exists Then
params.Add(New ReportParameter("pImg", $"file://{Logo.FullName}"))
Else
params.Add(New ReportParameter("pImg", ""))
End If
If Archivo.Exists Then
rutaArchivo = Archivo.FullName
Else
rutaArchivo = $"{DirectorioEmpresas}Grales\Formatos\PolizasResumen.rdlc"
End If
End If
ObjConta.Dispose()
Else
Dim Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Polizas.rdlc", UsuarioActual.Empresa.Ruta))
params = New List(Of ReportParameter)
Dim ObjConta As New ClsContabilidad
'If ObjPoliza.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjPoliza.DtResultados.Rows.Count > 0 Then
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden")
dr = DtDetalle.Rows(0)
Dim ruta As String = ""
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
If UsuarioActual.CveEmpresa.Contiene(141) Then
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToString("dd/MM/yyyy hh:mm:ss")))
Else
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
End If
FolioPoliza = dr("FolioPoliza").ToString
params.Add(New ReportParameter("Numero", dr("FolioPoliza").ToString))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
If UsuarioActual.CveEmpresa.Contiene(119, 141) Then
params.Add(New ReportParameter("UsuarioRegistro", GlobalDTUsuarios(dr("CveUsuario").ToString.ToEntero).FiltroPrimeroValor("Nombre")))
End If
If UsuarioActual.CveEmpresa.Contiene(140, 141) Then
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
End If
If Archivo.Exists Then
rutaArchivo = UsuarioActual.Empresa.Ruta & "Formatos/Polizas.rdlc"
Else
rutaArchivo = "Empresas/Grales/Formatos/Polizas.rdlc"
End If
End If
ObjConta.Dispose()
End If
ImprimirPDF(rutaArchivo, DtDetalle, params, $"P{TipoPolizaString}{FolioPoliza}", Formato:="PDF")
ObjConta.Dispose()
End Sub