Invitacion a votar en el foro de ideas


([N4] arturomiranda) #1

Transcribo la idea tal cual esta en el foro de ideas y los invito a votar,

saludos

La idea se basa en la siguiente problemática con la que me encuentro y creo que a mas de uno le ha pasado, tratare de explicarlo a continuación:

Tengo la siguiente estructura de tablas: Facturas -> Lineas de Facturas -> Lineas de Series de articulo (Anexo esquema de tablas).
Y el problema es que no siempre existiran registros en la tabla de ultimo nivel (Lineas de series de articulo), y bueno si se quiere imprimir una factura donde se especifiquen sus lineas y de cada linea las series seleccionadas (si existieran), simplemente en vReports no es posible hacerlo hasta el momento, contacte al area de soporte pensando que existia una solucion al problema pensando que a mi me hacia falta configurar algo debido a que la herramienta es muy buena pero la documentacion no es tan clara y carece de ejemplos, (esperemos que en el futuro exista mayor documentacion y ejemplos). Bueno en el area de soporte me dieron dos o tres alternativas desde crear un campo en la tabla superior y “concatenar” las series mediante los triggers y otra mediante un campo formula.

Pese que las sugerencias de soporte resuelven el problema, creo que no es la forma en que debe funcionar el vReports, ya que deberia ser capaz de resolver este tipo de estructuras. TAN SENCILLO como sus herramientas equivalentes al seleccionar el origen de datos (SQL) cualquiera que este sea con una clausula LEFT JOIN ó RIGHT JOIN segun convenga y problema resuelto, asi de simple.

Por lo anterior sugiero que mejoren la herramienta para que sea capaz de establecer las propiedades antes mencionadas, pienso que es una funcionalidad basica de cualquier reporteador, y todavia mas a futuro la vision para el equipo de Velneo es tener una herramienta por lo menos igual a un CrystalReports para hacer informes realmente potentes. Les invito a votar por esta idea para que sea tomada en cuenta por Velneo.

sin mas por el momento me despido y les envio un cordial saludo.



([N3] blavan) #2

+1


([N4] arturomiranda) #3

Bueno,

Informarles que la idea fue borrada del foro de ideas, debido a que soporte me informa que es posible realizar el reporte aqui descrito, apenas tenga una solucion en concreto con mucho gusto les comparto

saludos


([N1] aztecmexico) #4

Haber,

Una idea, NO SE DEBE DE BORRAR, porque “alguien” considera que con “astucias o chapuzas” se puede hacer algo.

Si a esas vamos pues como decimos en México, estamos jodidos, eso se llama CENSURA y me dirán exagerado, pero no es un buen camino para tan fabuloso entorno y mucho mejor comunidad.

Y digo estamos jodidos porque muchas de las ideas que estan en espera de votos se pudieran resolver precisamente con astucias o chapuzas, entonces ¿para qué le hacemos al loco, con un lugar donde externar nuestras sugerencias de mejora para la plataforma?

Desde aquí, solicito atentamente a quien corresponda que vuelvan a subir la idea del Colega y que sea la comunidad quien decida si apoya o no dicha propuesta.

Y pues ahí tambien en la próxima actualización pueden poner su nota desde Velneo, “Lo vamos a hacer”, “No lo vamos a hacer”, “No nos interesa hacerlo”, “Algún día evaluaremos si lo hacemos”, “Se puede resolver con chapuzas o astucias”, “Pregúntale a -Desarrollador-, él sabe como”, “Idea cerrada”, o “solucionada en versión X”, en fín, lo que sea, pero me parece una total falta de respeto lo que hicieron.

Hay muchos detalles acerca del funcionamiento del vReport que merecen atención, digo, el reporteador oficial debería ir a la par con la plataforma, con su misma filosofía y potencia.

Señóres, el fín último de un sistema es explotar la información y mostrarla a los clientes y usuarios, y muy buena parte de ello cuando menos en mi rancho se hace mediante reportes, de qué me sirve ahorrar tiempo en desarrollo con tan maravillosa plataforma si lo pierdo ($$$$ ganancia incluida) en o durante el desarrollo de los reportes.

