Imprimir Fichero / Imprimir Fichero Ver / Imprimir Listado Varios

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:26 PM por David Miralpeix


Libreria

Clase

Metodo

AhoraListados

Listados

ImprimirFichero

AhoraListados

Listados

ImprimirFicheroVer 

AhoraListados

Listados

ImprimirListadoVarios


Implementación:


Parámetros ImprimirFichero(
  aCn As Conexion, 
  aObjeto As Object, 
  aFichero As String, 
  Optional aDescripcion As String, _
  Optional aWhere As String, 
  Optional aVer As Long = 0, 
   ' 0 FormShow: mostrar ventana selección report
   ' 1 Preview : visualizacion Directa 
   ' 2 Print: Imprimir directo
  Optional aParentForm As Object = Nothing, 
  Optional aListado As String = "")
						   
						  
Parámetros ImprimirFicheroVer(
  aCn As Conexion, 
  aObjeto As Object, 
  aFichero As String, 
  Optional aDescripcion As String, _
  Optional aWhere As String, 
  Optional aVer As Long = 0, 
   ' 0 FormShow: mostrar ventana selección report
   ' 1 Preview : visualizacion Directa 
   ' 2 Print: Imprimir directo
   Optional aParentForm As Object = Nothing)
						   

Parámetros ImprimirListadoVarios(
        aCn As Conexion,
        aListado As String,
        Optional aWhere As String,
        Optional aVer As Byte = 0,
        Optional aParentForm As Object = Nothing) 


Descripción:


Permite imprimir informes RPT ya creados, pueden ser los predeterminados de cierto objeto o informes sin objeto, con o sin filtros. 


Para poder imprimirse mediante este Ahora Proceso, el fichero RPT debe existir en la tabla de Ceesi_Listados sobre un objeto/colección concretos o sobre el ObjetoGenerico.


Código VB6:

Dim lListado  As String
Dim lSQL      As String
  
lListado = "PedidoRealquiler.rpt"  
lSQL = "Where Contratos_Realquiler_Cab.IdPedido='" &
        SqlString(pIdPedido, False) & "'"
  
gCn.AhoraProceso "ImprimirFichero", False,
gCn, Nothing, lListado, "", lSQL, pPreview 
 Dim lObj As Colecciones
 Dim lSql As String
 lSql = "IdFactura = 2154 AND IdEfecto = 2144"
 Set lObj = gCn.Obj.DameColeccion("EfectosProv", lSql, , False)
  
 gCn.AhoraProceso "ImprimirFichero", False, gCn, lObj, ""
 Sub Botonera_AfterExecute(aBotonera, aBoton)
  
   If aBoton.Name = "botImprimir" Then
      gCn.AhoraProceso "ImprimirFichero", False,
      gCn,
      Nothing,
      "RUTA\NombreDelListado.rpt",
      "",
      "WHERE RecogidaMaterial.IdCliente = 23"
   End If
 
 End Sub


Código C#:

gCn.AhoraProceso("ImprimirFichero", out _, gCn, null, lInforme, "", lWhere, 0, null, lListado);
lInforme = gCn.DameValorCampo(Sprintf("SELECT Fichero FROM CEESI_Listados WHERE Objeto='Articulos' AND Listado=%v", SqlString(lArr[i, grdLineas.Columns["Listado"].ColIndex])));
lWhere = Sprintf("WHERE Articulos.IdArticulo=" + SqlString(pIdArticulo) + " AND Temp_Informes_Etiquetas_Detalles.IdInforme=%v", SqlNumero(lArr[i, grdLineas.Columns["IdInforme"].ColIndex]));
gCn.AhoraProceso("ImprimirFichero", out _, gCn, null, lInforme, "", lWhere, 0, null, lArr[i, grdLineas.Columns["Listado"].ColIndex]);
lWhere = Sprintf("WHERE Temp_Informes_Etiquetas_Detalles.IdInforme = %v", SqlNumero(lIdInforme));
gCn.AhoraProceso("ImprimirFichero", out _, gCn, null, lInforme, "", lWhere, 0, null, lArr[i, grdLineas.Columns["Listado"].ColIndex]);



A continuación muestro un ejemplo de cómo enlazar un listado a una impresora donde le indico por qué bandeja quiero lanzar la impresión. Esto es usado para lanzar un listado concreto desde la programación de un botón o buscador de tipo script usando el método ImprimirFichero:


Código VB6:

Sub Main()
  gCn.AhoraProceso "ImprimirFichero", False,gCn, Nothing, "EMPRESA\MiPedido de Cliente.rpt", "", "Where pedidos_cli_cabecera.IdPedido = '" & 1 & "'",2

  frmAux.Descargar      'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO.
  
End Sub

Código C#:

public void Main()
{
    gCn.AhoraProceso("ImprimirFichero", out _, gCn, null, "EMPRESA\\MiPedido de Cliente.rpt", "", "Where pedidos_cli_cabecera.IdPedido = '" + 1 + "'", 2);
}

Código SQL:

insert into Perfiles(Usuario,Aplicacion,Objeto,Propiedad,Valor)
select 'zzz','AhoraListados','ImpresoraListado','EMPRESA\MiPedido de Cliente.rpt','KONICA MINOLTA C364'


insert into Perfiles(Usuario,Aplicacion,Objeto,Propiedad,Valor)
select 'zzz','AhoraListados','BandejaImpresora','KONICA MINOLTA C364-EMPRESA\MiPedido de Cliente.rpt','Band. entr. manual'

Código VB6:

gCn.AhoraProceso "ImprimirFicheroVer", False, gCn, Nothing, "PROVEEDORES\Oferta de Proveedor.rpt","","WHERE Ofertas_Pro_Cabecera.idDoc = '"& gForm.Controls("EObjeto").ObjGlobal.Propiedades("IdDoc") &"' AND Ofertas_Pro_Proveedores.idProveedor = '"& lidProv &"'",CLng(1),gform    

Código C#:

gCn.AhoraProceso("ImprimirFicheroVer", out _, gCn, null, "PROVEEDORES\\Oferta de Proveedor.rpt","","WHERE Ofertas_Pro_Cabecera.idDoc = '" + (gForm.Controls["EObjeto"] as IEnlaceObjetos).ObjGlobal["IdDoc"] + "' AND Ofertas_Pro_Proveedores.idProveedor = '" + lidProv + "'", 1, gForm

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo