Un gran saludo a todos y que Dios los Bendiga siempre...
Es mi primer Post y lo escribo en español (el que quiera lo puede pasar a ingles respetando la autoria )
He leido que hay usuarios que necesitan como hacer operaciones aritmeticas con grocery crud.
Esta es una manera (solo colocare el código).
<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Prod_ter_gc extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->database();
$this->load->library('grocery_crud');
//***************para tomar un valor de una funcion del model **************
$this->load->model('iva_model');
//************************************************************************* **************
}
public function index()
{
redirect('prod_ter_gc/prodgc');
}
public function prodgc()
{
try {
/* Creamos el objeto */
$crud = new grocery_CRUD();
$crud->set_theme('bootstrap');
$crud->set_table('t_producto_terminado');
$crud->set_subject('producto terminado');
$crud->set_language('spanish');
$crud->columns('PRODUCTO','PRECIO_NETO','IVA', 'TOTAL');
//***************para cambiar los inputs por defecto**************
$crud->callback_add_field('PRECIO_COMPRA',array($this,'add_field_callback_1'));
$crud->callback_add_field('GANANCIA',array($this,'add_field_callback_2'));
$crud->callback_add_field('PRECIO_NETO',array($this,'add_field_callback_3'));
$crud->callback_add_field('IVA',array($this,'add_field_callback_4'));
$crud->callback_add_field('TOTAL',array($this,'add_field_callback_5'));
/***********************************fin*****************************/
$crud->required_fields('PRODUCTO','CANTIDAD','GANANCIA','IVA','PRECIO_COMPRA','IVA');
/* Generamos la tabla */
$output = $crud->render();
//***********cargamos las vistas**************
$this->load->view('../../assets/inc/head_common');
$this->load->view('../../assets/inc/menu_principal');
$this->load->view('producto_terminado/producto_terminado',$output);
} catch (Exception $e) {
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
} // cierra la funcion
//*********************************************************************************************************************************************************************
//*****************************************************los cambios de los imput para sumarlos (en agregar)*********************************************
function add_field_callback_1() //PRECIO COMPRA
{
return ' <input name="PRECIO_COMPRA" type="text" class="form-control">';
}
function add_field_callback_2() //GANANCIA
{
return ' <input onkeyup="this.form.PRECIO_NETO.value = ((parseInt(this.form.PRECIO_COMPRA.value)*
(parseInt(this.value)))/100+parseInt(this.form.PRECIO_COMPRA.value))" name="GANANCIA"
class="form-control" >';
}
function add_field_callback_3() //PRECIO_NETO
{
$dato= $this->iva_model->Obtener_iva();
return ' <input onkeyup="this.form.IVA.value = ((((parseInt(this.value))*
('.$dato->result()[0]->IVA.'))/100))" name="PRECIO_NETO" class="form-control" readonly>';
}
function add_field_callback_4() //IVA
{
return '<input onkeyup="this.form.TOTAL.value = parseFloat(this.value)+
parseFloat(this.form.PRECIO_NETO.value)" name="IVA" class="form-control" readonly>';
}
function add_field_callback_5()//TOTAL
{
return ' <input name="TOTAL" type="text" readonly class="form-control" >';
}
}
//*********************************************************************************************************************************************************************
Espero que a alguien les sirva...
Cualquier duda pregunten que aquà estamos todos para ayudarnos.
Que Dios los bendiga.