Saludos.

P.D. Espero que “Alguien” no borre este post porque ya es un tema trillado en demasía en el foro.

Martin Ibarra.


([N4] rcueto.velneo) #5

Buenos días, Martín.

Publico esta respuesta para aclarar que, por un error por nuestra parte, en primera instancia, respondimos a Arturo desde soporte que no podía resolver la estructura de informe que pretendía desde vReport cuando realmente sí se puede, de forma directa y con una funcionalidad específica de vReoport, sin triquiñuelas.

Una vez le comunicamos a Arturo nuestro error y le dijimos cómo debía configurar el informe, le avisamos de que la idea sería borrada del foro de ideas, para no inducir a error al resto de los suscriptores, pues Velneo vReport sí dispone de la funcionalidad requerida por Arturo.

Muchas gracias por vuestra atención.


([N3] pacosatu) #6

Hola.

Ayer estuve viendo el video de vReport (del magnífico Jesús Arboleya) y estaba alucinando pensando en el problema de Arturo cuando compruebo que NCREPORT proporciona una manera de hacerlo directamente.

Acabo de ver la respuesta de Rafael Cueto y me alegro de comprobar que había sido un error y que efectivamente, algo tan trivial como una relación Abuelo-Padre-Hijo se podía representar en papel con vReport.

En cuanto al poco útil (desde mi punto de vista) sistema de Ideas, yo añadí una Idea recientemente para que Velneo se involucre un poco más. Consiste en que la Idea sea valorada por Soporte antes de ser publicada para que el autor de la Idea sepa si es viable, si es una locura, etc…

Saludos
Paco Satué


([N4] ofsantana) #7

Muy Interesante este Post.
Ahora pregunto, si se puede saber claro, cuál fue la respuesta que resolvió el inconveniente, digo de pronto nos sirve a toda la comunidad.

Saludos.


([N4] arturomiranda) #8

@ofsantana

aqui transcribo la ultima respuesta de soporte, aclaro de que nosotros no hemos sido capaces de elaborar dicho informe “asi de simple” como parece.

@ofsantana, si te sirve la respuesta o si alguien de la comunidad lo puede hacer se le agradece que comparta la forma de hacerlo con un ejemplo practico (vin)

Buenos días, Arturo.

Antes de nada, queremos pedirte disculpas ya que sí es posible diseñar con vRerport el informe que pretendes.

Si no he entendido mal, se trata de imprimir un informe de esta estructura de tablas:

Facturas -> Lineas de Facturas -> Lineas de Series de articulo

Y puede ser que la de más abajo (lineas de Series de articulo) no tenga datos. Pues bien, lo que habría que hacer sería definir como origen principal del informe la tabla de Líneas de factura. Crearás un subinforme de líneas de series de artículo y un agrupamiento por factura, en cuyo encabezado y pie podrás poner los datos de cabecera y pie de la misma.

Sentimos las molestias que esta incidencia te haya podido ocasionar.

Un cordial saludo,

Rafael C.

saludos a todos


([N4] ofsantana) #9

@arturomiranda Ante todo gracias por la respuesta. Pues mira dentro de poco seguro voy a tener que hacer un reporte Abuelo, padre hijo, y se me presentará esta problemática, copio la respuesta que te dieron y si logro hacer algo con muchísimo gusto armo .vin para que la comunidad le saque provecho.

Saludos.


([N3] pacosatu) #10

Hola.

Pues tengo que reconocer que yo tampoco soy capaz de crear un vReport de 3 tablas relacionadas Abuelo-padre-hijo cuando se cumple el requisito de que puede haber padres sin hijos. Desde luego con los informes nativos de Velneo es imposible porque siempre hay que coger la tabla más baja de la relación.

Solo quedaría la opción de tener una tabla temporal y preparar allí los registros del vReport. Otra opción es añadir un campo al padre donde se vaya almacenado la información de los hijos (si los hubiera) en formato HTML y mostrarlos de esta manera en vReport.

