ok.... ahy va la clase boleta....
Código PHP:
class BOLETA {
var $tipo;
var $grabada = false;
var $numero;
var $emision;
var $vendedor;
var $porcentaje;
//Variables para el detalle de la boleta
var $items;
var $cantidad_item;
var $codigo_item;
var $descripcion_item;
var $precio_unitario_item;
var $descuento_item;
var $total_item;
var $utilidad_item;
var $seriales;
//Variables para el total de la boleta
var $neto;
var $iva;
var $total;
var $utilidad;
Código PHP:
/**
* Funcion que agrega un item a la boleta.
* @param string|El codigo del producto a agregar.
* @param integer|La cantidad del producto.
* @param string|Basicamente es el nombre del producto.
* @param integer|El costo de compra de dicho producto.
* @param integer|El precio al cual se esta vendiendo.
* @param integer|El descuento aplicado al total.
* @return void
*/
function AddItem ($codigo, $cantidad, $descripcion, $precio_costo=0, $precio_venta=0, $descuento=0, $modifica_stock) {
//recorremos todos los itemss para saber si el nuevo a ingresar ya existe
$existe = false;
for ( $i=0; $i < $this->items; $i++ ) {
if ( $this->codigo_item[$i] == $codigo ) {
$existe = true;
break;
}
}
//si no existe...
if ( !$existe ) {
$this->codigo_item[] = $codigo;
$this->cantidad_item[] = $cantidad;
$this->descripcion_item[] = $descripcion;
$this->precio_costo_item[] = $precio_costo;
$this->precio_venta_item[] = $precio_venta;
$this->descuento_item[] = $descuento;
$this->modifica_stock_item[] = $modifica_stock;
$totalItem = ($cantidad*$precio_venta) - ( ($cantidad*$precio_venta)*($descuento/100) );
$this->total_item[] = $totalItem;
$this->utilidad_item[$this->items] = $totalItem - ($precio_costo*$cantidad);
$this->items = count($this->codigo_item);
}
//si ya existe...
else {
$this->cantidad_item[$i] += $cantidad;
$this->total_item[$i] += ($cantidad*$this->precio_venta_item[$i]) - ( ($cantidad*$this->precio_venta_item[$i])*($this->descuento_item[$i]/100) );
$this->utilidad_item[$i] = $this->total_item[$i] - ($this->precio_costo_item[$i]*$this->cantidad_item[$i]);
}
//calculamos los totales de la boleta.
$this->neto = 0;
$this->utilidad = 0;
for ( $i=0; $i < $this->items; $i++ ) {
$this->neto += $this->total_item[$i];
$this->utilidad += $this->utilidad_item[$i];
}
$this->iva = $this->neto * 0.19;
$this->total = $this->neto + $this->iva;
}
Código PHP:
/**
* Funcion que quita un item de la boleta.
* la factura.
* @param integer|El item que se va a quitar.
* @return void
*/
function RemoveItem ($item) {
unset ( $this->codigo_item[$item] ); sort ( $this->codigo_item );
unset ( $this->cantidad_item[$item] ); sort ( $this->cantidad_item );
unset ( $this->descripcion_item[$item] ); sort ( $this->descripcion_item );
unset ( $this->precio_costo_item[$item] ); sort ( $this->precio_costo_item );
unset ( $this->precio_venta_item[$item] ); sort ( $this->precio_venta_item );
unset ( $this->descuento_item[$item] ); sort ( $this->descuento_item );
unset ( $this->modifica_stock_item[$item] ); sort ( $this->modifica_stock_item );
unset ( $this->total_item[$item] ); sort ( $this->total_item );
unset ( $this->utilidad_item[$item] ); sort ( $this->utilidad_item );
$this->items = count($this->codigo_item);
//calculamos los totales de la boleta.
$this->neto = 0;
$this->utilidad = 0;
for ( $i=0; $i <= $this->items; $i++ ) {
$this->neto += $this->total_item[$i];
$this->utilidad += $this->utilidad_item[$i];
}
$this->iva = $this->neto * 0.19;
$this->total = $this->neto + $this->iva;
}
}//CLASS