haciendo una factura sumar total factura

147 views
Skip to first unread message

Avilac3

unread,
Aug 3, 2012, 3:59:21 PM8/3/12
to kum...@googlegroups.com
hola amigo estoy trabajando en la forma de hacer una factura 
Mis tablas Son:   una de productos , usuarios , facturas, factura_items

CREATE TABLE `productos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `usuario_id` int(11) NOT NULL,
  `nombre` varchar(120) NOT NULL,
  `valor` varchar(10) NOT NULL,
  `activo` tinyint(1) NOT NULL,
  `fecha_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


CREATE TABLE `usuarios` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `login` varchar(50) COLLATE utf8_bin NOT NULL,
  `clave` varchar(40) COLLATE utf8_bin NOT NULL,
  `nombres` varchar(100) COLLATE utf8_bin NOT NULL,
  `apellidos` varchar(110) COLLATE utf8_bin NOT NULL,
  `cedula` int(25) NOT NULL,
  `email` varchar(100) COLLATE utf8_bin NOT NULL,
  `roles_id` int(11) NOT NULL,
  `refer_id` int(10) NOT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `fecha_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `login` (`login`),
  KEY `roles_id` (`roles_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=18 ;



CREATE TABLE `facturas` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `usuario_id` int(11) NOT NULL,
  `fecha_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `activo` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;




CREATE TABLE `factura_items` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `factura_id` int(11) NOT NULL,
  `usuario_id` int(11) NOT NULL,
  `producto_id` int(11) NOT NULL,
  `cantidad` int(11) NOT NULL,
  `fecha_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;




en donde primero se validan los datos del cliente y luego se crea el id de la factura luego por medio de este id agrego los items a esa factura, cuando agrego los items los guardo en factura_items el id_factura, el id_producto y el id_cliente y la cantidad.

Código PHP:
 <?php foreach ($inner as $item) : ?> 
    <tr> 
      <td><? echo $item->cantidad?></td> 
      <td><? echo $item->nombre?></td> 
      <td><? echo number_format($item->valor); ?></td> 
      <td><? $totalitem $item->cantidad $item->valor; echo number_format($totalitem); ?></td> 
    </tr> 
        <?php endforeach; ?>
y cuando nuestro los datos hago una join para mostrar los datos y la cantidad la multplico por el valor del producto alojado en la tabla productos


hay todo bien tengo problemas en la parte en donde tengo X cantidad de items en mi factura y quiero sumar total de todos

como lo debo hacer?

espero me entiendan y colaboren muchas gracias

ServiDigital

unread,
Aug 3, 2012, 7:13:27 PM8/3/12
to kum...@googlegroups.com
Problema solucionado MUCHAS GRACIAS  :) 



--
Viva KumbiaPHP Framework!
http://www.kumbiaphp.com/
Ha recibido este mensaje porque está suscrito a Grupo "KumbiaPHP Framework" de Grupos de Google.
Para obtener más opciones, visita este grupo en http://groups.google.com/group/kumbia?hl=es.



--

       SERVIDIGITAL NEIVA  
   Nueva Direccion: Cra.  2 No.  15-48
   TEL: 8716259 - CEL: 3173914624 
332.gif

Henry Stivens

unread,
Aug 3, 2012, 7:47:55 PM8/3/12
to kum...@googlegroups.com
¿Y cómo lo solucionaste?

2012/8/3 ServiDigital <servidig...@gmail.com>



--
Henry Stivens Adarme Muñoz


332.gif

ServiDigital

unread,
Aug 3, 2012, 7:51:59 PM8/3/12
to kum...@googlegroups.com
Ps en si fue mas problema de la forma o estructura q estaba manejando ps no estaba guardando el resultado de la multiplicacion de la cantidad y el valor por unidad , si no que lo lo generaba y mostraba entonces asi no podida hacer un                  sum 

entonces
agregue ese campo en la tabla y guarde ese  valor y luego hice un 
                 $this->total_factura = $listitems->sum('valor_item', "conditions: factura_id=$idfactura"); 

eso si gracias a argordmel q me di a entender como era.
332.gif

Henry Stivens

unread,
Aug 3, 2012, 7:53:06 PM8/3/12
to kum...@googlegroups.com
OK, bien :)

2012/8/3 ServiDigital <servidig...@gmail.com>
332.gif

Edu. Flores

unread,
Aug 5, 2012, 3:59:21 AM8/5/12
to kum...@googlegroups.com
Ufff, yala!,
 
mentira Servidigital, buen trabajo, nunca use es función, buen punto no lo había visto de esa forma la aplicación de sum().
 
Edu.

332.gif

José M Martínez

unread,
Aug 8, 2012, 9:09:00 AM8/8/12
to kum...@googlegroups.com
Buenos días Avilac

cuendo dices "cuando nuestro los datos hago una join para mostrar los datos y la cantidad la multplico por el valor del producto alojado en la tabla productos"

te recomiendo que para mostrar la factura no la multipliques por el valor que tienes guardado en la tabla productos, en el futuro estos valores pueden cambiar y si luego deseas consultar una factura que ya fue emitida es posible que no te muestre los valores reales con que se vendieron los productos.
JMMC
@Chemi_

332.gif

ServiDigital

unread,
Aug 8, 2012, 9:13:09 AM8/8/12
to kum...@googlegroups.com
Jose cual seria la forma correcta de hacer eso. ??
gracias por tu aporte.
332.gif

Oscar Cid

unread,
Aug 8, 2012, 10:13:59 AM8/8/12
to kum...@googlegroups.com
personalmente, yo dejo todos los valores que se calcularon en el momento de emitir cotizacion, boleta o factura en las mismas tablas, los campos totalizadores quedan en la tabla maestra y los detalle, en la detalle obviamente. asi, hago los calculos una vez y me quedan los valores que correspondia en el momento en el que se hicieron, ademas de resgistrar los posibles descuentos que se le hicieron a los productos.
332.gif
Reply all
Reply to author
Forward
0 new messages