Imprimir múltiple selección de facturas


([N4] Ramon Denuc) #1

Hola Foro,

Como siempre cuando no consigo salirme con lo que deseo hacer acudo a los sabios del foro.

La cuestión que me lleva hoy es la siguiente:

Como podréis ver en la imagen que adjunto e creado una ventana en la cual se pueden seleccionar todas aquellas facturas que se desean imprimir una detrás de la otra, es decir, una multi-selección de las facturas disponibles y cuando se pulsa el botón [ IMPRIMIR RELACIÓN ] se deberían imprimir todas aquellas facturas seleccionadas.

Lo que hay en la ventana actualmente, es decir, la selección o de-selección individual y colectivamente funciona bien, el PROBLEMA viene cuando pulso el botón [ IMPRIMIR RELACIÓN ] y ejecuto el proceso para imprimir no he conseguido que funcione, bueno no he conseguido realmente nada, para hacer un proceso que me imprima solo aquellas facturas que se han seleccionado.

Así pues, os pido si alguno de vosotros me puede indicar como poderlo hacer, o si en algunas de las app’s disponibles alguno de vosotros sabe donde encontrar un ejemplo para poderlo aplicar a mis necesidades.

Yo estado buscando en algunas de las app’s y no he sabido encontrar una que tuviera un ejemplo.

Muchas gracias por vuestro tiempo.

Saludos



([N1] vgegeo) #2

Creas un evento en la rejilla:

Interfaz: Procesar (,seleccionadas)
–> Multipartir (ID) // Aqui ejecutara las lineas a continuacion por cada factura seleccionada
–>-->Cargar plurales(LINEAS FACTURAS) // Aqui carga las lineas de las facturas
–>-->–>Imprimir informe (LINEAS FACTURAS) // Aqui imprime el informe que tendras creado con las lineas de una factura

Entiendo que el informe seran las lineas de la factura (TABLA LINEAS FACTURAS), y la cabecera de la misma

Ten en cuenta que el informe se imprimira por la salida por defecto que tengas indicada en las propiedades del mismo


([N1] Ruiz) #3

Interfaz procesar no le va a servir, por que por lo veo, la selección…es un campo de la tabla que te indica que está seleccionada.

No estas usando la selección múltiple de las rejillas, si lo haces puedes hacer lo que te dice @vgegeo.


([N4] Ramon Denuc) #4

Hola GeGeo y Ruiz

No hay problema en quitar y deshacer lo que yo había montado.

Efectivamente si escojo la opción de “la selección múltiple de las rejillas” más el código que GeGeo ha indicado funciona totalmente la opción que tenia preparada.

Muchas gracias de verdad lo digo.

Dejo una imagen con el código ya puesto en el editor de formulas, por si otro usuario le hiciera falta.

Saludos



([N4] Ramon Denuc) #5

Hola Foro,

Otra cosa, y si en vez de hacer { Imprimir Informe } hacemos { Exportar Informe } como puedo obtener el número de factura.

Lo pregunto por que después del { Multipartir lista (ID) } he puesto un { SET(num_factura, #NUM_FACTURA) } para poder exportar las facturas con su número de factura + “.pdf” a través del comando Exportar Informe, donde tienes que poner la senda y el nombre del nuevo archivo.

Pero aquí viene el posible fallo: De una lista en la rejilla escojo por ejemplo tres facturas para Exportar y como bien sabéis se tiene que poner la senda + en nombre del archivo + “.pdf” y lo que quería hacer es que el nombre del archivo fuera = al número de la factura, y me encuentro con dos cosas.

1 - En el primer movimiento tras pasar por { Multipartir lista (ID) } y por el { SET(num_factura, #NUM_FACTURA) } consigo obtener el valor cero 0

2 - En el segundo y en adelante tras pasar por { Multipartir lista (ID) } y { SET(num_factura, #NUM_FACTURA) } consigo obtener siempre el número de factura del movimiento anterior.

Es decir, si el primer movimiento en realidad el número de factura era 100 y el programa me da 0, en la segunda pasada me da el valor 100 en vez de 101, y así consecutivamente.

Espero haberme explicado.

Ahora viene la solicitud:

¿Como puedo obtener el número de factura correctamente?
¿Es correcto que el { Multipartir lista (ID) } de en el primer movimiento un cero o valor nulo?

Saludos


([N3] pacosatu) #6

Hola RamonD.

El subproceso del comando “Multipartir lista” te devuelve una sublista de la lista principal. Por lo tanto, para leer datos de una ficha tendrás que seleccionarla y leerla previamente.

Completa el código con lo siguiente:
Multipartir lista
// El origen es un lista
–Seleccionar ficha por posicion 1
–Leer ficha selecionada
----Set (num_factura, …

De todas formas en este caso, y debido a que los ID’s siempre son únicos, puedes sustituir “Multipartir lista” por:
Recorrer lista solo lectura
// El origen es una ficha
– Set (num_factura, …

Pruébalo.

Saludos
Paco Satué


([N4] Ramon Denuc) #7

Hola Foro,

Paco muchas gracias, como siempre…

Viendo tu solución puedo decirte que casi yo hacia los mismo pero ponía antes “Cargar Lista”, después de ver tu propuesta he entendido porque no funcionaba, y es que el origen ya es una lista.

Esto es lo que yo hacia:
Multipartir lista
-Cargar Lista
–Seleccionar ficha por posicion 1
–Leer ficha selecionada
—Set (num_factura, …

Ahora bien, una vez entendido he hecho lo siguiente para conseguir modificar un campo de fecha y para poder obtener el número de factura. He utilizado dos veces seguidas el comando: “Seleccionar ficha por posición 1”

Multipartir lista
// Para modificar un campo fecha fecha
-Seleccionar ficha por posición 1
–Modificar ficha seleccionada
—Modificar campo(
// Para obtener el número de factura vuelvo a …
-Seleccionar ficha por posición 1
–Leer ficha seleccionada
—Set (num_factura, …
Cargar plurales (…

¿Es correcto ?

Acepto sugerencias.


([N1] vgegeo) #8

Para modificar algun campo, debes leer la lista en modo lectura/escritura

Si la lista que estas leyendo es la de plurales, podras modficar campo ficha maestro, ya que ese plural pertenecera a un unico maestro.

Si la lista que estas leyendo es la de facturas, deberas leerla en modo lectura/escritura, antes de solicitar la modificacion del campo que quieres.


([N1] wikan) #9

Haz el set(num_factura) debajo de modificar campo, ya estás en la ficha que quieres.


([N4] Ramon Denuc) #10

Hola GeGeo,

Si eso ya lo se, lo que me extraña es que sin indicar si es Lectura o Lectura/Escritura funciona, es decir, primero modificar un campo de fecha que necesito actualizar y luego obtengo el número de factura que es el que are servir para dar nombre al PDF que genero a través del Exportar Informe.

Si te fijas en mi anterior entrada, no utilizo el comando …sólo lectura o lectura/escritura

Por eso pregunto, por que funciona y me gustaría saber es correcta la forma de hacer.

Saludos


([N1] wikan) #11

Estás usando “Modificar ficha seleccionada”, por eso te hace el cambio en la ficha.


([N4] Ramon Denuc) #12

No había visto tu entrada Manuel, y efectivamente, si pongo el comando SET( después del Modificar campo, también obtengo el mismo resultado que esperaba.

De esta forma esta mejor, sin duda.

Gracias a todos.


([N1] wikan) #13

siempre…menos pasos…más rendimiento xD