none
Problema con sumatoria (resumen) RRS feed

  • Pregunta

  • Hola a todos, vengo pidiendo ayuda para realizar una suma de cantidades de articulos, el problema esta, en que estos articulos tienen un detalle que es parte del reporte, entonces, cuando realizo una suma, me suma multiplicando por el numero de detalles que tiene el articulo, es decir, si tengo 2 de el articulo x, y el articulo x tiene 3 detalles, el resumen me devuelve 6, cuando realmente son 2, se que tiene que ver con hacer que solo me sume cada articulo distinto (aunque como en el ejemplo, tenga repetido el articulo 3 veces) pero no se como hacerlo, intente hacer la sumatoria de esta forma:

    if id<>id then

    sum(cant)

    pero me devuelve nada.

    Espero puedan ayudarme, gracias.

    miércoles, 26 de septiembre de 2012 23:19

Todas las respuestas

  • Encontre esto que sirve para obtener la suma total, pero yo la necesito por grupo, sin embargo no se como indicarle que es en x grupo y que sume tomando eso en cuenta.

    1. Crear una formula llamada "sumando", en ella colocar: 
    shared numbervar SUMA; 
    shared numbervar contreg; 
    contreg:=contreg+1; 
    if contreg=1 and {tabla.prioridad}="MEDIA" then 
    SUMA:=SUMA+{tabla.numero}; 
    suma 

    Esta formula colocarla en el detalle, si no quiees que se vea te metes en el formato de la formula y le das supress. 

    2. Hacer una formula llamada "reseteador", en ella colocar: 
    shared numbervar contreg:=0; 

    esta formula colocarla en el pie del grupo 

    y 3. hacer una formula llamada "total", en ella colocar 
    shared numbervar suma; 
    suma 

    miércoles, 26 de septiembre de 2012 23:53
  • hola, imagino que en tu reporte esta agrupado por articulo y despues tienes sus detalles por articulos, lo que debes hacer es crear un campo de total acumulado aqui indico como hacer total acumulado

    lo unico que tendrias que cambiar es, en la opcion, "evaluar" seleccionas para cada registro, y la opcion "reestablecer" seleccionas al cambiar de grupo (articulo) y listo te sumara los detales de tus articulos, si no es eso, postea una imagen o algo por que no lo entendi muy bien, saludos

    si mi respuesta te ayudo votala como util, si resolvio tu duda marcala como respuesta

    jueves, 27 de septiembre de 2012 16:31
  • No encuentro eso del total acumulado, uso vs 2010, sin embargo, hice una funcion de mysql para realizar la sumatoria y funciona, como ya perdi mucho tiempo intentando hacer esto, asi lo voy a dejar, una consulta mas cada que impriman el ticket, nimodo. Estaria genial saber como hacerlo con formula para despues cambiarlo, ahorita urge que ya usen los tickets.

    jueves, 27 de septiembre de 2012 18:21
  • se encuentra aqui,

    te vas al explorador de soluciones, explorador de campos y alli esta.

    jueves, 27 de septiembre de 2012 18:47
  • mmm, ok, eso esta bien, pero ahora, en la formula como le digo que no me tome en cuenta los ids que ve repetidos?

    recuerdo que me los ve "repetidos" por que el producto tiene detalle, por cada registro de detalle me trae un registro, lo logico seria que solo sume lo real, pero me suma multiplicando por el numero de registros del detalle de ese producto, es por eso que necesito decirle en la formula que no me tome en cuenta los ids de productos repetidos para que solo sume la cantidad de cada uno, que es la real.

    Espero haberme explicado.

    • Editado LOD_Fredy jueves, 27 de septiembre de 2012 19:04
    jueves, 27 de septiembre de 2012 18:59
  • ok, mas o menos si pudieras postear las tablas que usas o una vista del informe te podria ayudar mejor, se entiende lo que dices de que 1 articulo tiene detalles, pero el articulo se repite? eso es lo que no entendi a lo mejor estar agrupando mal tus registros, puede que ese sea el problema, saludos
    jueves, 27 de septiembre de 2012 20:31
  • Pues mira, en si uso 3 grupos, el grupo principal es por subcuenta , luego por punto de preparacion (cocina, bufetera, etc), luego por grupo, a partir de estos se genera el ticket, los productos se pueden repetir pero son distinguibles ya que no uso el articulo directamente, sino que es una foranea a la tabla productos, de donde tomo la informacion es detalle_comanda, donde esta, el id de producto, id de subcuenta, y, la llave primaria del detalle de comanda. El detalle de comanda tiene a su vez configuraciones de platillo (el detalle de la comanda), donde dice si lleva complementos y/o modificadores, es por esta tabla de config_platillo que si hay 2 config de platillo para ese detalle_comanda la consulta me trae 2 veces el detalle_comanda y al hacer la sumatoria me multiplica la cantidad del detalle_comanda x ese numero de veces, ejemplo:

    detalle_comanda

    dc_id=1 cant=2 

    config_platillo 

    cp_id=1 dc_id=1 cp_desc="tortillas" 

    cp_id=2 dc_id=1 cp_desc="asado"

    sumatoria equivocada

    2(dc_cant)*2(2 config_platillo de ese detalle_comanda)=4

    Esta bien como me traigo la informacion, ya que tengo que mostrar la config de platillo de cada detalle_comanda si la tiene, el ticket no es complejo pero usa muchas tablas y muestra mucha informacion distinta que de alguna manera esta ligada. Explicarte cada una de las tablas que se usan en el reporte y como se forma el ticket completo me llevaria tiempo, por eso puse algo "sencillo" abarcando donde esta el problema (o mas bien detalle).

    Espero te quede mas clara la situacion.

    Salu2 y gracias.


    • Editado LOD_Fredy viernes, 28 de septiembre de 2012 15:22
    viernes, 28 de septiembre de 2012 15:18
  • haber si entendi lo que tu quieres es que cuandas configuracion tengo por cada detalle comanda?, me explicare mejor, utilizare tu ejemplo, tengo un detalle comanda y ese detalles comanda tiene 2 configuraciones entonces el resultado debe ser 2 no?

    y asi irnos con todos, no es asi?

    si es asi podrias hacer esto, create un campo de total acumulado (ya te puse un ejemple arriba) y en la parte "campo para resumir" pones por decir la configuracion, en la parte de abajo en "tipo de resumen"  le pones recuento, en "evaluar" pones para cada registro y en "reestablecer pones por el grupo detalle comanda.

    de esta forma adapatondolo al ejemplo el detalle comanda tiene 2 configuraciones , y asi iria con todos, este total lo tendrias que pones en la parte de abajo de tu grupo "detalle comanda" para que te muestre el resultado, intentalo y nos cuentas como te fue.

    si mi respuesta te ayudo votala  como util, si resolvio tu duda marcala como respuesta.

    lunes, 1 de octubre de 2012 18:46
  • Creo que no entendiste.

    Lo que quiero es que la sumatoria me ignore la configuracion de platillo que tenga ese detalle de comanda,. pues en el detalle de comanda tengo la cantidad de productos, por ejemplo 2, y, que si tengo 4 o 5 o mas configuraciones de platillo, solo me tome el 2 para la suma total de productos del mismo grupo.

    La estructura del ticket es esta

    subcuenta (lleva un nombre como luis, pedro, etc)

    punto de preparacion (es de donde se sacan o se preparan los productos, como bufetera, refrigerador, etc)

    grupo (cada producto pertenece a una categoria- subcategoria- grupo, a mi no me importan la categoria y subcategoria, de hecho, un producto puede solo tener grupo)

    detalle_comanda (aqui va el id de producto, y cantidad de productos de ese mismo producto, valor que necesito tomar para hacer la sumatoria de todos los productos del mismo grupo y misma subcuenta)

    configplatillo (si tiene, es el que me causa el problema, pues puede tener varios registros para un mismo detalle comanda y es donde menciono que la sumatoria me hace una multiplicacion de estos registros por la cantidad en detalle comanda)

    Espero te quede mas claro, igual y lo que tu me dices es la solucion y soy yo quien no entiende.

    Salu2 y gracias.

    martes, 2 de octubre de 2012 20:16