Libreria

Clase

Metodo

AhoraListados

Listados

ImprimirFichero

AhoraListados

Listados

ImprimirFicheroVer 

AhoraListados

Listados

ImprimirListadoVarios


Implementación:


Public Sub 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 = "")
						   
						  
Public Sub 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)
						   

 Public Sub 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.


Ejemplo de uso:


 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

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:

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


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'
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