none
Sumatoria de Formula Crystal Reports! RRS feed

  • Pregunta

  • Buenos dias amigos y gracias por pasar a esta pregunta, tengo una duda, explico:

    Tengo en mi Reporte de CR(Crystal Reports), una Formula y al final esa formula obtiene un valor por logica, la formula se llama SaldoFinal y hace la suma entre 6 campos, suma y resta, de varios clientes, lo que quiero saver es lo siguiente:

    Se puede hacer una sumatoria de ese final?

    ejemplo

    Cliente 1.- 30

    Cliente 2.- 50

    SaldoFinal = 80

    Intento con Sum({@SaldoFinal}), pero no me deja, alguna otra idea?


    Ing. Irwin Romero Rodriguez.


    • Editado Xiurik martes, 22 de mayo de 2012 17:46 Cambio de tirulo
    martes, 22 de mayo de 2012 16:25

Respuestas

  • Hola chicos que tal, casualmente tengo en mismo caso en estos mismos instantes.

    La solucion es como la indica Leandro, bueno yo la estoy haciendo desde el servicio y tu me corriges Leandro si lo que digo es erroneo.

    - Realiza una lista con la coleccion que te envia estos datos(lista), al igual que hagas una temporal de la misma(temporal).

    - Luego iteras en (lista) para verificar los datos existentes en la temporal y lo comparas, ya sea con su Id o su codigo.

                    foreach (var lst in Lista)
                    {
                        if (!temp.Exists(t => t.IdProyecto == lst.IdProyecto))
                            temp.Add(lst);
                    }

    - Luego a la temporal le agregas lo de la lista asi: temp.Add(lst);

    - Por ultimo los sumas para enviarlo al reporte.

    Quizas sea una solucion por aqui, pero del lado del reporte no creo que se pueda.

    Saludos

    Carlos

    • Marcado como respuesta Xiurik martes, 29 de mayo de 2012 15:23
    miércoles, 23 de mayo de 2012 23:49
  • Para que no me muestre eso hice una sumatoria de los campos y nadamas me muestra

    pero porque resuleves eso a nivel del reporte, ahi esta el problema deberias resolverlo a nivel de datos dentro del SP

    alli es donde deberias lograr el GROUP BY por el cliente y sumar los campos numericos

    si es un SP que existe y no puede cambiar deberias crear un nuevo SP que use al existe, lo eejcute y el resultado lo agrupa antews de enviarlo al reporte

    pero en crystal deberias suar la seccion de Details, porque para eso esta

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Xiurik jueves, 24 de mayo de 2012 17:39
    miércoles, 23 de mayo de 2012 2:57

Todas las respuestas

  • Intento con Sum({@SaldoFinal}), pero no me deja, alguna otra idea?

    el tema es que ese Saldo Final no esta en una seccion detalle, o en alguna otra que genere mas de una ocurrencia

    cosa de poder tomar valores que sumar, un total esta sobre el final del reporte

    si pones el SaldoFinal en alguna seccion y esta suma que quieres hacer en otra inferior deberias poder lograrlo, si ambos campos estan a mismo nivel en la seccion de crystal lo veo dificil

    es mas usa la opcion imagen


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    martes, 22 de mayo de 2012 16:32
  • mira te muestro la imagen para que veas donde los tengo posicionados, la formula esta en un grupo, asiq ue el resultado son 3 saldos finales y la formula que quiero poner la pondre en el page footer, pero no se porque no me deja.


    Ing. Irwin Romero Rodriguez.

    martes, 22 de mayo de 2012 16:37
  • pero porque estas suando el GroupHeaderSection en lugar d eusar el Details ?

    es que esa lineas deberia ir en el detalis para asi poder sumar en el footer

    porque no usas el details ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 22 de mayo de 2012 22:34
  • no lo uso por lo siguiente me explico mejor =);

    estoy haciendo un reporte de resumen de totales, yo tengo un sp donde me manda chorros de informacion como la siguiente:

    1 14562.89 84.45 0 19026.39
    1 14562.89 465.97 0 19026.39
    1 14562.89 610.74 0 19026.39
    1 14562.89 2269.49 0 19026.39
    1 14562.89 221.68 0 19026.39
    1 14562.89 92.74 0 19026.39
    1 14562.89 44.49 0 19026.39
    1 14562.89 412.21 0 19026.39
    1 14562.89 261.73 0 19026.39
    2 7943.64 309.14 0 8457.87
    2 7943.64 205.09 0 8457.87
    3 98981.07 3740.99 0 87076.64
    3 98981.07 350.61 0 87076.64
    3 98981.07 315.17 0 87076.64
    3 98981.07 0 16311.2 87076.64

    los numero 1,2,3 son los clientes, en el SP hago una suma al final me da el saldo final los cuales son 19026.39-8457.87 y 87076.64, lo que hago es que en crystal reports para que no me muestre todos los detalles y solo la sumatorio de los campos, ejemplo:

    3 98981.07 3740.99 0 87076.64
    3 98981.07 350.61 0 87076.64
    3 98981.07 315.17 0 87076.64
    3 98981.07 0 16311.2 87076.64

    Para que no me muestre eso hice una sumatoria de los campos y nadamas me muestra

    3 98981.07 4406.77 16311.2 87076.64

    e hice un grupo por numero de cliente(1,2,3,......,99,100) para que solo me muestre un solo campo algo parecido a lo de esta imagen:

    porque si lo pongo en detalles me muestra todas las transacciones, no se si loe stoy haciendo bien o mal todo, ya lo unico que me falta en el reporte es que Saldo Inicial y Saldo Final, me muestre la sumatoria de ellos, no la sumatoria de todos los del campo sino solo la sumatoria de esos 3 del reporte, o si fuesen N numero que sea la sumatoria de N numero pero solo los del reporte.

    Alguna idea Experto?


    Ing. Irwin Romero Rodriguez.

    martes, 22 de mayo de 2012 22:44
  • Para que no me muestre eso hice una sumatoria de los campos y nadamas me muestra

    pero porque resuleves eso a nivel del reporte, ahi esta el problema deberias resolverlo a nivel de datos dentro del SP

    alli es donde deberias lograr el GROUP BY por el cliente y sumar los campos numericos

    si es un SP que existe y no puede cambiar deberias crear un nuevo SP que use al existe, lo eejcute y el resultado lo agrupa antews de enviarlo al reporte

    pero en crystal deberias suar la seccion de Details, porque para eso esta

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Xiurik jueves, 24 de mayo de 2012 17:39
    miércoles, 23 de mayo de 2012 2:57
  • Hola chicos que tal, casualmente tengo en mismo caso en estos mismos instantes.

    La solucion es como la indica Leandro, bueno yo la estoy haciendo desde el servicio y tu me corriges Leandro si lo que digo es erroneo.

    - Realiza una lista con la coleccion que te envia estos datos(lista), al igual que hagas una temporal de la misma(temporal).

    - Luego iteras en (lista) para verificar los datos existentes en la temporal y lo comparas, ya sea con su Id o su codigo.

                    foreach (var lst in Lista)
                    {
                        if (!temp.Exists(t => t.IdProyecto == lst.IdProyecto))
                            temp.Add(lst);
                    }

    - Luego a la temporal le agregas lo de la lista asi: temp.Add(lst);

    - Por ultimo los sumas para enviarlo al reporte.

    Quizas sea una solucion por aqui, pero del lado del reporte no creo que se pueda.

    Saludos

    Carlos

    • Marcado como respuesta Xiurik martes, 29 de mayo de 2012 15:23
    miércoles, 23 de mayo de 2012 23:49