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