Me gustaría saber cómo lo implementáis vosotros.

Saludos
Paco Satué


([N1] Cuco) #11

Yo creo con Aztcmexico, que hay que perseguir que todos lo elementos de la V7 hagan lo que tengan que hacer sin trucos ni elementos ortopédicos - los marineros les llaman aparejos de fortuna, los usan cuando no tienen otro remedio y en el medio del océano mientras rezan (los que sepan)-
Si hay problemas para hacer eso con vReport pues no sé cómo podría hacer

Abuelo
Padre 1 Padre 2 Padre 3 … Padre n
Nieto 1.1 Nieto 1.2 … Nieto 1.n

y otros tantos nietos en cada padre (posibles)

Yo tengo ese problema y lo resolví en HTML, haciendo sustituciones cómo hacía por dentro la V6x con las páginas y componentes HTM, porque también era imposible hacerlo con el editor de informes o reportes. Pero, al menos, en la V6x el editor de informes tenía un objeto rejilla de histórico que permitía incrustar varias rejillas de varios históricos. Haciendo el origen en el padre, construías el abuelo y, con esto último, los nietos.
Es decir Abuelo -> Hijos -> nietos. Las rejillas no quedaban muy bien, pero…


([N3] pacosatu) #12

Hola a todos.

Bueno, empeñado en resolver este entuerto y aprovechando que estoy aprendiendo vReport he realizado el ejercicio de imprimir un informe de “Clientes -> Facturas -> Vencimientos” del tutorial de vReport. Tenemos en cuenta que puede haber Facturas sin Vencimeintos.

Descartados los subinformes y/o el uso de campos fórmula de tipo HTML, he utilizado la técnica que se usa en bases de datos relacionales, es decir, realizar una consulta SELECT para obtener un cursor que alimente el Report. En Velneo se hace con una tabla temporal rellenada mediante la navegación maestro->plurales.


// Obtenemos la definición de Report CLT_PRUEBA_1
Cargar lista (INF_DFN@Velneo vReport, INF_ID, “CLT_PRUEBA_1”, , , )
Seleccionar ficha por posición ( 1 )
Leer ficha seleccionada
Set ( INF_ID, #INF_ID )
Set ( INF_DEF, #DFN )
Set ( INF_DEF_TXT, #TXT )
Libre
Cargar lista (_INFORME1S@Tutor de Velneo vReport, ORDEN, , , , )
Recorrer lista eliminando fichas
Libre
Cargar lista ( CLIENTES@Tutor de Velneo vReport, ID, , , , )
Recorrer lista sólo lectura
Set ( CLI, #ID )
Cargar plurales ( FACTURAS_CLIENTES )
Recorrer lista sólo lectura
Set ( FAC, #ID )
Cargar plurales ( VENCIMIENTOS_FACTURAS )
// Mensaje ( "Nº de Vencimientos = " + sysListSize, Información, , )
If ( sysListSize = 0 )
// Factura sin Vencimientos
Crear nueva ficha en memoria ( oInforme, _INFORME1S@Tutor de Velneo vReport )
Modificar campo ( CLIENTES, CLI )
Modificar campo ( FACTURAS, FAC )
Modificar campo ( VENCIMIENTOS, 0 )
Alta de ficha ( oInforme )
Libre
Else
Recorrer lista sólo lectura
Set ( VTO, #ID )
Crear nueva ficha en memoria ( oInforme, _INFORME1S@Tutor de Velneo vReport )
Modificar campo ( CLIENTES, CLI )
Modificar campo ( FACTURAS, FAC )
Modificar campo ( VENCIMIENTOS, VTO )
Alta de ficha ( oInforme )
Libre
Rem ( Lanzamos el formulario de selección )
Cargar lista ( _INFORME1S@Tutor de Velneo vReport, ORDEN, , , , )
Informe externo: Previsualizar informe ( Fórmula, INF_DEF )

Con este código necesitamos únicamente un Origen de Datos, un Detalle y 2 Grupos (Clientes y Facturas).

Adjunto el PDF obtenido desde vReport
https://www.dropbox.com/s/igdg3tslz0tcf4e/ClientesFacturasVtos.pdf

Observad que los clientes 1 y 3 tienen Facturas sin Vtos.

Espero os sirva a los no iniciados.

Por otro lado ha sido una pesadilla la experiencia de usuario con vReport. Como ya se ha comentado en el foro y VELNEO LO SABE, se pierden continuamente los cambios hechos en el XML volviendo a una versión anterior. Es decir, guardas cambios, visualizas correctamente el Report, vuelves a editar el XML y aparece una versión antigua, ni siquiera la versión inmediatamente anterior. Una chapuza de Open App, ya que este fallo invalida toda la Aplicación. Y como ya nos tiene acostumbrados Velneo, la documentación es insuficiente y pésima, hay muchas opciones del diseñador sin documentar y por no haber no hay ni tecla F1.

Saludos
Paco Satué


([N3] pacosatu) #13

Hola.

¿Cómo han resuelto el caso que se comenta en este post?

Saludos
Paco Satué


([N4] arturomiranda) #14

Hola @seh

seguimos en contacto con soporte a la espera de una resolucion concreta.

apenas lo tenga comparto la respuesta por parte de soporte

saludos

PD. Agradezco la solucion que planteas, nosotros tambien hicimos una solucion alternativa, pero insisto, el reporte debe realizarse de forma natural “SIN TRUCOS”.


([N4] velavisual) #15

Hola,

Os recomiendo que veáis el vídeo de Jesús Arboleya sobre vReport.

Sobre el tiempo 2:00:00, más o menos, muestra una posibilidad (que yo entiendo que no es ni truco, ni chapuzas) simplemente es otra alternativa a cómo hacer las cosas.En concreto esta posibilidad no la contempla vReport pero sí podemos hacerlo gracias a Velneo.

Se demuestra cómo cargar plurales componiendo un html (o un texto si quieres) para después emplearlo como contenido de un informe. Lo hace con un campo en la tabla que estamos usando de tipo fórmula alfabética cuyo contenido son los plurales correspondientes cargados mediante una función cuyo parámetro es el ID del registro maestro en curso.

En vReport, si empleamos subinformes, debemos (creo) hacer uso de un proceso para cargar los plurales,algo similar a lo que hacemos con la fórmula alfabética. No entiendo realmente donde está el problema.

Si comparto con vosotros que vReport debería ser más intuitivo a la hora de ser usado y que deberíamos tener muchos más ejemplos de casos prácticos, etc.

Mencionar que yo uso lo técnica que os he descrito y no he tenido ningún tipo de problemas es componer múltiples plurales y usarlo en el informe de vReport. Es más, con esta técnica, chapuza, trucos o como queramos llamarlo, sí puedo dejar al cliente editar el informe con la tranquilidad de que no me va a tocar los procesos de los subinformes.

Para mí, el usar esta técnica es una forma natural de hacerlo con Velneo.Aunque todo es mejorable, por supuesto.


([N1] wikan) #16

Buenas, yo uso precisamente lo que comenta @velavisual para resolver ese informe, facturas con lineas y números de serie.
Fue fácil de implementar y sin problema ninguno.


([N3] pacosatu) #17

Hola:

A ver si soy capaz de explicarme para que se me entienda.
La cuestión de este hilo no es conocer las miles de formas de crear un Report sin usar el editor Visual de vReport. Todos los que llevamos mucho tiempo en la programación hemos tenido que crear los Informes en puro HTML cuando no teníamos diseñador de Reports a mano, incluso yo he visto hacerlo en puro código postscript (sí como lo oyes). Antes de existir Dreamviewer hacer páginas HTML era de auténticos artesanos pero estamos en 2014 y existe QT, Velneo y NCReport.

Bien, aclarado esto, la cuestión primera de Arturo es plantear si es posible imprimir una simple relación Abuelos-Padres-Hijos (donde hay Padres sin Hijos) utilizando únicamente código nativo de Velneo.

No estamos hablando de pintar subinformes uno al lado de otro, de tener 10 tablas principales dirigiendo el Report simultáneamente, y cosas por el estilo.

Yo he propuesto la solución de la tabla temporal, que me parece la más limpia técnicamente, porque al contrario del HTML tendremos acceso total en tiempo de diseño de toda la potencia de vReport para condicionar estilos, valores, etc…
La única pega de la tabla temporal es que debe rellenarse en 1º plano, pero quizás no sea tan importante, ya que el informe externo también se ejecuta en 1º plano.

Los ejemplos de Jesús Arboleya son todos relaciones de un solo nivel Padre-Hijos y en el caso de los subinformes el padre (Facturas) debe aparecer en la cabecera del Informe por lo que no se puede agrupar por Cliente, es decir, en cada cabecera de Informe se debe repetir los datos del Cliente.

Yo he adjuntado el PDF resultante de usar la tabla temporal, y todavía no he sido capaz de reproducirlo usando la técnica de los subinformes. Si alguien lo ha logrado, pues que lo exponga, y si no se puede pues a repasarme otra vez cómo se construían páginas HTML artesanalmente y en paz.

Saludos
Paco Satué


([N4] arturomiranda) #18

@seh

Gracias por la aclaración, de eso se trata el meollo del asunto, claro que hay N formas de realizar el informe, (de hecho ya lo solucionamos utilizando alguna tecnica parecida mediante una funcion). El punto es claro. ¿debemos recurrir siempre a estar “tapando los hoyos”?, o Velneo nos debe dar una herramienta potente para cumplir las necesidades de la comunidad y de nuestros clientes.

sigo en contacto con soporte y apenas tenga una solucion se las comparto, que al parecer si se puede…

saludos


([N3] pacosatu) #19

Hola Arturo.

Me han contestado de soporte lo siguiente:


Lo ideal en este caso concreto que planteas sería si fuese funcional la opción de subinformes a varios niveles, pero es una funcionalidad inexistente a día de hoy, pero en la que está trabajando el autor del editor de informes externos.

No obstante puede resolverse de otra forma y es usando como origen principal el abuelo y con dos subinformes:

  • Uno de hijos que no tengan nietos (con una sección de detalle).
  • Otro de nietos, agrupando por hijos (con otra sección de detalle y con un agrupamiento por líneas).

Esto requiere programar dos procesos con origen ficha del abuelo:

  • Uno que cargará los nietos (para alimentar el subinforme 2)
  • y otro que cargará los hijos sin nietos (para alimentar el informe 1).

Esta forma de hacerlo tiene una pequeña limitación: que primero debe imprimir los hijos que no tengan nietos y luego las que sí tengan o viceversa; no podrían intercalarse hijos que sí tengan con otros que no tengan.

Un cordial saludo,
Rafael C.


Como ves no es una solución muy elegante, condicionada por la imposibilidad de crear subinformes a más de un nivel de profundidad.

Así que nos toca aprender de otros programadores que ya hayan solucionado estas limitaciones de la plataforma.

Saludos
Paco Satué


([N1] Cuco) #20

Yo necesitaba hacer un informe de Abuelo + 6 hijos y antes de meterme a hacerlo estudiando, tropezando y desesperándome con vRepor, volví a los viejos tiempos de la v6x y lo hice en HTML - me costó poco recordarlo - imitando los componentes HTML de la v6x con una tabla maestra del abuelo de plantillas en HTML y CSS codificando los campos igual que hacía en v6x - por si se deciden alguna vez a hacer algo parecido a lo de antes - y sustituyendo estos por los campos en un proceso evento on show de un subformulario que contiene el campo con la plantilla del maestro, el proceso evento sustituye los campos codificados por los valores reales de cada abuelo y sus hijos.
Es un poco latoso, pero sabes lo que estás haciendo, y permite modificar la plantilla en tiempo de ejecución (sabiendo HTML, claro), y verlo en presentación preliminar
Yo este problema que presentáis intentaría hacerlo en HTML. Cuando completen y fijen el vReport, esturiaré