Example #1
0
 function index()
 {
     $data = array();
     $data['header'] = '';
     $data['content'] = $this->load->view('view_verificador', $data, true);
     $data['footer'] = '';
     $data['script'] = script('jquery-min.js');
     $data['script'] .= phpscript('nformat.js');
     $data['script'] .= script('jquery.bootgrid.min.js');
     $data['style'] = style('jquery.bootgrid.min.css');
     $data['panel'] = '';
     $data['title'] = heading('Verificador de precios');
     $this->load->view('view_ventanasjq', $data);
     /*
     		// Filter grid
     		$this->rapyd->load('datafilter','datagrid');
     		$filter = new DataFilter('Consulta de Precios', 'sinv');
     
     		$filter->Descripcion = new inputField('Descripcion','decrip');
     		$filter->clave->rule      ='max_length[50]';
     		$filter->clave->size      =7;
     		$filter->clave->maxlength =5;
     
     		$filter->marca = new inputField('Marca','marca');
     		$filter->marca->rule      ='max_length[30]';
     		$filter->marca->size      =32;
     		$filter->marca->maxlength =30;
     
     		$filter->buttons('reset', 'search');
     		$filter->build();
     
     		$uri = anchor($this->url.'dataedit/show/<raencode><#id#></raencode>','<#id#>');
     
     		$grid = new DataGrid('');
     		$grid->db->select('codigo', 'descrip','unidad','base1','precio1-base1 iva','precio1');
     		$grid->db->order_by('codigo');
     
     		$grid->db->order_by('codigo');
     		$grid->per_page = 40;
     
     		$grid->column_orderby('C&oacute;digo'   ,'codigo'  ,'codigo',  'align="left"');
     		$grid->column_orderby('Descripcion'     ,'nombre'  ,'descrip', 'align="left"');
     		$grid->column_orderby('Medida'          ,'unidad'  ,'unidad',  'align="left"');
     		$grid->column_orderby('Precio'          ,'base1'   ,'base1',   'align="right"');
     		$grid->column_orderby('I.V.A.'          ,'iva'     ,'iva',     'align="right"');
     		$grid->column_orderby('Precio de Venta' ,'precio1' ,'precio1', 'align="right"');
     
     		$grid->add($this->url.'dataedit/create');
     		$grid->build();
     
     		$data['filtro']  = $filter->output;
     		$data['content'] = $grid->output;
     		$data['head']    = $this->rapyd->get_head().script('jquery.min.js');
     		$data['title']   = heading($this->titp);
     		$this->load->view('view_ventanas', $data);
     */
 }
Example #2
0
echo script('plugins/jquery.dataTables.js');
?>
    <?php 
echo script('plugins/jquery.nyroModal.js');
?>
    <?php 
echo script('plugins/jquery.jgrowl.js');
?>
    <?php 
echo script('plugins/jquery.timers.js');
?>
    <?php 
echo script('plugins/jquery.treeTable.js');
?>
    <?php 
echo phpscript('phpsysinfo.js/' . $id);
?>

    <title>ProteoERP monitoreo de sistema</title>
  </head>
  <body>
    <div id="loader">

      <h1>Cargando... por favor espere!</h1>
    </div>
    <div id="errors" style="display: none; width: 940px">
      <div id="errorlist">
        <h2>Disculpe. Algo salio mal.</h2>
      </div>
    </div>
    <div id="container" style="display: none;">
Example #3
0
 function dataeditordp($numero, $esta)
 {
     if (!isset($_POST['codigo_0'])) {
         //SELECT c.codigo
         //,COALESCE(b.cantidad*IF(tipoordp='E',-1,1),0) AS tracana
         //,c.cantidad
         //FROM stra AS a
         //JOIN itstra AS b ON a.numero=b.numero
         //RIGHT JOIN ordpitem AS c ON a.ordp=c.numero AND b.codigo=c.codigo
         //WHERE c.numero='00000019'
     }
     $id_ordp = $this->datasis->dameval('SELECT id FROM ordp WHERE numero=' . $this->db->escape($numero));
     $this->back_dataedit = 'inventario/ordp/dataedit/show/' . $id_ordp;
     $this->rapyd->load('dataobject', 'datadetails');
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia', 'peso' => 'Peso'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>'), 'where' => 'activo = "S" AND tipo="Articulo"', 'script' => array('post_modbus("<#i#>")'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Busqueda de producto en inventario');
     $btn = $this->datasis->p_modbus($modbus, '<#i#>');
     $script = "\n\t\tfunction post_add_itstra(id){\n\t\t\t\$('#cantidad_'+id).numeric('.');\n\t\t\treturn true;\n\t\t}";
     $do = new DataObject('stra');
     $do->rel_one_to_many('itstra', 'itstra', 'numero');
     //$do->rel_pointer('itstra','sinv','itstra.codigo=sinv.codigo','sinv.descrip as sinvdescrip');
     $edit = new DataDetails('Transferencia', $do);
     $edit->back_url = $this->back_dataedit;
     $edit->set_rel_title('itstra', 'Producto <#o#>');
     $edit->script($script, 'create');
     $edit->script($script, 'modify');
     $edit->pre_process('insert', '_pre_ordp_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->pre_process('delete', '_pre_delete');
     $edit->post_process('insert', '_post_insert');
     $edit->numero = new inputField('N&uacute;mero', 'numero');
     $edit->numero->mode = 'autohide';
     $edit->numero->size = 10;
     $edit->numero->apply_rules = false;
     //necesario cuando el campo es clave y no se pide al usuario
     $edit->numero->when = array('show', 'modify');
     $edit->ordp = new inputField('Orden de producci&oacute;n', 'ordp');
     $edit->ordp->mode = 'autohide';
     $edit->ordp->size = 10;
     $edit->ordp->rule = 'required|callback_chordp';
     $edit->ordp->insertValue = $numero;
     $edit->ordp->when = array('show', 'modify');
     $edit->fecha = new dateonlyField('Fecha', 'fecha');
     $edit->fecha->rule = 'required|chfecha';
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->size = 12;
     $edit->esta = new dropdownField('Estaci&oacute;n', 'esta');
     $edit->esta->option('', 'Seleccionar');
     $edit->esta->options('SELECT estacion,CONCAT(estacion,\'-\',nombre) AS lab FROM esta ORDER BY estacion');
     $edit->esta->rule = 'required';
     $edit->esta->insertValue = $esta;
     $edit->esta->style = 'width:150px;';
     $edit->tipoordp = new dropdownField('Tipo de movimiento', 'tipoordp');
     $edit->tipoordp->option('', 'Seleccionar');
     $edit->tipoordp->option('E', 'Entrega');
     $edit->tipoordp->option('R', 'Retiro');
     $edit->tipoordp->rule = 'required|enum[E,R]';
     $edit->tipoordp->style = 'width:150px;';
     $edit->observ1 = new inputField('Observaci&oacute;n', 'observ1');
     $edit->observ1->rule = 'max_length[60]|trim';
     $edit->observ1->size = 32;
     $edit->observ1->maxlength = 30;
     //comienza el detalle
     $edit->codigo = new inputField('C&oacute;digo <#o#>', 'codigo_<#i#>');
     $edit->codigo->db_name = 'codigo';
     $edit->codigo->append($btn);
     $edit->codigo->rule = 'trim|required|sinvexiste';
     $edit->codigo->rel_id = 'itstra';
     $edit->codigo->maxlength = 15;
     $edit->codigo->size = 15;
     $edit->descrip = new inputField('Descripci&oacute;n', 'descrip_<#i#>');
     $edit->descrip->db_name = 'descrip';
     $edit->descrip->type = 'inputhidden';
     $edit->descrip->rel_id = 'itstra';
     $edit->descrip->maxlength = 45;
     $edit->descrip->size = 40;
     $edit->cantidad = new inputField('Cantidad', 'cantidad_<#i#>');
     $edit->cantidad->db_name = 'cantidad';
     $edit->cantidad->css_class = 'inputnum';
     $edit->cantidad->rel_id = 'itstra';
     $edit->cantidad->rule = 'numeric|mayorcero|required';
     $edit->cantidad->maxlength = 10;
     $edit->cantidad->autocomplete = false;
     $edit->cantidad->size = 10;
     //Fin del detalle
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $accion = "javascript:buscaprod()";
     $edit->button_status('btn_terminar', 'Traer insumos', $accion, 'TR', 'create');
     $edit->buttons('save', 'undo', 'back', 'add_rel');
     if ($this->genesal) {
         $edit->build();
         $conten['form'] =& $edit;
         $data['content'] = $this->load->view('view_stra_ordp', $conten, true);
         $data['style'] = style('redmond/jquery-ui.css');
         $data['script'] = script('jquery.js');
         $data['script'] .= script('jquery-ui.js');
         $data['script'] .= script("jquery-impromptu.js");
         $data['script'] .= script('plugins/jquery.numeric.pack.js');
         $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
         $data['script'] .= script('plugins/jquery.floatnumber.js');
         $data['script'] .= phpscript('nformat.js');
         $data['content'] = $this->load->view('view_stra_ordp', $conten, true);
         $data['head'] = $this->rapyd->get_head();
         $data['title'] = heading('Transferencias de inventario para producci&oacute;n');
         $this->load->view('view_ventanas', $data);
     } else {
         $edit->on_save_redirect = false;
         $edit->build();
         if ($edit->on_success()) {
             $rt = 'Transferencia Guardada';
         } elseif ($edit->on_error()) {
             $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
         }
         return $rt;
     }
 }
Example #4
0
    function retirocaj()
    {
        //Para cuando venga de datasis y sin parametros
        $cajero = $this->datasis->dameval("SELECT cajero FROM usuario WHERE us_codigo=" . trim($this->db->escape($this->session->userdata('usuario'))) . " ");
        if (is_null($cajero)) {
            echo "Cajero Invalido";
            return;
        }
        $this->rapyd->load('dataform');
        $form = new DataForm('ventas/rret/retiro/' . $cajero . '/process');
        $attr = array('class' => 'ui-state-default ui-corner-all', 'onclick' => "javascript:window.location='" . site_url('ventas/rcaj/filteredgrid') . "'", 'value' => 'Regresar');
        //Inicio del efectivo
        $denomi = array();
        $c_efe = 0;
        $query = $this->db->query('SELECT a.tipo,a.denomina,b.cambiobs*a.denomina equivalencia,a.nombre FROM monebillet a JOIN mone b ON a.moneda=b.moneda ORDER BY a.tipo,a.moneda,a.denomina DESC');
        foreach ($query->result() as $i => $row) {
            $arr = array('EFE', 'cEFE');
            $nn = $arr[0];
            $denomi[$nn] = $row->denomina;
            $c_efe++;
            foreach ($arr as $o => $nobj) {
                $obj = $nobj . $i;
                $denomi[$obj] = $row->denomina;
                $form->{$obj} = new inputField($row->nombre, $obj);
                $form->{$obj}->group = $row->tipo == 'BI' ? 'Billetes' : 'Monedas';
                $form->{$obj}->size = 5 + 5 * $o;
                $form->{$obj}->style = 'text-align:right';
                $form->{$obj}->rule = 'numeric';
                $form->{$obj}->autocomplete = false;
                if ($o == 1) {
                    $form->{$obj}->in = $sobj;
                    $form->{$obj}->readonly = true;
                } else {
                    $form->{$obj}->css_class = 'cefectivo';
                }
                $sobj = $obj;
            }
        }
        $arr = array('OEFE' => 'Otras denominaciones');
        foreach ($arr as $obj => $titulo) {
            $form->{$obj} = new inputField($titulo, $obj);
            $form->{$obj}->style = 'text-align:right';
            $form->{$obj}->css_class = 'efectivo';
            $form->{$obj}->rule = 'numeric';
            $form->{$obj}->size = 10;
            $form->{$obj}->autocomplete = false;
        }
        //Fin del efectivo
        //Inicio otras formas de pago
        $c_otrp = 0;
        $mSQL = 'SELECT a.tipo,a.nombre FROM tarjeta a WHERE a.tipo=\'CH\'';
        $query = $this->db->query($mSQL);
        foreach ($query->result() as $i => $row) {
            $c_otrp++;
            $arr = array('cOTR');
            foreach ($arr as $o => $nobj) {
                $obj = $nobj . $row->tipo;
                $form->{$obj} = new inputField($row->nombre, $obj);
                $form->{$obj}->style = 'text-align:right';
                $form->{$obj}->size = 10;
                $form->{$obj}->rule = 'numeric';
                $form->{$obj}->autocomplete = false;
            }
        }
        //Fin otras formas de pago
        //Inicio tabla Resumen
        $arr = array('TOTR' => 'Total de otras formas de pago', 'TEFE' => 'Total Efectivo', 'TGLOB' => 'Total Global');
        foreach ($arr as $obj => $titulo) {
            $form->{$obj} = new inputField($titulo, $obj);
            $form->{$obj}->style = 'text-align:right';
            $form->{$obj}->css_class = 'efectivo';
            $form->{$obj}->rule = 'numeric';
            $form->{$obj}->readonly = true;
            $form->{$obj}->size = 10;
            $form->{$obj}->autocomplete = false;
        }
        $form->{$obj}->readonly = false;
        //$form->$obj->rule='required';
        $form->{$obj}->insertValue = '';
        //fin Resumen
        $form->submit('btnsubmit', 'Hacer retiro');
        $form->build_form();
        $this->rapyd->jquery[] = 'var denomi=' . json_encode($denomi) . ';';
        $this->rapyd->jquery[] = '$(":input:not(input[name^=\'cOT\'])").numeric(".");';
        $this->rapyd->jquery[] = '$(\'input[name^="cEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="cOTR"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="FEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="OEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$("#df1").submit(function() { return confirm("Estas seguro de realizar el Retiro de caja?"); })';
        $this->rapyd->jquery[] = '$(".cefectivo").bind("keyup",
			function() {
				obj=this.name;
				mul=eval("denomi."+obj);
				valor=$(this).val();
				$("#c"+obj).val(roundNumber(mul*valor,2));
				gtotal();
			});';
        $this->rapyd->jquery[] = 'function gtotal(){
			TEFE=TOTR=0;
			$(\'input[name^="cEFE"]\').each(function(i,e){
				if($(this).val().length>0)    TEFE = TEFE+parseFloat($(this).val());
			});
			$(\'input[name^="cOTR"]\').each(function(i,e){
				if($(this).val().length>0)
					TOTR = TOTR+parseFloat($(this).val());
			});
			if($("#OEFE").val().length>0) TEFE=TEFE+parseFloat($("#OEFE").val());

			$("#TEFE").val(roundNumber(TEFE,2));
			$("#TOTR").val(roundNumber(TOTR,2));
			$("#TGLOB").val(roundNumber(TOTR+TEFE,2));
		}';
        $this->rapyd->jquery[] = '$("input[name^=\'cOT\']").calculator( {showOn: "button",useThemeRoller:true,onClose: function(value, inst) { gtotal(); }, onClose: function(value, inst) { gtotal(); }} );';
        //hace el retiro de caja
        if ($form->on_success()) {
            //$dbcajero = $this->db->escape($cajero);
            $fecha = date('Ymd');
            $arr = array();
            $mSQL = 'SELECT tipo FROM tarjeta';
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $monto = 0;
                foreach ($query->result() as $row) {
                    if ($row->tipo == 'EF') {
                        $nobj = 'TEFE';
                    } else {
                        $nobj = 'cOTR' . $row->tipo;
                    }
                    if (isset($form->{$nobj})) {
                        $recibido = $form->{$nobj}->newValue;
                        if ($recibido > 0) {
                            $arr['tipo'] = $row->tipo;
                            $arr['cajero'] = $cajero;
                            $arr['monto'] = $recibido;
                            $arr['fecha'] = $fecha;
                            $monto += $recibido;
                            $mSQL = $this->db->insert_string('rret', $arr);
                            $this->db->simple_query($mSQL);
                        }
                    }
                }
            }
            redirect('ventas/rret/retirohecho/' . $cajero . '/' . $monto);
        }
        $attr = array('class' => 'ui-state-default ui-corner-all', 'onclick' => "javascript:window.location='" . site_url('ventas/rret/retirocaj') . "'", 'value' => 'Regresar');
        $cont['form'] =& $form;
        $cont['c_efe'] = $c_efe * 2;
        $cont['c_otrp'] = $c_otrp;
        $cont['regresa'] = form_button($attr, 'Regresar');
        $data['content'] = $this->load->view('view_rret', $cont, true);
        $data['title'] = heading('Retiro para el cajero ' . $cajero);
        $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js') . style('jquery.calculator.css');
        $data['head'] .= script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $data['head'] .= script('plugins/jquery.calculator.min.js');
        $data['head'] .= script('plugins/jquery.calculator-es.js');
        $this->load->view('view_ventanas', $data);
    }
Example #5
0
    function consultaprecio()
    {
        $this->rapyd->load("dataform");
        $codofiorg = $this->input->post('codofiorg');
        $codofides = $this->input->post('codofides');
        $form = new DataForm($this->url . 'consultaprecio/process');
        // Origen
        $form->codofiorg = new dropdownField('Origen', 'codofiorg');
        $form->codofiorg->option('00', 'Seleccione');
        $form->codofiorg->options("SELECT codofi, desofi FROM tbofici WHERE codofi>0 AND activo='S' ORDER BY desofi");
        $form->codofiorg->style = 'width:180px;';
        // Destino
        $form->codofides = new dropdownField('Destino.', 'codofides');
        $form->codofides->option('00', 'Seleccione');
        $form->codofides->options("SELECT codofi, desofi FROM tbofici WHERE codofi>0 AND activo='S' ORDER BY desofi ");
        $form->codofides->style = 'width:180px;';
        $form->submit = new submitField("Buscar", "btn_submit");
        $form->build_form();
        $salida = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' . "\n";
        $salida .= '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' . "\n";
        $salida .= '<head>' . "\n";
        $salida .= '<meta http-equiv="Content-type" content="text/html; charset=<?=$this->config->item(\'charset\'); ?>" >' . "\n";
        $salida .= '<title>ProteoERP<?php if(isset($title)) echo \':\'.preg_replace(\'/<[^>]*>/\', \'\', $title); ?></title>' . "\n";
        $salida .= style("ventanas.css");
        $salida .= script('jquery-min.js');
        $salida .= script('jquery-migrate-min.js');
        //SOLO PARA JQUERY 1.9 - 2.0
        $salida .= phpscript('nformat.js');
        $salida .= script('jquery-ui.custom.min.js');
        $salida .= style('themes/ui.jqgrid.css');
        $salida .= script('i18n/grid.locale-sp.js');
        $salida .= script('jquery.jqGrid.min.js');
        $salida .= style('themes/proteo/proteo.css');
        $salida .= '</head>' . "\n";
        $salida .= '<body>' . "\n";
        $salida .= '<form action="' . site_url('pasajes/tbreserva/consultaprecio/process') . '" method="post" id="df1"><div class="alert"></div>' . "\n";
        $titu = "Destino";
        if ($form->on_success()) {
            $titu = "Destino";
            if ($codofiorg == 0 && $codofides > 0) {
                $mSQL = 'SELECT a.codofiorg, b.desofi desorg, a.codofides, b.desofi desdes, a.prec_02 buscama, a.prec_01 ejecutivo,';
                $titu = "Origen";
            } else {
                $mSQL = 'SELECT a.codofiorg, b.desofi desorg, a.codofides, c.desofi desdes, a.prec_02 buscama, a.prec_01 ejecutivo,';
            }
            $mSQL .= 'd.valsegu seguro, d.vtasa tasa, round(a.prec_02+d.valsegu+d.vtasa,2) total_buscama,  round(a.prec_01+d.valsegu+d.vtasa,2) total_ejecutivo  
					FROM pllanos_pasaje.tbprecios a
					JOIN pllanos_pasaje.tbofici b ON a.codofiorg=b.codofi AND b.activo="S"
					JOIN pllanos_pasaje.tbofici c ON a.codofides=c.codofi AND c.activo="S"
					JOIN pllanos_pasaje.tbparam d ON a.codofiorg=d.codofiori 
			        WHERE a.codofiorg > 0 AND a.codofides >0 AND a.activo="S"';
            if ($codofiorg > 0) {
                $mSQL .= ' AND a.codofiorg = ' . $this->db->escape($codofiorg);
            }
            if ($codofides > 0) {
                $mSQL .= ' AND a.codofides = ' . $this->db->escape($codofides);
            }
            $mSQL .= ' ORDER by a.codofiorg, a.codofides';
            $mSQL .= ' LIMIT 40';
            $query = $this->db->query($mSQL);
            $rs = "";
            if ($query->num_rows() > 0) {
                $rs .= "\n<div style='width:500px;'>\n";
                $rs = "<table id='bprecios'>\n";
                $rs .= "<thead>\n";
                $rs .= "\t<tr>\n";
                $rs .= "<th>{$titu}</th>\n";
                $rs .= "<th>Seguro</th>\n";
                $rs .= "<th>Tasa</th>\n";
                $rs .= "<th>Ejecutivo</th>\n";
                $rs .= "<th>Total_E</th>\n";
                $rs .= "<th>Buscama</th>\n";
                $rs .= "<th>Total_B</th>\n";
                $rs .= "\t</tr>\n";
                $rs .= "</thead>\n";
                $rs .= "<tbody>\n";
                foreach ($query->result() as $row) {
                    $rs .= "\t<tr>\n";
                    $rs .= "<td>" . $row->desdes . "</td>\n";
                    $rs .= "<td style='text-align:right'>" . $row->seguro . "</td>\n";
                    $rs .= "<td align='right'>" . $row->tasa . "</td>\n";
                    $rs .= "<td align='right'>" . $row->buscama . "</td>\n";
                    $rs .= "<td align='right'>" . $row->total_buscama . "</td>\n";
                    $rs .= "<td align='right'>" . $row->ejecutivo . "</td>\n";
                    $rs .= "<td align='right'>" . $row->total_ejecutivo . "</td>\n";
                    $rs .= "\t</tr>\n";
                }
                $rs .= "</tbody>\n";
                $rs .= "</table>\n";
                $rs .= "</div>\n";
            }
        } else {
            $rs = '';
        }
        $salida .= "\n<table><tr>";
        $salida .= "<td>Origen: " . $form->codofiorg->output . "</td><td>Destino: " . $form->codofides->output . "</td>";
        $salida .= "<td>" . $form->submit->output . "</td>";
        $salida .= "</tr></table>";
        $salida .= '</form>';
        $salida .= $rs;
        $salida .= '
<script type="text/javascript">
		$(document).ready(function() { 
			tableToGrid("#bprecios",{ 
				width:"600", 
				height:"250",
				colModel: [
				{name: "' . $titu . '", id: "' . $titu . '", width: 150 },
				{name: "Seguro",    id: "Seguro",    width:  50, align:"center" },  
				{name: "Tasa",      id: "Tasa",      width:  50, align:"center" },
				{name: "Ejecutivo", id: "Ejecutivo", width:  70, align:"right" },
				{name: "Total_E",   id: "Total_E",   width:  70, align:"right", title: "Total" },
				{name: "Buscama",   id: "Buscama",   width:  70, align:"right" }, 
				{name: "Total_B",   id: "Total_B",   width:  70, align:"right", title: "Total" }, 
				]
				
			 }); 
		})
</script>';
        //$salida .= $mSQL;
        $salida .= '</body>';
        $salida .= '</html>';
        echo $salida;
    }
Example #6
0
 function dataedit($sta, $id)
 {
     $this->rapyd->load('dataedit', 'datagrid');
     $edit = new DataEdit('Ficha del cliente', 'scli');
     $edit->back_url = site_url($this->url . 'filteredgrid');
     $edit->cliente = new inputField('Cliente', 'cliente');
     $edit->cliente->rule = 'trim|required|existesprv';
     $edit->cliente->maxlength = 5;
     $edit->cliente->size = 7;
     $edit->cliente->mode = 'autohide';
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->rule = 'trim';
     $edit->nombre->maxlength = 40;
     $edit->nombre->size = 40;
     $edit->nombre->mode = 'autohide';
     $edit->nombre->in = 'cliente';
     $edit->rifci = new inputField('RIF/CI', 'rifci');
     $edit->rifci->rule = 'trim';
     $edit->rifci->maxlength = 40;
     $edit->rifci->size = 40;
     $edit->rifci->mode = 'autohide';
     $edit->telefono = new inputField('Tel&eacute;fono', 'telefono');
     $edit->telefono->rule = 'trim';
     $edit->telefono->maxlength = 40;
     $edit->telefono->size = 40;
     $edit->telefono->mode = 'autohide';
     $edit->buttons('undo', 'back');
     $edit->build();
     $data['content'] = $edit->output;
     $crm = $edit->_dataobject->get('crm');
     if (empty($crm)) {
         $dbdata['usuario'] = $this->secu->usuario();
         $dbdata['status'] = 'A';
         $dbdata['fecha'] = date('Ymd');
         $dbdata['titulo'] = 'Callcenter';
         $dbdata['cliente'] = $edit->_dataobject->get('cliente');
         $dbdata['descripcion'] = '';
         $mSQL = $this->db->insert_string('crm_contenedor', $dbdata);
         $this->db->simple_query($mSQL);
         $crm = $this->db->insert_id();
         $mSQL = "UPDATE scli SET crm = {$crm} WHERE id={$id}";
         $this->db->simple_query($mSQL);
     }
     $this->crm_back = site_url("crm/callcenter/dataedit/{$sta}/{$id}");
     $adici = array($edit->_dataobject->pk['id']);
     $this->prefijo = 'crm_';
     $data['content'] .= Contenedor::_showAdjuntos($crm, 'crm/callcenter/adjuntos', $adici);
     $data['content'] .= Contenedor::_showEventos($crm, 'crm/callcenter/eventos', $adici);
     $data['content'] .= Contenedor::_showComentarios($crm, 'crm/callcenter/comentarios', $adici);
     $data['style'] = style('redmond/jquery-ui.css');
     $data['script'] = script('jquery.js');
     $data['script'] .= script('jquery-ui.js');
     $data['script'] .= script('plugins/jquery.floatnumber.js');
     $data['script'] .= script('plugins/jquery.numeric.pack.js');
     $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
     $data['script'] .= phpscript('nformat.js');
     $data['head'] = $this->rapyd->get_head();
     $data['title'] = heading('Callcenter');
     $this->load->view('view_ventanas', $data);
 }
Example #7
0
    function anuales()
    {
        $this->rapyd->load("datagrid2");
        $this->rapyd->load("dataform");
        $this->load->helper('openflash');
        $script = '
		$(document).ready(function(){
			var contador=0;
			var ctexto="";
			var color="#0000FF";
			var tecla=43;
			$(".inputnum").numeric(".");
			$(".odd td,.even td,").click(function () {
				var num;
				var tnum;
				tnum=jQuery.trim($(this).text());
				num=des_moneyformat(tnum);
				switch(tecla){
					case 42: // *
						color="#80FF80";
						contador=contador*num;
					break;
					case 43: // +
						color="#8080FF";
						contador=contador+num;
					break;
					case 45: // -
						color="#FF8080";
						contador=contador-num;
					break;
					case 47: // /
						color="#FFFF80";
						contador=contador/num;
					break;
				}
				$(this).attr("bgcolor", color);
			});
			
			$(document).keypress(function (e) {
				if(e.which==43 || e.which==42 || e.which==45 || e.which==47){
					tecla=e.which;
					return false;
				}else if(e.which==61){
					$(".odd td,.even td,").removeAttr("bgcolor");
					//argo=formatNumber(contador)
					alert(moneyformat(contador));
					contador=0;
					tecla=43;
					return false;
				}
			});
			
		});';
        if ($this->uri->segment(4)) {
            $anio = $this->uri->segment(4);
        } elseif (isset($_POST['anio'])) {
            $anio = $_POST['anio'];
        }
        if (empty($anio)) {
            $anio = date("Y");
        }
        $fechai = $anio . '0101';
        $fechaf = $anio . '1231';
        $filter = new DataForm('ventas/clientes/anuales');
        $filter->title('Filtro de Ventas Anuales');
        $filter->script($script, "create");
        $filter->script($script, "modify");
        $filter->anio = new inputField("A&ntilde;o", "anio");
        $filter->anio->size = 4;
        $filter->anio->insertValue = $anio;
        $filter->anio->maxlength = 4;
        $filter->anio->rule = "trim";
        $filter->anio->css_class = 'inputnum';
        $filter->button("btnsubmit", "Buscar", form2uri(site_url('ventas/clientes/anuales'), array('anio')), $position = "BL");
        $filter->build_form();
        $grid = new DataGrid2();
        $select = array("cod_cli,nombre", "SUM(totalg*IF(tipo_doc='D', -1, 1)) AS grantotal", "SUM(totalg*IF(tipo_doc='D', -1, 1))/ COUNT(*) AS porcentaje", "SUM(totalg*(referen IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS contado", "SUM(totalg*(referen NOT IN ('E', 'M'))*IF(tipo_doc='D', -1, 1)) AS credito", "SUM(totals*IF(tipo_doc='D',-1,1))AS subtotal", "SUM(iva*IF(tipo_doc='D',-1,1))AS impuesto", "COUNT(*) AS numfac");
        $grid->db->select($select);
        $grid->db->from("sfac");
        $grid->db->where('tipo_doc<>', 'X');
        $grid->db->where('fecha >= ', $fechai);
        $grid->db->where('fecha <= ', $fechaf);
        $grid->db->groupby("cod_cli");
        $grid->db->orderby("grantotal DESC");
        //$grid->db->limit(10,0);
        $grid->column("Cliente", "nombre", "align='left'");
        $grid->column("Sub-Total", "<number_format><#subtotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Impuesto", "<number_format><#impuesto#>|2|,|.</number_format>", 'align=right');
        $grid->column("Total", "<number_format><#grantotal#>|2|,|.</number_format>", 'align=right');
        $grid->column("Contado", "<number_format><#contado#>|2|,|.</number_format>", 'align=right');
        $grid->column("Credito", "<number_format><#credito#>|2|,|.</number_format>", 'align=right');
        $grid->column("Participaci&oacute;n", "<number_format><#porcentaje#>|2|,|.</number_format>", 'align=right');
        $grid->column("Cant. Fact", "numfac", 'align=right');
        $grid->totalizar('impuesto', 'grantotal', 'contado', 'credito', 'subtotal');
        $grid->build();
        $grafico = open_flash_chart_object(720, 450, site_url("ventas/clientes/ganuales/{$anio}/"));
        //$data['script']   ="<script language=\"javascript\" type=\"text/javascript\"></script>";
        $data['content'] = $grafico;
        $data['content'] .= $filter->output . $grid->output;
        $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . phpscript('nformat.js') . $this->rapyd->get_head();
        $data['title'] = $this->rapyd->get_head() . "<h1>Clientes</h1>";
        $this->load->view('view_ventanas', $data);
    }
Example #8
0
 function tranferencaj()
 {
     $this->rapyd->load('dataform');
     $desca = 'CONCAT_WS(\'-\',codbanc,banco) AS desca';
     $edit = new DataForm('finanzas/bcaj/tranferencaj/process');
     $edit->title = 'Transferencia entre cajas';
     $edit->back_url = site_url('finanzas/bcaj/index');
     $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'chfecha|required';
     $edit->fecha->dbformat = 'Y-m-d';
     $edit->fecha->size = 10;
     $edit->envia = new dropdownField('Envia', 'envia');
     $edit->envia->option('', 'Seleccionar');
     $edit->envia->options("SELECT  codbanc,{$desca} FROM banc WHERE tbanco='CAJ'");
     $edit->envia->style = 'width:180px';
     $edit->envia->rule = 'required';
     $edit->recibe = new dropdownField('Recibe', 'recibe');
     $edit->recibe->option('', 'Seleccionar');
     $edit->recibe->options("SELECT  codbanc,{$desca} FROM banc WHERE tbanco='CAJ'");
     $edit->recibe->style = 'width:180px';
     $edit->recibe->rule = 'required';
     $edit->monto = new inputField('Monto', 'monto');
     $edit->monto->css_class = 'inputnum';
     $edit->monto->rule = 'trim|numeric|required';
     $edit->monto->maxlength = 15;
     $edit->monto->size = 20;
     $edit->monto->autocomplete = false;
     $edit->submit('btnsubmit', 'Guardar');
     $edit->build_form();
     $salida = $edit->output;
     if ($edit->on_success()) {
         $fecha = $edit->fecha->newValue;
         $monto = $edit->monto->newValue;
         $envia = $edit->envia->newValue;
         $recibe = $edit->recibe->newValue;
         $rt = $this->_transferencaj($fecha, $monto, $envia, $recibe);
         if ($rt) {
             redirect('finanzas/bcaj/listo/n/' . $this->bcajnumero);
         } else {
             redirect('finanzas/bcaj/listo/s');
         }
     }
     $data = array();
     $this->rapyd->jquery[] = '$(".inputnum").numeric(".");';
     $data['content'] = $salida;
     $data['title'] = '<h1>Transferencias entre cajas</h1>';
     $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js');
     $this->load->view('view_ventanas', $data);
 }
Example #9
0
    function cprecios($control)
    {
        $this->rapyd->uri->keep_persistence();
        $this->rapyd->load('datagrid', 'fields');
        $error = '';
        $msj = '';
        if ($this->input->post('scstp_1') !== false) {
            $precio1 = $this->input->post('scstp_1');
            $precio2 = $this->input->post('scstp_2');
            $precio3 = $this->input->post('scstp_3');
            $precio4 = $this->input->post('scstp_4');
            foreach (array_keys($precio1) as $ind) {
                $pt1 = $precio1[$ind] >= $precio2[$ind] && $precio2[$ind] >= $precio3[$ind] && $precio3[$ind] >= $precio4[$ind];
                $pt2 = $precio1[$ind] > 0 && $precio2[$ind] > 0 && $precio3[$ind] > 0 && $precio4[$ind] > 0;
                if ($pt1 && $pt2) {
                    $data = array('precio1' => $precio1[$ind], 'precio2' => $precio2[$ind], 'precio3' => $precio3[$ind], 'precio4' => $precio4[$ind]);
                    $where = 'id = ' . $this->db->escape($ind);
                    $mSQL = $this->db->update_string('itscst', $data, $where);
                    $ban = $this->db->simple_query($mSQL);
                } else {
                    $error = 'Los precios deben cumplir esta regla (precio 1 >= precio 2 >= precio 3 >= precio 4) y mayores a cero';
                }
            }
            if (strlen($error) == 0) {
                $msj = 'Nuevos Precios guardados';
            }
            if ($this->solo) {
                return '{"status":"C","id":"' . $control . '" ,"mensaje":"' . $msj . $error . '"}';
            }
        }
        if ($this->solo) {
            $ggrid = form_open('/compras/scst/solo/cprecios/' . $control, array("id" => "df1"));
        } else {
            $ggrid = form_open('/compras/scst/cprecios/' . $control);
        }
        function costo($formcal, $pond, $ultimo, $standard, $existen, $itcana)
        {
            $CI =& get_instance();
            $costo_pond = $CI->_pond($existen, $itcana, $pond, $ultimo);
            return $CI->_costos($formcal, $costo_pond, $ultimo, $standard);
        }
        function margen($formcal, $pond, $ultimo, $standard, $existen, $itcana, $precio, $iva)
        {
            $costo = costo($formcal, $pond, $ultimo, $standard, $existen, $itcana);
            if ($precio == 0) {
                return 0;
            }
            return round(100 - $costo * 100 / ($precio / (1 + $iva / 100)), 2);
        }
        function tcosto($id, $iva, $formcal, $pond, $ultimo, $standard, $existen, $itcana)
        {
            $costo = costo($formcal, $pond, $ultimo, $standard, $existen, $itcana);
            $rt = nformat($costo);
            $rt .= '<input type="hidden" id="costo[' . $id . ']" name="costo[' . $id . ']" value="' . $costo . '" />';
            $rt .= '<input type="hidden" id="iva[' . $id . ']" name="iva[' . $id . ']" value="' . $iva . '" />';
            return $rt;
        }
        $grid = new DataGrid('Precios de art&iacute;culos');
        $grid->use_function('costo', 'margen', 'tcosto');
        $grid->order_by('descrip');
        $select = array('b.codigo', 'b.descrip', 'b.formcal', 'a.costo', 'b.ultimo', 'b.pond', 'b.standard', 'a.id', 'a.precio1 AS scstp_1', 'a.precio2 AS scstp_2', 'a.precio3 AS scstp_3', 'a.precio4 AS scstp_4', 'b.precio1 AS sinvp1', 'b.precio2 AS sinvp2', 'b.precio3 AS sinvp3', 'b.precio4 AS sinvp4', 'b.formcal', 'a.cantidad', 'b.existen', 'b.iva');
        $grid->db->select($select);
        $grid->db->from('itscst AS a');
        $grid->db->join('sinv AS b', 'a.codigo=b.codigo');
        $grid->db->where('control', $control);
        //$grid->column('C&oacute;digo'     , '' );
        $grid->column_orderby('Descripci&oacute;n', '<b class=\'mininegro\'><#codigo#></b><br><#descrip#>', 'descrip');
        $ittt = array('sinvp1', 'sinvp2', 'sinvp3', 'sinvp4');
        $itt = array('scstp_1', 'scstp_2', 'scstp_3', 'scstp_4');
        foreach ($itt as $id => $val) {
            $ind = $val;
            $campo = new inputField('Campo', $ind);
            $campo->grid_name = $ind . '[<#id#>]';
            $campo->status = 'modify';
            $campo->size = 8;
            $campo->autocomplete = false;
            $campo->css_class = 'inputnum';
            $campo->append('<#' . $ittt[$id] . '#>');
            $campo->disable_paste = true;
            $grid->column('Precio ' . ($id + 1), $campo, 'align=\'center\'');
        }
        $itt = array('margen_1', 'margen_2', 'margen_3', 'margen_4');
        foreach ($itt as $id => $val) {
            $ind = $val;
            $campo = new inputField('Campo', $ind);
            $campo->grid_name = $ind . '[<#id#>]';
            $campo->pattern = '<margen><#formcal#>|<#pond#>|<#costo#>|<#standard#>|<#existen#>|<#cantidad#>|<#scstp_' . ($id + 1) . '#>|<#iva#></margen>';
            $campo->status = 'modify';
            $campo->size = 3;
            $campo->autocomplete = false;
            $campo->css_class = 'inputnum';
            $campo->disable_paste = true;
            $grid->column('Marg.' . ($id + 1), $campo, 'align=\'center\'');
        }
        $grid->column('Costo', '<tcosto><#id#>|<#iva#>|<#formcal#>|<#pond#>|<#costo#>|<#standard#>|<#existen#>|<#cantidad#></tcosto>', 'align=\'right\'');
        if (!$this->solo) {
            $action = "javascript:window.location='" . site_url('compras/scst/dataedit/show/' . $control) . "'";
            $grid->button('btn_regresa', 'Regresar', $action, 'TR');
            $grid->submit('pros', 'Guardar', 'BR');
        }
        $grid->build();
        $ggrid .= $grid->output;
        $ggrid .= form_close();
        $script = '<script language="javascript" type="text/javascript">
		$(function(){
			$(".inputnum").numeric(".");
			$(".inputonlynum").numeric();
			$(\'input[name^="margen_"]\').keyup(function() {
				nom=this.name;
				pos0=this.name.lastIndexOf("_");
				pos1=this.name.lastIndexOf("[");
				pos2=this.name.lastIndexOf("]");
				if(pos0>0 && pos1>0 && pos2>0){
					idp = this.name.substring(pos0+1,pos1);
					ind = this.name.substring(pos1+1,pos2);

					costo  = Number($("#costo\\\\["+ind+"\\\\]").val());
					iva    = Number($("#iva\\\\["+ind+"\\\\]").val());
					margen = Number($(this).val());

					precio = roundNumber((costo*100/(100-margen))*(1+(iva/100)),2);
					$("#scstp_"+idp+"\\\\["+ind+"\\\\]").val(precio);
				}
			});

			$(\'input[name^="scstp_"]\').keyup(function() {
				nom=this.name;
				pos0=this.name.lastIndexOf("_");
				pos1=this.name.lastIndexOf("[");
				pos2=this.name.lastIndexOf("]");
				if(pos0>0 && pos1>0 && pos2>0){
					idp = this.name.substring(pos0+1,pos1);
					ind = this.name.substring(pos1+1,pos2);

					precio = Number($(this).val());
					costo  = Number($("#costo\\\\["+ind+"\\\\]").val());
					iva    = Number($("#iva\\\\["+ind+"\\\\]").val());

					margen=roundNumber(100-((costo*100)/(precio/(1+(iva/100)))),2);
					$("#margen_"+idp+"\\\\["+ind+"\\\\]").val(margen);
				}
			});
		});
		</script>';
        $data['content'] = '<div class="alert">' . $error . '</div>';
        $data['content'] .= '<div>' . $msj . '</div>';
        $data['content'] .= $ggrid;
        if ($this->solo) {
            $mensaje = "<table><tr><td>Mensaje: " . $msj . "</td><td>Error: " . $error . "</td></tr></table>\n";
            return $script . "\n" . $data['content'];
        } else {
            $data['title'] = heading('Cambio de precios');
            $data['script'] = $script;
            $data['script'] .= phpscript('nformat.js');
            $data['head'] = $this->rapyd->get_head();
            $data['head'] = script('jquery.pack.js');
            $data['head'] = script('plugins/jquery.numeric.pack.js');
            $data['head'] = script('plugins/jquery.floatnumber.js');
            $data['head'] .= style('estilos.css');
            $this->load->view('view_ventanas', $data);
        }
    }
Example #10
0
 function dataedit()
 {
     $alma = $this->secu->getalmacen();
     if (empty($alma)) {
         show_error('El usuario no tiene un almac&eacute;n asignado');
     }
     $this->rapyd->load('dataobject', 'datadetails');
     /*$mSPRV=array(
     			'tabla'   =>'view_clipro',
     			'columnas'=>array(
     			    'codigo' =>'C&oacute;digo',
     			    'tipo'    =>'Tipo',
     			    'rif'     =>'RIF/CI',
     			    'nombre'  =>'Nombre'),
     			'filtro'  =>array(
     			    'tipo'    =>'Tipo',
     			    'codigo' =>'C&oacute;digo',
     			    'rif'     =>'RIF/CI',
     			    'nombre'  =>'Nombre'),
     			'retornar'=>array('codigo'=>'clipro','nombre'=>'nombre'),
     			'script'  =>array('human_traslate()'),
     			'titulo'  =>'Buscar Proveedor / Cliente');
     		$bSPRV=$this->datasis->p_modbus($mSPRV,'proveed');*/
     $sprvbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'clipro', 'nombre' => 'nombre'), 'script' => array('_post_modbus()'), 'titulo' => 'Buscar Proveedor');
     $bSPRV = $this->datasis->p_modbus($sprvbus, 'proveed');
     $do = new DataObject('recep');
     $do->rel_one_to_many('seri', 'seri', array('recep' => 'recep'));
     $edit = new DataDetails($this->t**s, $do);
     $edit->back_url = site_url($this->url . 'filteredgrid');
     $edit->set_rel_title('itcasi', 'Rubro <#o#>');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->pre_process('delete', '_pre_delete');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->recep = new inputField('N&uacute;mero', 'recep');
     $edit->recep->mode = 'autohide';
     $edit->recep->when = array('show', 'modify');
     $edit->clipro = new inputField('Cliente/Proveedor', 'clipro');
     $edit->clipro->size = 5;
     $edit->clipro->rule = 'callback_chclipro|required';
     $edit->clipro->type = 'inputhidden';
     $edit->clipro->readonly = true;
     $edit->clipro->append($bSPRV);
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->type = 'inputhidden';
     $tipo = array('E' => 'Entrega', 'R' => utf8_encode('Recepción'));
     if ($edit->_status == 'show') {
         $edit->tipo = new dropdownField('Tipo', 'tipo');
         $edit->tipo->option('E', 'Entrega');
         $edit->tipo->option('R', 'Recepci&oacute;n');
     } else {
         $edit->tipo = new inputField('Tipo', 'tipo');
         $edit->tipo->rule = 'enum[R,E]';
         $edit->tipo->type = 'inputhidden';
         $edit->tipo->insertValue = 'R';
     }
     $origen = array('scst' => 'Compra', 'sfac' => 'Factura');
     if ($edit->_status == 'show') {
         $edit->origen = new dropdownField('Or&iacute;gen', 'origen');
         $edit->origen->options($origen);
     } else {
         $edit->origen = new inputField('Or&iacute;gen', 'origen');
         $edit->origen->rule = 'enum[sfac,scst]';
         $edit->origen->insertValue = 'scst';
         $edit->origen->type = 'inputhidden';
     }
     $tipo_ref = array('F' => 'F', 'FC' => 'F', 'NC' => 'D', 'D' => 'D');
     $edit->tipo_refe = new inputField('Tipo de referencia', 'tipo_refe');
     $edit->tipo_refe->rule = 'enum[FC,NC,F,D]';
     $edit->tipo_refe->type = 'inputhidden';
     $edit->refe = new inputField('Referencia', 'refe');
     $edit->refe->rule = 'max_length[8]';
     $edit->refe->size = 10;
     $edit->refe->maxlength = 8;
     $edit->refe->append('N&uacute;mero de referencia cuando es ventas o n&uacute;mero de compra');
     $edit->fecha = new dateonlyField('Fecha', 'fecha');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'required|chfecha';
     $edit->fecha->when = array('show');
     $edit->fecha->size = 10;
     $edit->observa = new textAreaField('Observaci&oacute;n', 'observa');
     $edit->observa->cols = 60;
     $edit->observa->rows = 1;
     $edit->observa->style = 'width:100%;';
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     //******************************
     //     Inicio del detalle
     //******************************
     $edit->itbarras = new inputField('(<#o#>) Barras', 'it_barras_<#i#>');
     $edit->itbarras->rule = 'trim|required|callback_chbarras[<#i#>]|strtoupper';
     $edit->itbarras->size = 20;
     $edit->itbarras->db_name = 'barras';
     $edit->itbarras->rel_id = 'seri';
     $edit->itbarras->autocomplete = false;
     $edit->itcodigo = new inputField('(<#o#>) C&oacute;digo', 'it_codigo_<#i#>');
     $edit->itcodigo->rule = 'trim|required';
     $edit->itcodigo->size = 10;
     $edit->itcodigo->db_name = 'codigo';
     $edit->itcodigo->rel_id = 'seri';
     $edit->itcodigo->autocomplete = false;
     $edit->itcodigo->type = 'inputhidden';
     $edit->itdescri = new inputField('(<#o#>) Descripci&oacute;n', 'it_descri_<#i#>');
     $edit->itdescri->rule = 'trim|required';
     $edit->itdescri->size = 40;
     $edit->itdescri->db_name = 'descrip';
     $edit->itdescri->rel_id = 'seri';
     $edit->itdescri->autocomplete = false;
     $edit->itdescri->type = 'inputhidden';
     $edit->itserial = new inputField('(<#o#>) Serial', 'it_serial_<#i#>');
     $edit->itserial->rule = 'trim|callback_chrepetido[<#i#>]|callback_chserial[<#i#>]|required';
     $edit->itserial->size = 20;
     $edit->itserial->db_name = 'serial';
     $edit->itserial->rel_id = 'seri';
     $edit->itserial->autocomplete = false;
     $edit->itcant = new inputField('(<#o#>) Cantidad', 'it_cant_<#i#>');
     $edit->itcant->rule = 'trim|numeric|required|positive';
     $edit->itcant->size = 10;
     $edit->itcant->db_name = 'cant';
     $edit->itcant->rel_id = 'seri';
     $edit->itcant->autocomplete = false;
     $edit->itcant->css_class = 'inputnum';
     $edit->itcant->insertValue = 1;
     $edit->itcant->disable_paste = true;
     //******************************
     //      Fin del detalle
     //******************************
     $status = $edit->get_from_dataobjetct('status');
     $edit->buttons('modify', 'save', 'undo', 'back', 'add_rel', 'add');
     $edit->build();
     $smenu['link'] = barra_menu('322');
     $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true);
     $conten['jtipo'] = json_encode($tipo);
     $conten['jorigen'] = json_encode($origen);
     $conten['jtipos_ref'] = json_encode($tipo_ref);
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('recep', $conten, true);
     $data['title'] = heading($this->t**s . ' Nro. ' . $edit->recep->value);
     $data['head'] = $this->rapyd->get_head();
     //style('vino/jquery-ui.css');
     $data['head'] .= script('jquery.js');
     $data['head'] .= script('jquery-ui.js');
     $data['head'] .= script('plugins/jquery.numeric.pack.js');
     $data['head'] .= script('plugins/jquery.floatnumber.js');
     //$data['head']   .= script('plugins/jquery.meiomask.js');
     $data['head'] .= phpscript('nformat.js');
     $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css');
     $this->load->view('view_ventanas', $data);
 }
Example #11
0
    function ordiva($ordi)
    {
        $this->rapyd->load('dataobject', 'dataedit');
        $fecha = $this->datasis->dameval("SELECT fecha FROM ordi WHERE numero={$ordi}");
        $iva = $this->datasis->ivaplica($fecha);
        $jsc = 'function calcula(){
			if($("#tasa").val().length>0){
				tasa=parseFloat($("#tasa").val());
				if($("#base").val().length>0) base=parseFloat($("#base").val()); else base=0;
				$("#montoiva").val(roundNumber(base*(tasa/100),2));
			}
		}
		function calculaiva(){
			if($("#tasa").val().length>0){
				tasa=parseFloat($("#tasa").val());
				if($("#montoiva").val().length>0) montoiva=parseFloat($("#montoiva").val()); else montoiva=0;
				$("#base").val(roundNumber(montoiva*100/tasa,2));
			}
		}';
        $edit = new DataEdit(' ', 'ordiva');
        $edit->back_save = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_url = site_url('import/ordi/dataedit/show/' . $ordi);
        $edit->post_process('insert', '_post_ordiva');
        $edit->post_process('update', '_post_ordiva');
        $edit->post_process('delete', '_post_ordiva');
        $edit->id = new inputField2('Numero', 'id');
        $edit->id->mode = 'autohide';
        $edit->id->when = array('modify');
        $edit->tasa = new dropdownField('Tasa %', 'tasa');
        foreach ($iva as $nom => $val) {
            $edit->tasa->option($val, nformat($val) . '%');
        }
        $edit->tasa->rule = 'required|numeric';
        $edit->tasa->style = 'width:100px';
        $edit->tasa->mode = 'autohide';
        $edit->tasa->append('<span style="color:black;"> Vigente para la fecha <b>' . dbdate_to_human($fecha) . '</b></span>');
        $edit->base = new inputField('Base imponible', 'base');
        $edit->base->rule = 'required|numeric';
        $edit->base->size = 15;
        $edit->base->css_class = 'inputnum';
        $edit->base->autocomplete = false;
        $edit->montoiva = new inputField('IVA ', 'montoiva');
        $edit->montoiva->rule = 'required|numeric';
        $edit->montoiva->size = 15;
        $edit->montoiva->autocomplete = false;
        $edit->montoiva->css_class = 'inputnum';
        $edit->concepto = new inputField2('Concepto', 'concepto');
        $edit->concepto->rule = 'max_length[100]';
        $edit->concepto->max_size = 100;
        $edit->ordeni = new autoUpdateField('ordeni', $ordi, $ordi);
        $edit->script($jsc, 'create');
        //$edit->script($jsm,'modify');
        $accion = "javascript:window.location='" . site_url('import/ordi/cargarordi' . $edit->pk_URI()) . "'";
        $edit->button_status('btn_cargar', 'Cargar', $accion, 'TR', 'show');
        $edit->buttons('modify', 'save', 'undo', 'delete', 'back');
        $edit->build();
        if ($edit->_status != 'show') {
            $this->rapyd->jquery[] = '$(".inputnum").numeric(".");';
            $this->rapyd->jquery[] = '$("#tasa").change(function() { calcula(); });';
            $this->rapyd->jquery[] = '$("#base").bind("keyup",function() { calcula(); });';
            $this->rapyd->jquery[] = '$("#montoiva").bind("keyup",function() { calculaiva(); });';
        }
        if ($edit->_status == 'modify') {
            $jsm = '<script language="javascript" type="text/javascript">
			function calcula(){
				tasa=' . $edit->tasa->value . ';
				if($("#base").val().length>0) base=parseFloat($("#base").val()); else base=0;
				$("#montoiva").val(roundNumber(base*(tasa/100),2));
			}
			function calculaiva(){
				tasa=' . $edit->tasa->value . ';
				if($("#montoiva").val().length>0) montoiva=parseFloat($("#montoiva").val()); else montoiva=0;
				$("#base").val(roundNumber(montoiva*100/tasa,2));
			}
			</script>';
            $data['script'] = $jsm;
        }
        $data['content'] = $edit->output;
        $data['title'] = '<h1>Impuestos IVA</h1>';
        $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Example #12
0
 function diarios()
 {
     $this->rapyd->load("datafilter", "datagrid2");
     $this->rapyd->load("datatable");
     $this->load->library('msql');
     $base_process_uri = $this->rapyd->uri->implode_uri("base_uri", "gfid", "orderby");
     $filter = new DataForm('');
     $filter->_process_uri = $this->rapyd->uri->add_clause($base_process_uri, "search");
     $filter->attributes = array('onsubmit' => 'is_loaded()');
     $filter->fechad = new dateonlyField("Desde", "fechad", 'd/m/Y');
     $filter->fechah = new dateonlyField("Hasta", "fechah", 'd/m/Y');
     $filter->fechad->db_name = $filter->fechah->db_name = "fecha";
     $filter->fechad->insertValue = date("Y-m-d");
     $filter->fechah->insertValue = date("Y-m-d");
     $filter->fechad->operator = ">=";
     $filter->fechah->operator = "<=";
     $filter->fechah->group = "Fecha";
     $filter->fechad->group = "Fecha";
     $filter->fechad->rule = "required";
     $filter->fechah->rule = "required";
     $filter->submit("btnsubmit", "Buscar");
     $filter->build_form();
     if ($this->rapyd->uri->is_set("search")) {
         $fechad = $filter->fechad->newValue;
         $fechah = $filter->fechah->newValue;
         $grid = new DataGrid2("Resultados de Clientes");
         $select = array("fecha", "tipo_doc", "numero", "cod_cli as codigo", "nombre", "monto", "impuesto", "abonos", "banco", "tipo_ref as tipo", "num_ref as numche");
         $grid->db->select($select);
         $grid->db->from("smov");
         $grid->db->where('fecha >= ', $fechad);
         $grid->db->where('fecha <= ', $fechah);
         $grid->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", "align='center'");
         $grid->column("Tipo", "tipo_doc");
         $grid->column("Numero", "numero");
         $grid->column("Codigo", "codigo");
         $grid->column("Nombre", "nombre");
         $grid->column("Monto", "<nformat><#monto#></nformat>", "align=right");
         $grid->column("Impuesto", "<nformat><#impuesto#></nformat>", "align=right");
         $grid->column("Abonos", "<nformat><#abonos#></nformat>", "align=right");
         $grid->column("Banco", "banco");
         $grid->column("Doc.", "tipo");
         $grid->column("Num.Doc.", "numche");
         $grid->totalizar('monto', 'impuesto', 'abonos');
         $grid->build();
         $cliente = $grid->output;
         //echo $grid->db->last_query();
         $grid2 = new DataGrid2("Resultados de Proveedores");
         $select = array("fecha", "tipo_doc", "numero", "cod_prv as codigo", "nombre", "monto", "impuesto", "abonos", "banco", "tipo_op as tipo", "numche");
         $grid2->db->select($select);
         $grid2->db->from("sprm");
         $grid2->db->where('fecha >= ', $fechad);
         $grid2->db->where('fecha <= ', $fechah);
         $grid2->column("Fecha", "<dbdate_to_human><#fecha#></dbdate_to_human>", "align='center'");
         $grid2->column("Tipo", "tipo_doc");
         $grid2->column("Numero", "numero");
         $grid2->column("Codigo", "codigo");
         $grid2->column("Nombre", "nombre");
         $grid2->column("Monto", "<nformat><#monto#></nformat>", "align=right");
         $grid2->column("Impuesto", "<nformat><#impuesto#></nformat>", "align=right");
         $grid2->column("Abonos", "<nformat><#abonos#></nformat>", "align=right");
         $grid2->column("Banco", "banco");
         $grid2->column("Doc.", "tipo");
         $grid2->column("Num. Doc.", "numche");
         $grid2->totalizar('monto', 'impuesto', 'abonos');
         $grid2->build();
         $proveedor = $grid2->output;
     } else {
         $cliente = '';
         $proveedor = '';
     }
     $data['content'] = $filter->output . $cliente . $proveedor;
     $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . phpscript('nformat.js') . $this->rapyd->get_head();
     $data['title'] = $this->rapyd->get_head() . "<h1>Movimientos</h1>";
     $this->load->view('view_ventanas', $data);
 }
Example #13
0
 function dataedit()
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $do = new DataObject('sfac');
     $do->rel_one_to_many('sitems', 'sitems', array('id' => 'id_sfac'));
     $do->pointer('scli', 'scli.cliente=sfac.cod_cli', 'scli.tipo AS sclitipo', 'left');
     $do->pointer('scli AS manda', 'manda.cliente=sfac.mandatario', 'manda.nombre AS mandanombre, manda.rifci AS mandarif, manda.dire11 AS mandadirec', 'left');
     $do->rel_pointer('sitems', 'sinv', 'sitems.codigoa=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
     $edit = new DataDetails('Facturas', $do);
     $edit->back_url = site_url($this->url . 'filteredgrid');
     $edit->set_rel_title('sitems', 'Producto <#o#>');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->sclitipo = new hiddenField('', 'sclitipo');
     $edit->sclitipo->db_name = 'sclitipo';
     $edit->sclitipo->pointer = true;
     $edit->sclitipo->insertValue = 1;
     $edit->mandatario = new inputField('C&oacute;digo', 'mandatario');
     $edit->mandatario->size = 6;
     $edit->mandatario->maxlength = 5;
     $edit->mandatario->rule = 'required|existescli';
     $edit->mandanombre = new inputField('Nombre', 'mandanombre');
     $edit->mandanombre->db_name = 'mandanombre';
     $edit->mandanombre->pointer = true;
     $edit->mandanombre->type = 'inputhidden';
     $edit->mandanombre->maxlength = 40;
     $edit->mandanombre->size = 25;
     $edit->mandanombre->readonly = true;
     $edit->mandarif = new inputField('RIF', 'mandarif');
     $edit->mandarif->db_name = 'mandarif';
     $edit->mandarif->pointer = true;
     $edit->mandarif->type = 'inputhidden';
     $edit->mandarif->autocomplete = false;
     $edit->mandarif->size = 15;
     $edit->mandarif->readonly = true;
     $edit->mandadirec = new inputField('Direcci&oacute;n', 'mandadirec');
     $edit->mandadirec->type = 'inputhidden';
     $edit->mandadirec->db_name = 'mandadirec';
     $edit->mandadirec->pointer = true;
     $edit->mandadirec->size = 40;
     $edit->mandadirec->readonly = true;
     $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'required';
     $edit->fecha->mode = 'autohide';
     $edit->fecha->size = 10;
     $edit->vence = new DateonlyField('Vence', 'vence', 'd/m/Y');
     $edit->vence->insertValue = date('Y-m-d');
     $edit->vence->rule = 'required';
     $edit->vence->mode = 'autohide';
     $edit->vence->size = 10;
     $edit->vd = new dropdownField('Vendedor', 'vd');
     $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
     $edit->vd->style = 'width:200px;';
     $edit->vd->size = 5;
     $edit->numero = new inputField('Referencia', 'numero');
     $edit->numero->size = 10;
     $edit->numero->maxlength = 8;
     //$edit->numero->rule='required';
     $edit->numero->when = array('show');
     $edit->nfiscal = new inputField('No.Fiscal', 'nfiscal');
     $edit->nfiscal->size = 10;
     $edit->nfiscal->maxlength = 20;
     $edit->nfiscal->autocomplete = false;
     $edit->nfiscal->rule = 'required|callback_chnumero';
     $edit->peso = new inputField('Peso', 'peso');
     $edit->peso->css_class = 'inputnum';
     $edit->peso->readonly = true;
     $edit->peso->size = 10;
     $edit->cliente = new inputField('Cliente', 'cod_cli');
     $edit->cliente->size = 6;
     $edit->cliente->maxlength = 5;
     $edit->cliente->autocomplete = false;
     $edit->cliente->rule = 'required|existescli';
     $edit->nombre = new hiddenField('Nombre', 'nombre');
     $edit->nombre->size = 25;
     $edit->nombre->maxlength = 40;
     $edit->nombre->readonly = true;
     $edit->nombre->autocomplete = false;
     $edit->nombre->rule = 'required';
     $edit->rifci = new hiddenField('RIF/CI', 'rifci');
     $edit->rifci->autocomplete = false;
     $edit->rifci->readonly = true;
     $edit->rifci->size = 15;
     $edit->direc = new hiddenField('Direcci&oacute;n', 'direc');
     $edit->direc->readonly = true;
     $edit->direc->size = 40;
     //***********************************
     //  Campos para el detalle 1 sitems
     //***********************************
     $edit->codigoa = new inputField('C&oacute;digo <#o#>', 'codigoa_<#i#>');
     $edit->codigoa->size = 12;
     $edit->codigoa->db_name = 'codigoa';
     $edit->codigoa->rel_id = 'sitems';
     $edit->codigoa->rule = 'required|existesinv';
     $edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
     $edit->desca->size = 36;
     $edit->desca->db_name = 'desca';
     $edit->desca->maxlength = 50;
     $edit->desca->readonly = true;
     $edit->desca->rel_id = 'sitems';
     $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>');
     $edit->cana->db_name = 'cana';
     $edit->cana->css_class = 'inputnum';
     $edit->cana->rel_id = 'sitems';
     $edit->cana->maxlength = 10;
     $edit->cana->size = 6;
     $edit->cana->rule = 'required|positive';
     $edit->cana->autocomplete = false;
     $edit->cana->onkeyup = 'importe(<#i#>)';
     $edit->preca = new inputField('Precio <#o#>', 'preca_<#i#>');
     $edit->preca->db_name = 'preca';
     $edit->preca->css_class = 'inputnum';
     $edit->preca->rel_id = 'sitems';
     $edit->preca->size = 10;
     $edit->preca->rule = 'required|positive';
     $edit->preca->readonly = true;
     $edit->detalle = new hiddenField('', 'detalle_<#i#>');
     $edit->detalle->db_name = 'detalle';
     $edit->detalle->rel_id = 'sitems';
     $edit->tota = new inputField('Importe <#o#>', 'tota_<#i#>');
     $edit->tota->db_name = 'tota';
     $edit->tota->size = 10;
     $edit->tota->css_class = 'inputnum';
     $edit->tota->rel_id = 'sitems';
     for ($i = 1; $i < 4; $i++) {
         $obj = 'precio' . $i;
         $edit->{$obj} = new hiddenField('Precio <#o#>', $obj . '_<#i#>');
         $edit->{$obj}->db_name = 'sinv' . $obj;
         $edit->{$obj}->rel_id = 'sitems';
         $edit->{$obj}->pointer = true;
     }
     $edit->precio4 = new hiddenField('', 'precio4_<#i#>');
     $edit->precio4->db_name = 'precio4';
     $edit->precio4->rel_id = 'sitems';
     $edit->itiva = new hiddenField('', 'itiva_<#i#>');
     $edit->itiva->db_name = 'iva';
     $edit->itiva->rel_id = 'sitems';
     $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>');
     $edit->sinvpeso->db_name = 'sinvpeso';
     $edit->sinvpeso->rel_id = 'sitems';
     $edit->sinvpeso->pointer = true;
     $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>');
     $edit->sinvtipo->db_name = 'sinvtipo';
     $edit->sinvtipo->rel_id = 'sitems';
     $edit->sinvtipo->pointer = true;
     $edit->ivat = new hiddenField('I.V.A', 'iva');
     $edit->ivat->css_class = 'inputnum';
     $edit->ivat->readonly = true;
     $edit->ivat->size = 10;
     $edit->totals = new hiddenField('Sub-Total', 'totals');
     $edit->totals->css_class = 'inputnum';
     $edit->totals->readonly = true;
     $edit->totals->size = 10;
     $edit->totalg = new hiddenField('Total', 'totalg');
     $edit->totalg->css_class = 'inputnum';
     $edit->totalg->readonly = true;
     $edit->totalg->size = 10;
     $edit->observa = new inputField('Observacion', 'observa');
     $edit->observ1 = new inputField('Observacion', 'observ1');
     $edit->zona = new inputField('Zona', 'zona');
     $edit->ciudad = new inputField('Ciudad', 'ciudad');
     $edit->exento = new inputField('Exento', 'exento');
     $edit->maqfiscal = new inputField('Mq.Fiscal', 'maqfiscal');
     $edit->cajero = new inputField('Cajero', 'cajero');
     $edit->referen = new inputField('Referencia', 'referen');
     $edit->reiva = new inputField('Retencion de IVA', 'reiva');
     $edit->creiva = new inputField('Comprobante', 'creiva');
     $edit->freiva = new inputField('Fecha', 'freiva');
     $edit->ereiva = new inputField('Emision', 'ereiva');
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     $edit->tipo_doc = new autoUpdateField('tipo_doc', 'T', 'T');
     $edit->buttons('save', 'back', 'add_rel', 'add');
     $edit->build();
     $conten['form'] =& $edit;
     $data['style'] = style('redmond/jquery-ui.css');
     $data['style'] .= style('gt_grid.css');
     $data['style'] .= style('impromptu.css');
     $data['script'] = script('jquery.js');
     $data['script'] .= script('jquery-ui.js');
     $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
     $data['script'] .= script('jquery-impromptu.js');
     $data['script'] .= script('plugins/jquery.blockUI.js');
     $data['script'] .= script('plugins/jquery.numeric.pack.js');
     $data['script'] .= phpscript('nformat.js');
     $data['script'] .= script('plugins/jquery.floatnumber.js');
     $data['script'] .= script('gt_msg_en.js');
     $data['script'] .= script('gt_grid_all.js');
     $data['content'] = $this->load->view('view_sfacman', $conten, true);
     $data['head'] = $this->rapyd->get_head();
     $data['title'] = heading($this->titp);
     $this->load->view('view_ventanas', $data);
 }
Example #14
0
 function despacho($numero = '')
 {
     $this->rapyd->load("datagrid2");
     $monto = $this->datasis->dameval("SELECT SUM(mdolar) FROM abonos WHERE numero='{$numero}'");
     $credito = $this->datasis->dameval("SELECT credito FROM pfac WHERE numero='{$numero}'");
     $mcredito = $monto * $credito / 100;
     $cdespachada = $this->datasis->dameval("SELECT SUM(mdolar)FROM itpfac WHERE numa='{$numero}'");
     $abonos = $this->datasis->dameval("SELECT SUM(dmonto)FROM itabonos WHERE numero ='{$numero}'");
     $total = $cdespachada - $abonos;
     $totald = $mcredito - $total;
     $grid = new DataGrid2("Control de Despacho del Pedido {$numero}");
     $select = array("mbolivar", "a.mdolar", "a.ultimdolar", "b.codigo", "a.codigoa", "a.desca", "a.cana", "a.despacha", "a.udespacha", "a.cdespacha", "a.fdespacha", "a.ultidespachado", "b.unidad", "b.dolar", "(a.cana - a.cdespacha)pordespacho");
     $grid->db->select($select);
     $grid->db->from("itpfac as a");
     $grid->db->join("sinv as b", "a.codigoa=b.codigo");
     $grid->db->where('a.numa', $numero);
     $grid->column("Codigo", "codigoa", "align='center'");
     $grid->column("Descripcion", "desca", "align='left'");
     $grid->column("Cant", "cana", "align='center'");
     $grid->column("Unidad", "unidad", "align='center'");
     $grid->column("Despachado", "cdespacha", "align='center'");
     $grid->column("Monto\$", "mdolar", "align='right'");
     //$grid->column("Ulti. Despacho","ultimdolar","align='right'");
     $grid->column("MontoBs", "mbolivar", "align='right'");
     $grid->column("Usuario", "udespacha", "align='center'");
     $grid->column("Fecha", "<dbdate_to_human><#fdespacha#></dbdate_to_human>", "align='center'");
     $grid->column("Ulti. Despacho", "ultidespachado", "align='center'");
     $grid->column("Por Despacho", "pordespacho", "align='center'");
     $grid->totalizar('cana', 'cdespacha', 'mdolar', 'mbolivar', 'pordespacho');
     //$grid->add("ventas/carpetas/dataedit/$numero/$ncuota/create");
     $grid->build();
     //Echo $grid->db->last_query();
     $data['content'] = '<pre><b style="color:#2067B5;">' . "Credito de {$credito}% por un monto de {$mcredito}\$" . '</b></pre>';
     $data['content'] .= '<pre><b style="color:#2067B5;">' . "Monto Despachado {$total}\$" . '</b></pre>';
     $data['content'] .= '<pre><b style="color:#FE0E0A;">' . "Credito Disponible para Despachar {$totald}\$" . '</b></pre>' . $grid->output;
     $data["head"] = script("jquery.pack.js") . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.floatnumber.js") . phpscript('nformat.js') . $this->rapyd->get_head();
     $data['title'] = $this->rapyd->get_head() . "<h1></h1>";
     $this->load->view('view_ventanas', $data);
 }
Example #15
0
 function dataedit()
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor');
     $boton = $this->datasis->modbus($modbus);
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'pond' => 'pond_<#i#>', 'ultimo' => 'ultimo_<#i#>', 'precio1' => 'costo_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Art&iacute;culo', 'where' => '`activo` = "S"', 'script' => array('post_modbus_sinv(<#i#>)'));
     $btn = $this->datasis->p_modbus($modbus, '<#i#>');
     $do = new DataObject("ordc");
     $do->rel_one_to_many('itordc', 'itordc', 'numero');
     $do->rel_pointer('itordc', 'sinv', 'itordc.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
     $edit = new DataDetails('Orden De Comnpra', $do);
     $edit->back_url = site_url('compras/ordcc/filteredgrid');
     $edit->set_rel_title('itordc', 'Producto <#o#>');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'required';
     $edit->fecha->mode = 'autohide';
     $edit->fecha->size = 10;
     $edit->numero = new inputField('N&uacute;mero', 'numero');
     $edit->numero->size = 10;
     $edit->numero->mode = 'autohide';
     $edit->numero->maxlength = 8;
     $edit->numero->apply_rules = false;
     //necesario cuando el campo es clave y no se pide al usuario
     $edit->numero->when = array('show', 'modify');
     $edit->peso = new inputField('Peso', 'peso');
     $edit->peso->css_class = 'inputnum';
     $edit->peso->readonly = true;
     $edit->peso->size = 10;
     $edit->proveed = new inputField('Proveedor', 'proveed');
     $edit->proveed->size = 6;
     $edit->proveed->maxlength = 5;
     $edit->proveed->append($boton);
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->size = 25;
     $edit->nombre->maxlength = 40;
     $edit->nombre->autocomplete = false;
     $edit->nombre->rule = 'required';
     $edit->status = new dropdownField('Estado', 'status');
     $edit->status->option('', '');
     $edit->status->option('CE', 'Cerrado');
     $edit->status->option('PE', 'Pendiente');
     $edit->status->option('BA', 'BackOrde');
     $edit->status->style = 'width:200px;';
     $edit->arribo = new DateonlyField('Arribo', 'arribo', 'd/m/Y');
     $edit->arribo->insertValue = date('Y-m-d');
     $edit->arribo->rule = 'required';
     $edit->arribo->mode = 'autohide';
     $edit->arribo->size = 10;
     $edit->fechafac = new DateonlyField('Fecha Factura', 'fechafac', 'd/m/Y');
     $edit->fechafac->insertValue = date('Y-m-d');
     $edit->fechafac->rule = 'required';
     $edit->fechafac->mode = 'autohide';
     $edit->fechafac->size = 10;
     //**************************
     //  Campos para el detalle
     //**************************
     $edit->codigo = new inputField('C&oacute;digo <#o#>', 'codigo_<#i#>');
     $edit->codigo->size = 12;
     $edit->codigo->db_name = 'codigo';
     $edit->codigo->readonly = true;
     $edit->codigo->rel_id = 'itordc';
     $edit->codigo->rule = 'required';
     $edit->codigo->append($btn);
     $edit->descrip = new inputField('Descripci&oacute;n <#o#>', 'descrip_<#i#>');
     $edit->descrip->size = 36;
     $edit->descrip->db_name = 'descrip';
     $edit->descrip->maxlength = 50;
     $edit->descrip->readonly = true;
     $edit->descrip->rel_id = 'itordc';
     $edit->cantidad = new inputField('Cantidad <#o#>', 'cantidad_<#i#>');
     $edit->cantidad->db_name = 'cantidad';
     $edit->cantidad->css_class = 'inputnum';
     $edit->cantidad->rel_id = 'itordc';
     $edit->cantidad->maxlength = 10;
     $edit->cantidad->size = 6;
     $edit->cantidad->rule = 'required|positive';
     $edit->cantidad->autocomplete = false;
     $edit->cantidad->onkeyup = 'importe(<#i#>)';
     $edit->costo = new inputField('Precio <#o#>', 'costo_<#i#>');
     $edit->costo->db_name = 'costo';
     $edit->costo->css_class = 'inputnum';
     $edit->costo->rel_id = 'itordc';
     $edit->costo->size = 10;
     $edit->costo->rule = 'required|positive';
     $edit->costo->readonly = true;
     $edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
     $edit->importe->db_name = 'importe';
     $edit->importe->size = 10;
     $edit->importe->css_class = 'inputnum';
     $edit->importe->rel_id = 'itordc';
     for ($i = 1; $i <= 4; $i++) {
         $obj = 'precio' . $i;
         $edit->{$obj} = new hiddenField('Precio <#o#>', $obj . '_<#i#>');
         $edit->{$obj}->db_name = 'sinv' . $obj;
         $edit->{$obj}->rel_id = 'itordc';
         $edit->{$obj}->pointer = true;
     }
     $edit->itiva = new hiddenField('', 'itiva_<#i#>');
     $edit->itiva->db_name = 'iva';
     $edit->itiva->rel_id = 'itordc';
     $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>');
     $edit->sinvpeso->db_name = 'sinvpeso';
     $edit->sinvpeso->rel_id = 'itordc';
     $edit->sinvpeso->pointer = true;
     $edit->ultimo = new hiddenField('', 'ultimo_<#i#>');
     $edit->ultimo->db_name = 'ultimo';
     $edit->ultimo->rel_id = 'itordc';
     $edit->ultimo->pointer = true;
     $edit->pond = new hiddenField('', "pond_<#i#>");
     $edit->pond->db_name = 'pond';
     $edit->pond->rel_id = 'itordc';
     $edit->pond->pointer = true;
     //**************************
     //fin de campos para detalle
     //**************************
     $edit->montoiva = new inputField('Impuesto', 'montoiva');
     $edit->montoiva->css_class = 'inputnum';
     $edit->montoiva->readonly = true;
     $edit->montoiva->size = 10;
     $edit->montotot = new inputField('Sub-Total', 'montotot');
     $edit->montotot->css_class = 'inputnum';
     $edit->montotot->readonly = true;
     $edit->montotot->size = 10;
     $edit->montonet = new inputField('Monto Total', 'montonet');
     $edit->montonet->css_class = 'inputnum';
     $edit->montonet->readonly = true;
     $edit->montonet->size = 10;
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $edit->buttons('modify', 'save', 'undo', 'delete', 'back', 'add_rel');
     $edit->build();
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('view_ordc', $conten, true);
     $data['title'] = heading('Orden de Compra');
     $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js');
     $this->load->view('view_ventanas', $data);
 }
Example #16
0
    function cmetas()
    {
        $this->rapyd->uri->keep_persistence();
        $this->rapyd->load('datagrid', 'fields');
        $error = $msj = '';
        if ($this->input->post('pros') !== false) {
            $pmargen = $this->input->post('pmargen');
            if (is_array($pmargen)) {
                $sum = array_sum($pmargen);
                if (round($sum, 2) == 100.0) {
                    foreach ($pmargen as $id => $pm) {
                        if (is_numeric($pm) && $pm >= 0) {
                            $this->db->where('id', $id);
                            $this->db->update('vend', array('pmargen' => $pm));
                        } else {
                            $error .= 'Valor no num&eacute;rico o negativo ' . $id;
                        }
                    }
                } else {
                    $error .= 'La suma de los valores debe dar exactamente 100';
                }
            } else {
                $error = 'No se puede procesar el requerimiento';
            }
        }
        $ggrid = form_open('/ventas/metas/cmetas');
        $grid = new DataGrid('Ajuste de distribuci&oacute;n de la meta');
        $grid->order_by('nombre');
        $select = array('vendedor', 'nombre', 'pmargen', 'id');
        $grid->db->select($select);
        $grid->db->from('vend AS a');
        $campo = new inputField('Campo', 'pmargen');
        $campo->grid_name = 'pmargen[<#id#>]';
        //$campo->pattern  ='';
        $campo->status = 'modify';
        $campo->size = 6;
        $campo->autocomplete = false;
        $campo->css_class = 'inputnum';
        $campo->disable_paste = true;
        $grid->column_orderby('Vendedor', 'vendedor', 'vendedor');
        $grid->column_orderby('Nombre', 'nombre', 'nombre');
        $grid->column('Margen %', $campo, 'align=\'center\'');
        $action = "javascript:window.location='" . site_url('ventas/metas/filteredgrid') . "'";
        $grid->button('btn_regresa', 'Regresar', $action, 'TR');
        $grid->submit('pros', 'Guardar', 'BR');
        $grid->build();
        $ggrid .= $grid->output;
        $ggrid .= form_close();
        $script = '<script language="javascript" type="text/javascript">
		$(function(){
			$(".inputnum").numeric(".");

			$(\'input[name^="pmargen"]\').focus(function() {
				obj  = $(this);
				vval = Number(obj.val());

				tota=0;
				$(\'input[name^="pmargen"]\').each(function (i) {
					tota+=Number(this.value);
				});
				val=roundNumber(100-(tota-vval),2);
				obj.val(val);
				obj.select();
			});
		});
		</script>';
        $data['content'] = '<div class="alert">' . $error . '</div>';
        $data['content'] .= '<div>' . $msj . '</div>';
        $data['content'] .= $ggrid;
        $data['title'] = heading('Cambio en las metas para vendedores');
        $data['script'] = $script;
        $data['script'] .= phpscript('nformat.js');
        $data['head'] = $this->rapyd->get_head() . script('jquery.pack.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $data['head'] .= style('estilos.css');
        $data['head'] .= phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Example #17
0
    function gserchipros($codbanc = null)
    {
        if (empty($codbanc)) {
            show_error('Faltan parametros');
        }
        $dbcodbanc = $this->db->escape($codbanc);
        $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc;
        $r = $this->datasis->damerow($mSQL);
        if ($r['cana'] == 0) {
            show_error('Caja sin gastos');
        }
        $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $nombre = $row->nombre;
            $codprv = $row->codprv;
        } else {
            $nombre = $codprv = '';
        }
        $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a';
        $query = $this->db->query($sql);
        $comis = array();
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $ind = '_' . $row->codbanc;
                $comis[$ind]['tbanco'] = $row->tbanco;
            }
        }
        $json_comis = json_encode($comis);
        $this->rapyd->load('dataform', 'datagrid');
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor', 'script' => array('post_modbus()'));
        $bsprv = $this->datasis->modbus($modbus);
        $script = 'var comis = ' . $json_comis . ';

		$(document).ready(function() {
			desactivacampo("");
			$("#codprv").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscasprv') . '",
						type: "POST",
						dataType: "json",
						data: "q="+req.term,
						success:
							function(data){
								var sugiere = [];
								if(data.length==0){
									$("#nombre").val("");
									$("#nombre_val").text("");
									$("#codprv").val("");
								}else{
									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#codprv").attr("readonly", "readonly");

					$("#nombre").val(ui.item.nombre);
					$("#nombre_val").text(ui.item.nombre);
					$("#codprv").val(ui.item.proveed);

					setTimeout(function(){ $("#codprv").removeAttr("readonly"); }, 1500);
				}
			});

		});

		function post_modbus(){
			nombre=$("#nombre").val();
			$("#nombre_val").text(nombre);
		}

		function desactivacampo(codb1){
			if(codb1.length>0 && codb1!="' . $this->mcred . '"){
				eval("tbanco=comis._"+codb1+".tbanco;"  );
				if(tbanco=="CAJ"){
					$("#cheque").attr("disabled","disabled");
					$("#benefi").attr("disabled","disabled");
				}else{
					$("#cheque").removeAttr("disabled");
					$("#benefi").removeAttr("disabled");
				}
			}else{
				$("#cheque").attr("disabled","disabled");
				$("#benefi").attr("disabled","disabled");
			}
		}';
        $form = new DataForm('finanzas/gser/gserchipros/' . $codbanc . '/process');
        $form->title("Numero de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b>');
        $form->script($script);
        $form->codprv = new inputField('Proveedor', 'codprv');
        $form->codprv->rule = 'required';
        $form->codprv->insertValue = $codprv;
        $form->codprv->size = 8;
        $form->codprv->append($bsprv);
        $form->nombre = new inputField('Nombre', 'nombre');
        $form->nombre->rule = 'required';
        $form->nombre->insertValue = $nombre;
        $form->nombre->in = 'codprv';
        $form->nombre->type = 'inputhidden';
        $form->cargo = new dropdownField('Con cargo a', 'cargo');
        $form->cargo->option($this->mcred, 'Credito');
        $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>'00' ORDER BY codbanc");
        $form->cargo->onchange = 'desactivacampo(this.value)';
        $form->cargo->rule = 'max_length[5]|required';
        $form->cheque = new inputField('Numero de cheque', 'cheque');
        $form->cheque->rule = 'condi_required|callback_chobligaban';
        $form->cheque->append('Aplica  solo si el cargo es a un banco');
        $form->benefi = new inputField('Beneficiario', 'benefi');
        $form->benefi->insertValue = $nombre;
        $form->benefi->rule = 'condi_required|callback_chobligaban';
        $form->benefi->append('Aplica  solo si el cargo es a un banco');
        $action = "javascript:window.location='" . site_url('finanzas/gser/cierregserchi/' . $codbanc) . "'";
        $form->button('btn_regresa', 'Regresar', $action, 'BR');
        $form->submit('btnsubmit', 'Procesar');
        $form->build_form();
        $grid = new DataGrid('Lista de Gastos', 'gserchi');
        $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc');
        $grid->db->select($select);
        $grid->db->where('aceptado', 'S');
        $grid->db->where('ngasto IS NULL');
        $grid->db->where('codbanc', $codbanc);
        $grid->order_by('numfac', 'desc');
        $grid->per_page = 15;
        $grid->column('Caja', 'codbanc');
        $grid->column('Numero', 'numfac');
        $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\'');
        $grid->column('Proveedor', 'proveedor');
        $grid->column('IVA', 'totiva', 'align=\'right\'');
        $grid->column('Monto', 'totneto', 'align=\'right\'');
        //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura');
        $grid->build();
        if ($form->on_success()) {
            $codprv = $form->codprv->newValue;
            $cargo = $form->cargo->newValue;
            $nombre = $form->nombre->newValue;
            $benefi = $form->benefi->newValue;
            $cheque = $form->cheque->newValue;
            $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque);
            //var_dump($rt);
            if ($rt) {
                redirect('finanzas/gser/listo/n');
            } else {
                redirect('finanzas/gser/listo/s');
            }
        }
        $data['content'] = $form->output . $grid->output;
        $data['title'] = heading('Reposicion de caja chica ' . $codbanc);
        $data['head'] = $this->rapyd->get_head() . script('jquery.js');
        $data['head'] .= script('jquery-ui.js');
        $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css');
        $data['head'] .= phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Example #18
0
    function auditoria($caja = NULL)
    {
        $this->rapyd->load('dataform');
        $url_submit = 'finanzas/caudi/auditoria/' . $caja . '/process';
        $sel = array('a.id', 'b.tipo', 'b.monto', 'a.estampa AS fecha', 'a.observa', 'a.uscaja');
        $this->db->select($sel);
        $this->db->from('caudi   AS a');
        $this->db->join('itcaudi AS b', 'b.id_caudi=a.id');
        $this->db->where('a.caja', $caja);
        $this->db->where('a.status', 'P');
        $qq = $this->db->get();
        $pmontos = array();
        if ($qq->num_rows() > 0) {
            foreach ($qq->result() as $chrow) {
                $pmontos[$chrow->tipo] = $chrow->monto;
            }
            $idcaudi = $chrow->id;
            $fecha = $chrow->fecha;
            $uobser = $chrow->observa;
            $uuscaj = $chrow->uscaja;
            $accion = 'modify';
        } else {
            $accion = 'create';
            $fecha = date('Y-m-d');
        }
        $form = new DataForm($url_submit);
        $attr = array('class' => 'ui-state-default ui-corner-all', 'onclick' => "javascript:window.location='" . site_url('finanzas/caudi/filteredgrid') . "'", 'value' => 'Regresar');
        //Inicio del efectivo
        $denomi = array();
        $c_efe = 0;
        $query = $this->db->query('SELECT a.tipo,a.denomina,b.cambiobs*a.denomina equivalencia,a.nombre FROM monebillet a JOIN mone b ON a.moneda=b.moneda ORDER BY a.tipo,a.moneda,a.denomina DESC');
        foreach ($query->result() as $i => $row) {
            $arr = array('EFE', 'cEFE');
            $nn = $arr[0];
            $denomi[$nn] = $row->denomina;
            $c_efe++;
            foreach ($arr as $o => $nobj) {
                $obj = $nobj . $i;
                $denomi[$obj] = $row->denomina;
                $form->{$obj} = new inputField($row->nombre, $obj);
                $form->{$obj}->group = $row->tipo == 'BI' ? 'Billetes' : 'Monedas';
                $form->{$obj}->size = 5 + 5 * $o;
                $form->{$obj}->style = 'text-align:right';
                $form->{$obj}->rule = 'numeric';
                $form->{$obj}->autocomplete = false;
                if ($o == 1) {
                    $form->{$obj}->in = $sobj;
                    $form->{$obj}->readonly = true;
                    $form->{$obj}->type = 'inputhidden';
                } else {
                    $form->{$obj}->css_class = 'cefectivo';
                }
                $sobj = $obj;
            }
        }
        $arr = array('OEFE' => 'Otras denominaciones');
        foreach ($arr as $obj => $titulo) {
            $form->{$obj} = new inputField($titulo, $obj);
            $form->{$obj}->style = 'text-align:right';
            $form->{$obj}->css_class = 'efectivo';
            $form->{$obj}->rule = 'numeric';
            $form->{$obj}->size = 10;
            $form->{$obj}->autocomplete = false;
            if (isset($pmontos['EF'])) {
                $form->{$obj}->insertValue = $pmontos['EF'];
            }
        }
        //Fin del efectivo
        //Inicio otras formas de pago
        $c_otrp = 0;
        $mSQL = 'SELECT a.tipo,a.nombre FROM tarjeta a WHERE a.tipo NOT IN (\'EF\',\'RP\',\'NC\',\'ND\', \'DE\',\'DP\',\'RI\',\'IR\',\'RP\') AND a.activo=\'S\'';
        $query = $this->db->query($mSQL);
        foreach ($query->result() as $i => $row) {
            $c_otrp++;
            $arr = array('cOTR');
            foreach ($arr as $o => $nobj) {
                $obj = $nobj . $row->tipo;
                $form->{$obj} = new inputField($row->nombre, $obj);
                $form->{$obj}->style = 'text-align:right';
                $form->{$obj}->size = 10;
                $form->{$obj}->rule = 'numeric';
                $form->{$obj}->autocomplete = false;
                if (isset($pmontos[$row->tipo])) {
                    $form->{$obj}->insertValue = $pmontos[$row->tipo];
                }
            }
        }
        //Fin otras formas de pago
        //Inicio tabla Resumen
        $arr = array('TOTR' => 'Total de otras formas de pago', 'TEFE' => 'Total Efectivo', 'TGLOB' => 'Total Global');
        foreach ($arr as $obj => $titulo) {
            $form->{$obj} = new inputField($titulo, $obj);
            $form->{$obj}->style = 'text-align:right';
            $form->{$obj}->css_class = 'efectivo';
            $form->{$obj}->rule = 'numeric';
            $form->{$obj}->readonly = true;
            $form->{$obj}->size = 10;
            $form->{$obj}->autocomplete = false;
            $form->{$obj}->type = 'inputhidden';
        }
        //$form->$obj->type='';
        //$form->$obj->readonly=false;
        //$form->$obj->insertValue='';
        //fin Resumen
        $form->uscaja = new dropdownField('Responsable', 'uscaja');
        $form->uscaja->rule = 'required';
        $form->uscaja->style = 'width:200px';
        $form->uscaja->option('', 'Seleccionar');
        $form->uscaja->options("SELECT us_codigo,us_nombre FROM usuario ORDER BY us_nombre");
        if (isset($uuscaj)) {
            $form->uscaja->insertValue = $uuscaj;
        }
        $form->observa = new textareaField('Observaci&oacute;n', 'observa');
        $form->observa->cols = 20;
        $form->observa->rows = 4;
        if (isset($uobser)) {
            $form->observa->insertValue = $uobser;
        }
        $form->submit('btnsubmit', 'Cerrar cajero');
        $form->build_form();
        $this->rapyd->jquery[] = 'var denomi=' . json_encode($denomi) . ';';
        $this->rapyd->jquery[] = '$(":input").not("#observa").numeric(".");';
        $this->rapyd->jquery[] = '$(\'input[name^="cEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="cOTR"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="FEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="OEFE"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$("#df1").submit(function() { return confirm("Estas seguro de que desea guardar el arqueo?"); })';
        $this->rapyd->jquery[] = '$(".cefectivo").bind("keyup",
			function() {
				obj=this.name;
				mul=eval("denomi."+obj);
				valor=$(this).val();
				val=mul*valor;
				$("#c"+obj).val(roundNumber(val,2));
				$("#c"+obj+"_val").text(nformat(val,2));
				gtotal();
			});';
        $this->rapyd->jquery[] = 'function gtotal(){
			TEFE=TOTR=0;
			$(\'input[name^="cEFE"]\').each(function(i,e){
				if($(this).val().length>0)    TEFE = TEFE+parseFloat($(this).val());
			});
			$(\'input[name^="cOTR"]\').each(function(i,e){
				if($(this).val().length>0)
					TOTR = TOTR+parseFloat($(this).val());
			});
			if($("#OEFE").val().length>0) TEFE=TEFE+parseFloat($("#OEFE").val());

			$("#TEFE").val(roundNumber(TEFE,2));
			$("#TOTR").val(roundNumber(TOTR,2));
			$("#TGLOB").val(roundNumber(TOTR+TEFE,2));

			$("#TEFE_val").text(nformat(TEFE,2));
			$("#TOTR_val").text(nformat(TOTR,2));
			$("#TGLOB_val").text(nformat(TOTR+TEFE,2));
		}';
        $this->rapyd->jquery[] = '$("input[name^=\'cOT\']").not("input[id$=\'IR\']").not("input[id$=\'RI\']").not("input[id$=\'RP\']").calculator( {showOn: "button",useThemeRoller:true,onClose: function(value, inst) { gtotal(); }, onClose: function(value, inst) { gtotal(); }} );';
        $this->rapyd->jquery[] = 'gtotal();';
        //hace el arqueo
        if ($form->on_success()) {
            $dbfecha = $this->db->escape($fecha);
            $dbcaja = $this->db->escape($caja);
            $usuario = $this->secu->usuario();
            $transac = $this->datasis->fprox_numero('ntransa');
            $estampa = date('Y-m-d');
            $hora = date('H:i:s');
            $saldo = $this->datasis->dameval("SELECT saldo FROM banc WHERE codbanc={$dbcaja}");
            $observa = $form->observa->newValue;
            $uscaja = $form->uscaja->newValue;
            $mSQL = "SELECT c.tipo, 0 AS monto FROM tarjeta AS c WHERE activo='S'";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $rrecibido = 0;
                $itcaudi = array();
                foreach ($query->result() as $row) {
                    if ($row->tipo == 'EF') {
                        $nobj = 'TEFE';
                    } else {
                        $nobj = 'cOTR' . $row->tipo;
                    }
                    $monto = isset($form->{$nobj}) ? empty($form->{$nobj}->newValue) ? 0.0 : floatval($form->{$nobj}->newValue) : 0.0;
                    if ($monto > 0) {
                        $arr = array('caja' => $caja, 'tipo' => $row->tipo, 'monto' => $monto, 'estampa' => $estampa);
                        $rrecibido += $monto;
                        $itcaudi[] = $arr;
                    }
                }
                if ($accion == 'create') {
                    $arr = array('caja' => $caja, 'uscaja' => '', 'status' => 'P', 'saldo' => $saldo, 'monto' => $rrecibido, 'diferencia' => $saldo - $rrecibido, 'observa' => '', 'transac' => $transac, 'estampa' => $estampa, 'hora' => $hora, 'usuario' => $usuario, 'observa' => $observa, 'uscaja ' => $uscaja);
                    $mSQL = $this->db->insert_string('caudi', $arr);
                    $this->db->simple_query($mSQL);
                    $id_caudi = $this->db->insert_id();
                } else {
                    $id_caudi = $idcaudi;
                    $dbobserva = $this->db->escape($observa);
                    $dbuscaja = $this->db->escape($uscaja);
                    $mSQL = "UPDATE caudi SET\n\t\t\t\t\t\tmonto={$rrecibido},\n\t\t\t\t\t\tdiferencia=saldo-{$rrecibido},\n\t\t\t\t\t\tobserva = {$dbobserva},\n\t\t\t\t\t\tuscaja  = {$dbuscaja}\n\t\t\t\t\t\tWHERE id={$id_caudi}";
                    $this->db->simple_query($mSQL);
                    $mSQL = "DELETE FROM itcaudi WHERE id_caudi={$id_caudi}";
                    $this->db->simple_query($mSQL);
                }
                foreach ($itcaudi as $rrow) {
                    $rrow['id_caudi'] = $id_caudi;
                    $mSQL = $this->db->insert_string('itcaudi', $rrow);
                    $this->db->simple_query($mSQL);
                }
            }
            if ($accion = 'create') {
                logusu('arqueo', "Arqueo de la caja {$caja} realizado, monto {$rrecibido}");
            } else {
                logusu('arqueo', "Arqueo de la caja {$caja} modificado, monto {$rrecibido}");
            }
            redirect('finanzas/caudi/filteredgrid/search');
        }
        $cont['efeadic'] = 1;
        $cont['form'] =& $form;
        $cont['c_efe'] = $c_efe * 2;
        $cont['c_otrp'] = $c_otrp;
        $cont['regresa'] = form_button($attr, 'Regresar');
        $data['content'] = $this->load->view('view_rcaj', $cont, true);
        $data['title'] = '<h1>Arqueo de caja ' . $caja . ' Fecha ' . dbdate_to_human($fecha) . '</h1>';
        $data['head'] = $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $data['head'] .= style('jquery.calculator.css');
        $data['head'] .= script('plugins/jquery.calculator.min.js');
        $data['head'] .= script('plugins/jquery.calculator-es.js');
        $this->load->view('view_ventanas', $data);
    }
Example #19
0
    function dataedit($cliente)
    {
        if (!$this->_exitescli($cliente)) {
            redirect($this->url . 'filterscli');
        }
        $this->rapyd->load('dataobject', 'dataedit');
        $this->rapyd->uri->keep_persistence();
        $this->load->helper('form');
        $do = new DataObject('pfac');
        $do->rel_one_to_many('itpfac', 'itpfac', array('numero' => 'numa'));
        $do->pointer('scli', 'scli.cliente=pfac.cod_cli', 'scli.tipo AS sclitipo', 'left');
        $do->rel_pointer('itpfac', 'sinv', 'itpfac.codigoa=sinv.codigo', 'sinv.descrip AS sinvdescrip,
			sinv.iva AS sinviva,
			sinv.pond AS sinvpond,
			sinv.mmargen AS sinvmmargen,
			sinv.ultimo sinvultimo,sinv.formcal AS sinvformcal,
			sinv.pm AS sinvpm,
			sinv.existen AS pexisten,
			sinv.marca AS pmarca,
			sinv.descrip AS pdesca,
			sinv.escala1  AS sinvescala1,
			sinv.pescala1 AS sinvpescala1,
			sinv.escala2  AS sinvescala2,
			sinv.pescala2 AS sinvpescala2,
			sinv.escala3  AS sinvescala3,
			sinv.pescala3 AS sinvpescala3');
        $do->order_by('itpfac', 'sinv.marca', ' ');
        $do->order_by('itpfac', 'sinv.descrip', ' ');
        $edit = new DataEdit('Pedidos', $do);
        $edit->back_url = site_url('ventas/pfaclitemayor/filteredgrid');
        //$edit->set_rel_title('itpfac', 'Producto <#o#>');
        $edit->pre_process('insert', '_pre_insert');
        $edit->pre_process('update', '_pre_update');
        $edit->pre_process('delete', '_pre_delete');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->fecha = new inputField('Fecha', 'fecha');
        $edit->fecha->insertValue = date('Y-m-d');
        //$edit->fecha->rule = 'required';
        $edit->fecha->mode = 'autohide';
        $edit->fecha->size = 10;
        $usr = $this->session->userdata('usuario');
        $vd = $this->datasis->dameval("SELECT vendedor FROM usuario WHERE us_codigo='{$usr}'");
        $edit->vd = new hiddenField('Vendedor', 'vd');
        $edit->vd->value = $vd;
        $edit->mmargen = new inputField('mmargen', 'mmargen');
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->size = 10;
        $edit->numero->mode = 'autohide';
        $edit->numero->maxlength = 8;
        $edit->numero->apply_rules = false;
        //necesario cuando el campo es clave y no se pide al usuario
        $edit->numero->when = array('show', 'modify');
        $edit->cliente = new hiddenField('Cliente', 'cod_cli');
        $edit->cliente->insertValue = $cliente;
        //$edit->cliente->options("SELECT cliente, nombre FROM scli WHERE vendedor='$vd' LIMIT 5");
        $edit->rifci = new inputField('RIF/CI', 'rifci');
        $edit->rifci->autocomplete = false;
        $edit->rifci->size = 15;
        $edit->rifci->type = 'inputhidden';
        $edit->direc = new inputField('Direcci&oacute;n', 'direc');
        $edit->direc->size = 40;
        $edit->direc->type = 'inputhidden';
        $edit->observa = new inputField('Observaciones', 'observa');
        $edit->observa->size = 25;
        $edit->observ1 = new inputField('Observaciones', 'observ1');
        $edit->observ1->size = 25;
        //Descuento por grupo y cliente
        $sel = array('a.mmargen', 'b.margen');
        $this->db->select($sel);
        $this->db->from('scli AS a');
        $this->db->join('zona AS b', 'a.zona=b.codigo', 'left');
        $this->db->where('a.cliente', $cliente);
        $qdes = $this->db->get();
        if ($qdes->num_rows() > 0) {
            $rdes = $qdes->row();
        } else {
            $rdes = new stdClass();
            $rdes->mmargen = 0;
            $rdes->margen = 0;
        }
        // Campos para el detalle
        $i = 0;
        $sel = array('a.codigo', 'a.descrip', 'a.existen', 'a.marca', 'a.iva', 'e.sinv_id', 'ROUND(IF(formcal="U",ultimo,IF(formcal="P",pond,GREATEST(ultimo,pond)))*(100+a.mmargen)/100,2) AS precio', 'IF(formcal="U",ultimo,IF(formcal="P",pond,GREATEST(ultimo,pond))) AS costo', 'a.mmargen', 'a.mmargenplus', 'c.margen AS DM', 'd.margen AS DG', 'a.escala1', 'a.pescala1', 'a.escala2', 'a.pescala2', 'a.escala3', 'a.pescala3');
        $this->db->distinct();
        $this->db->select($sel);
        $this->db->from('sinv AS a');
        $this->db->join('sinvfot AS e', 'a.id=e.sinv_id', 'left');
        $this->db->where('a.activo', 'S');
        $this->db->where('a.tipo', 'Articulo');
        $this->db->orderby('a.marca');
        $this->db->orderby('a.descrip');
        $numero = $edit->get_from_dataobjetct('numero');
        if ($numero !== false) {
            $dbnumero = $this->db->escape($numero);
            $this->db->join('itpfac AS b', 'a.codigo=b.codigoa AND b.numa=' . $dbnumero);
        }
        $this->db->join('marc AS c', 'a.marca=c.marca');
        $this->db->join('grup AS d', 'a.grupo=d.grupo');
        $renglones = $this->datasis->traevalor('PFACMAYRENGLONES', 'Limites de renglones en el pedido al mayor');
        if (empty($renglones)) {
            $renglones = 300;
        }
        $this->db->limit($renglones);
        $query = $this->db->get();
        foreach ($query->result() as $row) {
            $obj = 'codigoa_' . $i;
            $edit->{$obj} = new hiddenField('C&oacute;digo <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->size = 12;
            $edit->{$obj}->db_name = 'codigoa';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->rule = 'callback_chcodigoa';
            $edit->{$obj}->insertValue = $row->codigo;
            $obj = 'desca_' . $i;
            $desca = ucfirst(strtolower($row->descrip));
            if (!empty($row->sinv_id)) {
                $urldir = $this->config->slash_item('base_url') . 'images/foto.gif';
                $desca .= ' <img src="' . $urldir . '" onclick="verimage(\'' . $row->sinv_id . '\')">';
            }
            $edit->{$obj} = new freeField($obj, $obj, $desca);
            $edit->{$obj}->ind = $i;
            $obj = 'pexisten_' . $i;
            $edit->{$obj} = new freeField($obj, $obj, $row->existen);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->pointer = true;
            $obj = 'cana_' . $i;
            $edit->{$obj} = new inputField('Cantidad <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'cana';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->maxlength = 10;
            $edit->{$obj}->size = 5;
            $edit->{$obj}->autocomplete = false;
            $edit->{$obj}->style = "height:25px;font-size:14";
            $edit->{$obj}->onkeyup = "cescala('{$i}')";
            $edit->{$obj}->rule = "callback_chescala[{$i}]";
            $obj = 'pmarca_' . $i;
            $edit->{$obj} = new inputField('', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'pmarca';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->pointer = true;
            $edit->{$obj}->insertValue = $row->marca;
            $obj = 'preca_' . $i;
            $edit->{$obj} = new inputField('Precio <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'preca';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->type = 'inputhidden';
            $edit->{$obj}->insertValue = $row->precio;
            $edit->{$obj}->rule = 'positive|callback_chpreca[<#i#>]';
            $obj = 'itiva_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'iva';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->insertValue = $row->iva;
            $obj = 'dxapli_' . $i;
            $edit->{$obj} = new autoUpdateField('dxapli', '0', '0');
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->ind = $i;
            $obj = 'dxm_' . $i;
            if ($row->DM > 0) {
                $edit->{$obj} = new checkboxField('dxm', $obj, $row->DM, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxm', '0', '0');
            }
            $edit->{$obj}->db_name = 'dxm';
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->rel_id = 'itpfac';
            $obj = 'dxg_' . $i;
            if ($row->DG > 0) {
                $edit->{$obj} = new checkboxField('dxg', $obj, $row->DG, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxg', '0', '0');
            }
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'dxg';
            $edit->{$obj}->rel_id = 'itpfac';
            $obj = 'dxz_' . $i;
            if ($rdes->margen > 0) {
                $edit->{$obj} = new checkboxField('dxz', $obj, $rdes->margen, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxz', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxz';
            $edit->{$obj}->ind = $i;
            $obj = 'dxc_' . $i;
            if ($rdes->mmargen > 0) {
                $edit->{$obj} = new checkboxField('dxe', $obj, $rdes->mmargen, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxe', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxc';
            $edit->{$obj}->ind = $i;
            $obj = 'dxp_' . $i;
            if ($row->mmargenplus > 0) {
                $edit->{$obj} = new checkboxField('dxp', $obj, $row->mmargenplus, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxp', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxp';
            $edit->{$obj}->ind = $i;
            $p_es = 0;
            for ($u = 1; $u < 4; $u++) {
                $nom = "escala{$u}";
                $obj = "{$nom}_{$i}";
                $edit->{$obj} = new hiddenField('', $obj);
                $edit->{$obj}->insertValue = $row->{$nom};
                $edit->{$obj}->rel_id = 'itpfac';
                $edit->{$obj}->db_name = 'sinv' . $nom;
                $edit->{$obj}->ind = $i;
                $edit->{$obj}->pointer = true;
                $nom = "pescala{$u}";
                $obj = "{$nom}_{$i}";
                $edit->{$obj} = new hiddenField('', $obj);
                $edit->{$obj}->insertValue = $row->{$nom};
                $edit->{$obj}->rel_id = 'itpfac';
                $edit->{$obj}->db_name = 'sinv' . $nom;
                $edit->{$obj}->ind = $i;
                $edit->{$obj}->pointer = true;
                $p_es += $row->{$nom};
            }
            $gdxe = $edit->get_from_dataobjetct_rel('itpfac', 'dxe', $i);
            $obj = 'dxe_' . $i;
            if ($p_es > 0) {
                $gdxe = $edit->get_from_dataobjetct_rel('itpfac', 'dxe', $i);
                $edit->{$obj} = new checkboxField('dxe', $obj, $gdxe == false ? '0' : $gdxe, '0');
                $edit->{$obj}->onchange = "cescala('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxp', '0', '0');
            }
            //$edit->$obj->insertValue = 0;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxe';
            $edit->{$obj}->ind = $i;
            $obj = 'sinvmmargen_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = $row->mmargen;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'sinvmmargen';
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->pointer = true;
            $obj = 'costo_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = $row->costo;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'costo';
            $edit->{$obj}->ind = $i;
            $obj = 'tota_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = 0;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'tota';
            $edit->{$obj}->ind = $i;
            $i++;
        }
        $sinvcana = $i;
        // fin de campos para detalle
        $edit->ivat = new inputField('Impuesto', 'iva');
        $edit->ivat->css_class = 'inputnum';
        $edit->ivat->type = 'inputhidden';
        $edit->ivat->readonly = true;
        $edit->ivat->size = 10;
        $edit->totals = new inputField('Sub-Total', 'totals');
        $edit->totals->css_class = 'inputnum';
        $edit->totals->type = 'inputhidden';
        $edit->totals->readonly = true;
        $edit->totals->size = 10;
        $edit->totalg = new inputField('Monto Total', 'totalg');
        $edit->totalg->css_class = 'inputnum';
        $edit->totalg->type = 'inputhidden';
        $edit->totalg->readonly = true;
        $edit->totalg->size = 10;
        $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
        $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
        $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario());
        $control = $this->rapyd->uri->get_edited_id();
        if ($edit->getstatus() == 'show') {
            $action = "javascript:window.location='" . site_url($this->url . 'filterscli') . "'";
            $edit->button('btn_add', 'Agregar', $action, 'TR');
        }
        $edit->buttons('save', 'undo', 'modify', 'delete', 'back');
        if ($this->genesal) {
            $edit->build();
            $conten['cana'] = $sinvcana;
            $conten['form'] =& $edit;
            $conten['title'] = heading('Pedidos No. ' . $edit->numero->value);
            $data['head'] = style('mayor/estilo.css');
            $data['script'] = script('jquery.js');
            $data['script'] .= phpscript('nformat.js');
            $data['content'] = $this->load->view('view_pfaclitemayor', $conten, true);
            $data['title'] = '';
            $this->load->view('view_ventanas_lite', $data);
        } else {
            $edit->on_save_redirect = false;
            $edit->build();
            if ($edit->on_success()) {
                echo 'Pedido Guardado';
            } elseif ($edit->on_error()) {
                echo html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
            }
        }
    }
Example #20
0
 function ejecutor()
 {
     $fcorte = func_get_args();
     $fdesde = array_shift($fcorte);
     $fhasta = $fcorte[count($fcorte) - 1];
     $query = $this->db->query("SELECT b.nombre AS grupo,a.unidad,a.descrip,a.indicador,a.puntos,a.objetivo,a.ejecuta\n\t\tFROM gestion_indicador AS a\n\t\tJOIN gestion_grupo AS b ON a.id_gestion_grupo=b.id\n\t\tWHERE a.puntos > 0 AND a.activo='S'\n\t\tORDER BY b.nombre");
     $content = '<table  width=100%>';
     $content .= '<col>';
     $content .= '<col>';
     $content .= '<col>';
     foreach ($fcorte as $id => $corte) {
         $v = $id % 2 + 1;
         $content .= '<col class="colbg' . $v . '">';
         $content .= '<col class="colbg' . $v . '">';
         $content .= '<col class="colbg' . $v . '">';
     }
     $content .= '<thead><tr><th rowspan=2 >Concepto</th><th rowspan=2>Puntos</th><th rowspan=2>Objetivo</th>';
     foreach ($fcorte as $corte) {
         $content .= '<td colspan="3" align="center">Corte ' . dbdate_to_human($corte) . '</td>';
     }
     $content .= '<th rowspan=2 >Medida</th></tr>';
     $content .= '<tr>';
     foreach ($fcorte as $corte) {
         $content .= '<td align="center">Objetivo logrado</td>';
         $content .= '<td align="center">% Logrado</td>';
         $content .= '<td align="center">Puntos Ganados</td>';
     }
     $content .= '</tr></thead>';
     $grupo = '';
     $pinta = true;
     $puntos_porce = 0;
     $puntos_total = array();
     foreach ($query->result() as $__row) {
         $resul = $this->_resultado($fdesde, $fcorte, $__row->ejecuta);
         $objetivo = $__row->objetivo;
         $unidad = $__row->unidad;
         $puntos = $__row->puntos;
         $ccana = count($resul);
         if ($grupo != $__row->grupo) {
             $grupo = $__row->grupo;
             $cspan = $ccana * 3 + 4;
             $content .= '<tr class=\'rowgroup\' style=\'background-color:#FFAD28;\'><td colspan=' . $cspan . '>' . $__row->grupo . '</td></tr>';
         }
         $puntos_porce += $puntos;
         $content .= '<tr ';
         $content .= $pinta ? 'class="odd"' : '';
         $pinta = !$pinta;
         $content .= '>';
         $content .= '<td><p class=\'miniblanco\'>' . $__row->descrip . '</p>' . $__row->indicador . '</td>';
         $content .= '<td align="center">' . $puntos . '</td>';
         $content .= '<td align="right">' . htmlnformat($objetivo) . ' ' . $unidad . '</td>';
         foreach ($resul as $pos => $val) {
             if (!is_array($val)) {
                 $pp = $val * 100 / $objetivo;
                 $acumulado = ceil($this->_escalas($pp) * $puntos);
                 $content .= '<td align="right">' . htmlnformat($val) . ' ' . $unidad . '</td>';
                 $content .= '<td align="right">' . htmlnformat($pp) . '%</td>';
                 $content .= '<td align="right">' . $acumulado . '</td>';
                 if (!isset($puntos_total[$pos])) {
                     $puntos_total[$pos] = 0;
                 }
                 $puntos_total[$pos] += $acumulado;
                 if ($pos == $ccana - 1) {
                     $content .= '<td align="center">' . img($this->url . 'gauge/' . round($pp, 1)) . '</td>';
                 }
             } else {
                 foreach ($val as $detalle) {
                 }
             }
         }
         $content .= '</tr>';
     }
     $content .= '<tr style="font-size: 28pt;background-color:#5846FF;">';
     $content .= '<td><b>Totales</b></td>';
     $content .= '<td align="center">' . $puntos_porce . '</td>';
     $content .= '<td></td>';
     for ($i = 0; $i < $ccana; $i++) {
         $content .= '<td colspan=2></td>';
         $content .= '<td align="right">' . $puntos_total[$i] . '</td>';
     }
     $content .= '<td align="center">' . img($this->url . 'gauge/' . round($puntos_total[$i - 1], 1)) . '</td>';
     $content .= '</table>';
     $content .= '</tr>';
     $content .= anchor($this->url . 'cdatos', 'Regresar');
     $data['head'] = style('mayor/estilo.css');
     $data['script'] = script('jquery.js');
     $data['script'] .= phpscript('nformat.js');
     $data['content'] = $content;
     $data['title'] = '<h1>Indicadores de Gesti&oacute;n desde el ' . dbdate_to_human($fdesde) . ' hasta el ' . dbdate_to_human($fhasta) . '</h1>';
     $this->load->view('view_ventanas_lite', $data);
 }
Example #21
0
 function dataedit()
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $tipo_rete = $this->datasis->traevalor('CONTRIBUYENTE');
     $rif = $this->datasis->traevalor('RIF');
     $fields = $this->db->field_data('gser');
     $url_pk = $this->uri->segment_array();
     $coun = 0;
     $pk = array();
     foreach ($fields as $field) {
         if ($field->primary_key == 1) {
             $coun++;
             $pk[] = $field->name;
         }
     }
     $values = array_slice($url_pk, -$coun);
     $claves = array_combine(array_reverse($pk), $values);
     //print_r($claves);
     $query = "UPDATE gitser AS a\n\t\t\tJOIN gser AS b on a.numero=b.numero and a.fecha = b.fecha and a.proveed = b.proveed\n\t\t\tSET a.idgser=b.id\n\t\t\tWHERE a.id=" . $claves['id'] . " ";
     $this->db->simple_query($query);
     /*$modbus=array(
     			'tabla'   => 'mgas',
     			'columnas'=> array(
     			'codigo'  => 'C&oacute;digo',
     			'descrip' => 'descrip'),
     			'filtro'  => array('codigo' =>'C&oacute;digo','descrip'=>'descrip'),
     			'retornar'=> array('codigo'=>'codigo_<#i#>','descrip'=>'descrip_<#i#>'),
     			'p_uri'   => array(4=>'<#i#>'),
     			'titulo'  => 'Buscar Articulo',
     			'script'  => array('lleva(<#i#>)'));
     		$btn=$this->datasis->p_modbus($modbus,'<#i#>');*/
     $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'rif' => 'Rif'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre', 'tipo' => 'sprvtipo', 'reteiva' => 'sprvreteiva'), 'script' => array('totalizar()'), 'titulo' => 'Buscar Proveedor');
     $bSPRV = $this->datasis->modbus($mSPRV);
     $do = new DataObject('gser');
     $do->pointer('sprv', 'sprv.proveed=gser.proveed', 'sprv.tipo AS sprvtipo, sprv.reteiva AS sprvreteiva', 'left');
     $do->rel_one_to_many('gitser', 'gitser', array('id' => 'idgser'));
     $do->rel_one_to_many('gereten', 'gereten', array('id' => 'idd'));
     //$do->rel_pointer('rete','rete','gereten.codigorete=rete.codigo','rete.pama1 AS retepama1');
     $edit = new DataDetails("Gastos", $do);
     if ($edit->_status == 'show') {
         $edit->back_url = site_url("finanzas/gsercol/filteredgrid");
     } else {
         $edit->back_url = site_url("finanzas/gsercol/agregar");
     }
     $edit->set_rel_title('gitser', 'Gasto <#o#>');
     //$edit->script($script,'create');
     //$edit->script($script,'modify');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->tipo_doc = new dropdownField("Tipo Documento", "tipo_doc");
     $edit->tipo_doc->style = "width:100px";
     $edit->tipo_doc->option('FC', "Factura");
     $edit->tipo_doc->option('ND', "Nota Debito");
     $edit->tipo_doc->option('AD', "Amortizaci&oacute;n");
     $edit->tipo_doc->option('GA', "Gasto");
     //$edit->tipo_doc->option('GA',"Gasto de N&oacute;mina");
     $edit->ffactura = new DateonlyField("Fecha Documento", "ffactura", "d/m/Y");
     $edit->ffactura->insertValue = date("Y-m-d");
     $edit->ffactura->size = 10;
     $edit->ffactura->rule = 'required';
     //$edit->ffactura->insertValue = date("Y-m-d");
     $edit->fecha = new DateonlyField('Fecha Registro', 'fecha');
     $edit->fecha->insertValue = date("Y-m-d");
     $edit->fecha->size = 10;
     $edit->fecha->rule = 'required';
     $edit->vence = new DateonlyField("Fecha Vencimiento", "vence", "d/m/Y");
     $edit->vence->insertValue = date("Y-m-d");
     $edit->vence->size = 10;
     //$edit->vence->insertValue = date("Y-m-d");
     $edit->compra = new inputField('Doc.Asociado', 'compra');
     $edit->compra->rule = 'max_length[8]';
     $edit->compra->size = 10;
     $edit->compra->maxlength = 8;
     $edit->numero = new inputField("N&uacute;mero", "numero");
     $edit->numero->size = 10;
     $edit->numero->maxlength = 8;
     $edit->numero->autocomplete = false;
     $edit->numero->rule = 'required';
     $edit->proveed = new inputField("Proveedor", "proveed");
     $edit->proveed->size = 6;
     $edit->proveed->maxlength = 5;
     $edit->proveed->append($bSPRV);
     $edit->proveed->rule = "required";
     $edit->nfiscal = new inputField("Control Fiscal", "nfiscal");
     $edit->nfiscal->size = 10;
     $edit->nfiscal->autocomplete = false;
     $edit->nfiscal->maxlength = 20;
     $edit->nombre = new inputField("Nombre", "nombre");
     $edit->nombre->size = 30;
     $edit->nombre->maxlength = 40;
     $edit->nombre->rule = "required";
     $edit->sprvtipo = new hiddenField('', 'sprvtipo');
     $edit->sprvtipo->db_name = 'sclitipo';
     $edit->sprvtipo->pointer = true;
     $edit->sprvreteiva = new hiddenField('', 'sprvreteiva');
     $edit->sprvreteiva->db_name = 'sprvreteiva';
     $edit->sprvreteiva->insertValue = $tipo_rete == 'ESPECIAL' && strtoupper($rif[0]) != 'V' ? '50' : '0';
     $edit->sprvreteiva->pointer = true;
     $edit->totpre = new inputField("Sub.Total", "totpre");
     $edit->totpre->size = 10;
     $edit->totpre->css_class = 'inputnum';
     $edit->totpre->readonly = true;
     $edit->totpre->showformat = 'decimal';
     $edit->totbruto = new inputField("Total", "totbruto");
     $edit->totbruto->size = 10;
     $edit->totbruto->css_class = 'inputnum';
     $edit->totbruto->onkeyup = "valida(0)";
     $edit->totbruto->showformat = 'decimal';
     $edit->totiva = new inputField("Total IVA", "totiva");
     $edit->totiva->css_class = 'inputnum';
     $edit->totiva->size = 10;
     $edit->totiva->showformat = 'decimal';
     $edit->reteica = new inputField('Ret. ICA', 'reteica');
     $edit->reteica->css_class = 'inputnum';
     $edit->reteica->when = array('show');
     $edit->reteica->size = 10;
     $edit->reteica->showformat = 'decimal';
     $edit->retesimple = new inputField('Ret', 'retesimple');
     $edit->retesimple->css_class = 'inputnum';
     $edit->retesimple->when = array('show');
     $edit->retesimple->size = 10;
     $edit->retesimple->showformat = 'decimal';
     $edit->codb1 = new dropdownField('Caja/Banco', 'codb1');
     $edit->codb1->option('', '');
     $edit->codb1->options("SELECT TRIM(codbanc) AS ind, CONCAT_WS('-',codbanc,banco) AS label FROM banc ORDER BY codbanc");
     $edit->codb1->rule = 'max_length[5]|callback_chcodb|condi_required';
     $edit->codb1->style = 'width:120px';
     $edit->codb1->onchange = "esbancaja(this.value)";
     $edit->tipo1 = new dropdownField("Cheque/ND", "tipo1");
     $edit->tipo1->option('', 'Ninguno');
     $edit->tipo1->option('C', 'Cheque');
     $edit->tipo1->option('D', 'D&eacute;bito');
     $edit->tipo1->rule = 'condi_required|callback_chtipoe';
     $edit->tipo1->style = "width:100px";
     $edit->cheque1 = new inputField('N&uacute;mero', "cheque1");
     $edit->cheque1->rule = 'condi_required|callback_chobliganumerog';
     $edit->cheque1->size = 12;
     $edit->cheque1->maxlength = 20;
     $edit->benefi = new inputField("Beneficiario", "benefi");
     $edit->benefi->size = 39;
     $edit->benefi->maxlength = 40;
     $edit->monto1 = new inputField("Contado", "monto1");
     $edit->monto1->size = 10;
     $edit->monto1->css_class = 'inputnum';
     $edit->monto1->onkeyup = "contado()";
     $edit->monto1->rule = 'condi_required|callback_chmontocontado|positive';
     $edit->monto1->autocomplete = false;
     $edit->monto1->showformat = 'decimal';
     $edit->credito = new inputField("Cr&eacute;dito", "credito");
     $edit->credito->size = 10;
     $edit->credito->showformat = 'decimal';
     $edit->credito->css_class = 'inputnum';
     $edit->credito->onkeyup = "ccredito()";
     $edit->credito->autocomplete = false;
     /*$edit->creten = new inputField("C&oacute;digo de la retencion","creten");
     		$edit->creten->size = 10;
     		$edit->creten->maxlength=10;
     		$edit->creten->append($bRETE);*/
     /*$edit->breten = new inputField("Base de la retenci&oacute;n","breten");
     		$edit->breten->size = 10;
     		$edit->breten->maxlength=10;
     		$edit->breten->css_class='inputnum';
     		$edit->breten->onkeyup="valida(0)";*/
     $edit->reten = new inputField("Monto de la retenci&oacute;n", "reten");
     $edit->reten->size = 10;
     $edit->reten->maxlength = 10;
     $edit->reten->css_class = 'inputnum';
     $edit->reten->when = array('show');
     $edit->reten->showformat = 'decimal';
     //$edit->reten->onkeyup="valida(0)";
     $edit->reteiva = new inputField("Ret.de IVA", "reteiva");
     $edit->reteiva->size = 10;
     $edit->reteiva->maxlength = 10;
     $edit->reteiva->rule = 'callback_chreteiva';
     $edit->reteiva->css_class = 'inputnum';
     $edit->reteiva->showformat = 'decimal';
     //$edit->reteiva->onkeyup="reteiva()";
     $edit->reteica = new inputField("Ret. ICA", "reteica");
     $edit->reteica->size = 10;
     $edit->reteica->maxlength = 10;
     //$edit->reteica->rule = 'callback_chreteiva';
     $edit->reteica->css_class = 'inputnum';
     $edit->reteica->when = array('show');
     $edit->totneto = new inputField("Neto", "totneto");
     $edit->totneto->size = 10;
     $edit->totneto->maxlength = 10;
     $edit->totneto->css_class = 'inputnum';
     $edit->totneto->readonly = true;
     $edit->totneto->showformat = 'decimal';
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     //***************************
     //Campos para el detalle 1
     //***************************
     $edit->codigo = new inputField("C&oacute;digo <#o#>", "codigo_<#i#>");
     $edit->codigo->size = 5;
     $edit->codigo->db_name = 'codigo';
     //$edit->codigo->append($btn);
     $edit->codigo->rule = "required";
     //$edit->codigo->readonly=true;
     $edit->codigo->rel_id = 'gitser';
     $edit->descrip = new inputField("Descripci&oacute;n <#o#>", "descrip_<#i#>");
     $edit->descrip->size = 25;
     $edit->descrip->db_name = 'descrip';
     $edit->descrip->maxlength = 50;
     $edit->descrip->rel_id = 'gitser';
     $edit->precio = new inputField("Precio <#o#>", "precio_<#i#>");
     $edit->precio->db_name = 'precio';
     $edit->precio->css_class = 'inputnum';
     $edit->precio->size = 10;
     $edit->precio->rule = 'required|positive';
     $edit->precio->rel_id = 'gitser';
     $edit->precio->autocomplete = false;
     $edit->precio->onkeyup = "importe(<#i#>)";
     $edit->precio->showformat = 'decimal';
     $ivas = $this->datasis->ivaplica();
     $edit->tasaiva = new dropdownField("IVA <#o#>", "tasaiva_<#i#>");
     $edit->tasaiva->option($ivas['tasa'], $ivas['tasa'] . '%');
     $edit->tasaiva->option($ivas['redutasa'], $ivas['redutasa'] . '%');
     $edit->tasaiva->option($ivas['sobretasa'], $ivas['sobretasa'] . '%');
     $edit->tasaiva->option('0', '0.00%');
     $edit->tasaiva->db_name = 'tasaiva';
     $edit->tasaiva->rule = 'positive';
     $edit->tasaiva->style = "30px";
     $edit->tasaiva->rel_id = 'gitser';
     $edit->tasaiva->onchange = "importe(<#i#>)";
     $edit->iva = new inputField("importe <#o#>", "iva_<#i#>");
     $edit->iva->db_name = 'iva';
     $edit->iva->css_class = 'inputnum';
     $edit->iva->rel_id = 'gitser';
     $edit->iva->size = 8;
     $edit->iva->rule = 'positive|callback_chretiva';
     $edit->iva->onkeyup = "valida(<#i#>)";
     $edit->iva->showformat = 'decimal';
     $edit->importe = new inputField("importe <#o#>", "importe_<#i#>");
     $edit->importe->db_name = 'importe';
     $edit->importe->css_class = 'inputnum';
     $edit->importe->rel_id = 'gitser';
     $edit->importe->size = 10;
     $edit->importe->onkeyup = "valida(<#i#>)";
     $edit->importe->showformat = 'decimal';
     $edit->departa = new dropdownField("Departamento <#o#>", "departa_<#i#>");
     $edit->departa->option('', 'Seleccionar');
     $edit->departa->options("SELECT codigo, CONCAT_WS('-',codigo,departam) AS label FROM dept ORDER BY codigo");
     $edit->departa->db_name = 'departa';
     $edit->departa->rule = 'required';
     $edit->departa->style = 'width:100px';
     $edit->departa->rel_id = 'gitser';
     $edit->departa->onchange = "gdeparta(this.value)";
     $edit->sucursal = new dropdownField("Sucursal <#o#>", "sucursal_<#i#>");
     //$edit->sucursal->option('','Seleccionar');
     $edit->sucursal->options("SELECT codigo,CONCAT(codigo,'-', sucursal) AS sucursal FROM sucu ORDER BY codigo");
     $edit->sucursal->db_name = 'sucursal';
     $edit->sucursal->rule = 'required';
     $edit->sucursal->style = 'width:100px';
     $edit->sucursal->rel_id = 'gitser';
     $edit->sucursal->onchange = "gsucursal(this.value)";
     //*****************************
     //Fin de campos para detalle
     //*****************************
     //*****************************
     //Campos para el detalle reten
     //****************************
     //$edit->itorigen = new autoUpdateField('origen','SCST','SCST');
     //$edit->itorigen->rel_id ='gereten';
     $edit->codigorete = new dropdownField('', 'codigorete_<#i#>');
     $edit->codigorete->option('', 'Seleccionar');
     $edit->codigorete->options('SELECT TRIM(codigo) AS codigo,TRIM(CONCAT_WS("-",codigo,activida)) AS activida FROM rete ORDER BY codigo');
     $edit->codigorete->db_name = 'codigorete';
     $edit->codigorete->rule = 'max_length[4]';
     $edit->codigorete->style = 'width: 350px';
     $edit->codigorete->rel_id = 'gereten';
     $edit->codigorete->onchange = 'post_codigoreteselec(<#i#>,this.value)';
     $edit->base = new inputField('base', 'base_<#i#>');
     $edit->base->db_name = 'base';
     $edit->base->rule = 'max_length[10]|numeric|positive';
     $edit->base->css_class = 'inputnum';
     $edit->base->size = 12;
     $edit->base->rel_id = 'gereten';
     $edit->base->maxlength = 10;
     $edit->base->onkeyup = 'importerete(<#i#>)';
     $edit->base->showformat = 'decimal';
     $edit->porcen = new inputField('porcen', 'porcen_<#i#>');
     $edit->porcen->db_name = 'porcen';
     $edit->porcen->rule = 'max_length[5]|numeric|positive';
     $edit->porcen->css_class = 'inputnum';
     $edit->porcen->size = 7;
     $edit->porcen->rel_id = 'gereten';
     $edit->porcen->readonly = true;
     $edit->porcen->maxlength = 5;
     $edit->porcen->showformat = 'decimal';
     $edit->monto = new inputField('monto', 'monto_<#i#>');
     $edit->monto->db_name = 'monto';
     $edit->monto->rule = 'max_length[10]|numeric|positive';
     $edit->monto->css_class = 'inputnum';
     $edit->monto->rel_id = 'gereten';
     $edit->monto->size = 12;
     $edit->monto->readonly = true;
     $edit->monto->maxlength = 8;
     $edit->monto->showformat = 'decimal';
     //*****************************
     //Fin de campos para detalle
     //*****************************
     $edit->buttons('save', 'undo', 'delete', 'back', 'add_rel');
     $edit->build();
     //echo $edit->_dataobject->db->last_query();
     $smenu['link'] = barra_menu('518');
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('view_gsercol', $conten, true);
     $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true);
     $data['title'] = heading('Registro de Gastos o Nota de D&eacute;bito');
     $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('redmond/jquery-ui-1.8.1.custom.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.floatnumber.js');
     $this->load->view('view_ventanas', $data);
 }
Example #22
0
    function index()
    {
        $this->rapyd->load('dataedit');
        $iva = $this->datasis->ivaplica();
        $sprvbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre'), 'script' => array('post_modbus_sprv()'), 'titulo' => 'Buscar Proveedor');
        $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo_0', 'descrip' => 'descrip_0', 'peso' => 'peso'), 'script' => array('post_modbus_sinv()'), 'titulo' => 'Buscar Art&iacute;culo', 'where' => 'activo = "S"');
        $jsc = 'function calcula(){
			if($("#vh_tasa").val().length>0){
				tasa=parseFloat($("#vh_tasa").val());
				if($("#vh_base").val().length>0) base=parseFloat($("#vh_base").val()); else base=0;
				$("#montoiva").val(roundNumber(base*(tasa/100),2));
			}
		}

		function calculaiva(){
			if($("#vh_tasa").val().length>0){
				tasa=parseFloat($("#vh_tasa").val());
				if($("#vh_montoiva").val().length>0) montoiva=parseFloat($("#montoiva").val()); else montoiva=0;
				$("#vh_base").val(roundNumber(montoiva*100/tasa,2));
			}
		}

		function post_modbus_sinv(){
			$("#descrip_0_val").text($("#descrip_0").val());
		}

		function post_modbus_sprv(){
			$("#nombre_val").text($("#nombre").val());
		}
		';
        $edit = new DataForm($this->url . 'compra/index/insert');
        $edit->back_url = site_url($this->url . 'filteredgrid');
        $edit->proveed = new inputField('Proveedor', 'proveed');
        $edit->proveed->size = 7;
        $edit->proveed->maxlength = 5;
        $edit->proveed->autocomplete = false;
        $edit->proveed->rule = 'required';
        $edit->proveed->append($this->datasis->modbus($sprvbus));
        $edit->proveed->group = 'Datos de la factura';
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->size = 50;
        $edit->nombre->maxlength = 40;
        $edit->nombre->type = 'inputhidden';
        $edit->nombre->group = 'Datos de la factura';
        $edit->nombre->in = 'proveed';
        $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
        $edit->fecha->insertValue = date('Y-m-d');
        $edit->fecha->size = 10;
        $edit->fecha->rule = 'required';
        $edit->fecha->group = 'Datos de la factura';
        $edit->vence = new DateonlyField('Vence', 'vence', 'd/m/Y');
        $edit->vence->insertValue = date('Y-m-d');
        $edit->vence->size = 10;
        $edit->vence->rule = 'required';
        $edit->vence->group = 'Datos de la factura';
        $edit->serie = new inputField('N&uacute;mero de factura', 'serie');
        $edit->serie->size = 15;
        $edit->serie->autocomplete = false;
        $edit->serie->rule = 'required';
        $edit->serie->mode = 'autohide';
        $edit->serie->maxlength = 12;
        $edit->serie->group = 'Datos de la factura';
        $edit->cfis = new inputField('Control f&iacute;scal', 'nfiscal');
        $edit->cfis->size = 15;
        $edit->cfis->autocomplete = false;
        $edit->cfis->rule = 'required';
        $edit->cfis->maxlength = 12;
        $edit->cfis->group = 'Datos de la factura';
        $edit->almacen = new dropdownField('Almac&eacute;n', 'depo');
        $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub ORDER BY ubica');
        $edit->almacen->rule = 'required';
        $edit->almacen->style = 'width:145px;';
        $edit->almacen->group = 'Datos de la factura';
        $edit->codigo = new inputField('C&oacute;digo', 'codigo_0');
        $edit->codigo->size = 10;
        $edit->codigo->db_name = 'codigo';
        $edit->codigo->append($this->datasis->modbus($modbus));
        $edit->codigo->autocomplete = false;
        $edit->codigo->db_name = 'codigo';
        $edit->codigo->rule = 'required|callback_chcodigoa';
        $edit->codigo->group = 'Datos del veh&iacute;culo';
        $edit->descrip = new inputField('Modelo', 'descrip_0');
        $edit->descrip->size = 30;
        $edit->descrip->db_name = 'descrip';
        $edit->descrip->type = 'inputhidden';
        $edit->descrip->group = 'Datos del veh&iacute;culo';
        $edit->descrip->in = 'codigo';
        $edit->anio = new inputField('A&ntildeo', 'vh_anio');
        $edit->anio->rule = 'exact_length[4]|numeric|required';
        $edit->anio->size = 5;
        $edit->anio->maxlength = 4;
        $edit->anio->insertValue = date('Y');
        $edit->anio->autocomplete = false;
        $edit->anio->group = 'Datos del veh&iacute;culo';
        $edit->color = new inputField('Color', 'vh_color');
        $edit->color->rule = 'max_length[50]|strtoupper|required';
        $edit->color->size = 52;
        $edit->color->maxlength = 50;
        $edit->color->autocomplete = false;
        $edit->color->group = 'Datos del veh&iacute;culo';
        $edit->motor = new inputField('Serial de Motor', 'vh_motor');
        $edit->motor->rule = 'max_length[50]|strtoupper|callback_chrepetido[motor]|required';
        $edit->motor->size = 52;
        $edit->motor->maxlength = 50;
        $edit->motor->autocomplete = false;
        $edit->motor->group = 'Datos del veh&iacute;culo';
        $edit->carroceria = new inputField('Serial de Carrocer&iacute;a', 'vh_carroceria');
        $edit->carroceria->rule = 'max_length[50]|strtoupper|callback_chrepetido[carroceria]|required';
        $edit->carroceria->size = 52;
        $edit->carroceria->maxlength = 50;
        $edit->carroceria->autocomplete = false;
        $edit->carroceria->group = 'Datos del veh&iacute;culo';
        $edit->uso = new dropdownField('Tipo de uso', 'vh_uso');
        $edit->uso->option('P', 'Particular');
        $edit->uso->option('T', 'Trabajo');
        $edit->uso->option('C', 'Carga');
        $edit->uso->style = 'width:200px;';
        $edit->uso->size = 6;
        $edit->uso->rule = 'required';
        $edit->uso->group = 'Datos del veh&iacute;culo';
        $edit->tipo = new dropdownField('Tipo', 'vh_tipo');
        $edit->tipo->option('UTILITARIO', 'Utilitario');
        $edit->tipo->option('CHASIS', 'Chasis');
        $edit->tipo->option('CAVA REFRIGERADA', 'Cava Refrigerada');
        $edit->tipo->option('CAVA TERMINA', 'Cava Termina');
        $edit->tipo->option('CAVA SECA', 'Cava Seca');
        $edit->tipo->option('PLATAFORMA', 'Plataforma');
        $edit->tipo->option('PLATAFORMA GRUA', 'Plataforma Grua');
        $edit->tipo->option('PLATAFORMA BARANDA', 'Plataforma Barandas');
        $edit->tipo->option('AUTOBUS', 'Autobus');
        $edit->tipo->option('VOLTEO', 'Volteo');
        $edit->tipo->option('CUADRILLERO', 'Cuadrillero');
        $edit->tipo->option('CHUTO', 'Chuto');
        $edit->tipo->option('TANQUE', 'Tanque');
        $edit->tipo->option('JAULA GANADERA', 'Jaula Ganadera');
        $edit->tipo->option('FERRETERO', 'Ferretero');
        $edit->tipo->option('AMBULACIA', 'Ambulacia');
        $edit->tipo->style = 'width:200px;';
        $edit->tipo->size = 6;
        $edit->tipo->rule = 'required';
        $edit->tipo->group = 'Datos del veh&iacute;culo';
        $edit->clase = new dropdownField('Clase', 'vh_clase');
        $edit->clase->option('AUTOMOVIL', 'Automovil');
        $edit->clase->option('CAMIONETA', 'Camioneta');
        $edit->clase->option('CAMION', 'Camion');
        $edit->clase->style = 'width:200px;';
        $edit->clase->size = 6;
        $edit->clase->rule = 'required';
        $edit->clase->group = 'Datos del veh&iacute;culo';
        $edit->transmision = new dropdownField('Transmisi&oacute;n', 'vh_transmision');
        $edit->transmision->option('', 'Seleccionar');
        $edit->transmision->option('AUTOMATICO', 'Automatico');
        $edit->transmision->option('MANUAL', 'Manual');
        $edit->transmision->option('ZF', 'ZF');
        $edit->transmision->option('ZF-ITON', 'ZF-ITON');
        $edit->transmision->style = 'width:200px;';
        $edit->transmision->size = 6;
        $edit->transmision->rule = 'required';
        $edit->transmision->group = 'Datos del veh&iacute;culo';
        $edit->neumaticos = new inputField('Cantidad de neum&aacute;ticos', 'vh_neumaticos');
        $edit->neumaticos->rule = 'max_length[50]|numeric|required';
        $edit->neumaticos->size = 15;
        $edit->neumaticos->maxlength = 50;
        $edit->neumaticos->autocomplete = false;
        $edit->neumaticos->group = 'Datos del veh&iacute;culo';
        $edit->tiponeumatucos = new inputField('Tipo de neum&aacute;ticos', 'vh_tiponeumaticos');
        $edit->tiponeumatucos->rule = 'max_length[50]|required';
        $edit->tiponeumatucos->size = 15;
        $edit->tiponeumatucos->maxlength = 50;
        $edit->tiponeumatucos->autocomplete = false;
        $edit->tiponeumatucos->group = 'Datos del veh&iacute;culo';
        $edit->distanciaeje = new inputField('Distancia entre ejes', 'vh_distanciaeje');
        $edit->distanciaeje->rule = 'max_length[50]|numeric|required';
        $edit->distanciaeje->size = 15;
        $edit->distanciaeje->maxlength = 50;
        $edit->distanciaeje->autocomplete = false;
        $edit->distanciaeje->group = 'Datos del veh&iacute;culo';
        $edit->peso = new inputField('Peso Kg.', 'peso');
        $edit->peso->rule = 'max_length[10]|numeric|required';
        $edit->peso->css_class = 'inputnum';
        $edit->peso->size = 12;
        $edit->peso->maxlength = 12;
        $edit->peso->autocomplete = false;
        $edit->peso->group = 'Datos del veh&iacute;culo';
        $edit->placa = new inputField('Placa', 'vh_placa');
        $edit->placa->rule = 'max_length[50]|strtoupper|callback_chrepetido[placa]|required';
        $edit->placa->size = 10;
        $edit->placa->maxlength = 50;
        $edit->placa->autocomplete = false;
        $edit->placa->group = 'Datos del veh&iacute;culo';
        $edit->precioplaca = new inputField('Precio placa.', 'vh_precioplaca');
        $edit->precioplaca->rule = 'max_length[10]|numeric|required';
        $edit->precioplaca->css_class = 'inputnum';
        $edit->precioplaca->size = 12;
        $edit->precioplaca->maxlength = 12;
        $edit->precioplaca->autocomplete = false;
        $edit->precioplaca->group = 'Datos del financieros';
        $edit->base = new inputField('Base imponible', 'vh_base');
        $edit->base->rule = 'required|numeric';
        $edit->base->size = 12;
        $edit->base->css_class = 'inputnum';
        $edit->base->autocomplete = false;
        $edit->base->group = 'Datos del financieros';
        $edit->tasa = new dropdownField('Tasa %', 'vh_tasa');
        $edit->tasa->rule = 'required|numeric';
        $edit->tasa->style = 'width:100px';
        $edit->tasa->mode = 'autohide';
        $edit->tasa->insertValue = $iva['tasa'];
        $edit->tasa->group = 'Datos del financieros';
        foreach ($iva as $nom => $val) {
            $edit->tasa->option($val, nformat($val) . '%');
        }
        $edit->montoiva = new inputField('IVA ', 'montoiva');
        $edit->montoiva->rule = 'required|numeric';
        $edit->montoiva->size = 10;
        $edit->montoiva->autocomplete = false;
        $edit->montoiva->css_class = 'inputnum';
        $edit->montoiva->in = 'tasa';
        $edit->montoiva->autocomplete = false;
        $edit->montoiva->group = 'Datos del financieros';
        $accion = "javascript:window.location='" . site_url('concesionario/inicio') . "'";
        $edit->button('btn_cargar', 'Regresar', $accion, 'BL');
        $edit->submit('btnsubmit', 'Realizar compra');
        $edit->build_form();
        if ($edit->on_success()) {
            $this->genesal = false;
            $_POST['btn_submit'] = 'Guardar';
            //$_POST['fecha']      = '08/08/2012';
            //$_POST['vence']      = '08/08/2012';
            //$_POST['serie']      = '';
            //$_POST['nfiscal']    = '';
            //$_POST['depo']       = '0001';
            //$_POST['proveed']    = '';
            //$_POST['nombre']     = '';
            //$_POST['peso']       = 0;
            //$_POST['montoiva']   = 290.61;
            //$_POST['codigo_0']   = '';
            //$_POST['descrip_0']  = '';
            $_POST['tipo_doc'] = 'FC';
            $_POST['orden'] = '';
            $_POST['cantidad_0'] = 1;
            $_POST['costo_0'] = $_POST['vh_base'];
            $_POST['importe_0'] = $_POST['vh_base'];
            $_POST['sinvpeso_0'] = $_POST['peso'];
            $_POST['iva_0'] = $_POST['vh_tasa'];
            $_POST['codigo_1'] = 'PLACA';
            $_POST['descrip_1'] = 'PLACA ' . $edit->placa->newValue;
            $_POST['cantidad_1'] = 1;
            $_POST['costo_1'] = $edit->precioplaca->newValue;
            $_POST['importe_1'] = $edit->precioplaca->newValue;
            $_POST['sinvpeso_1'] = 0.0;
            $_POST['iva_1'] = 0;
            $_POST['reten'] = 0;
            $_POST['anticipo'] = 0;
            $_POST['montotot'] = $edit->precioplaca->newValue + $edit->base->newValue;
            $_POST['reteiva'] = 0;
            $_POST['inicial'] = 0;
            $_POST['mdolar'] = '';
            $_POST['credito'] = '';
            $_POST['montonet'] = $_POST['montotot'] + $edit->montoiva->newValue;
            $_POST['observa1'] = 'COMPRA DE VEHICULO';
            $_POST['observa2'] = '';
            $_POST['observa3'] = '';
            $rt = $this->dataedit();
            if ($rt == 'Compra Guardada') {
                $this->_actualizar($this->claves['control'], 'S');
                $data = array();
                $data['id_scst'] = $this->claves['id'];
                $data['codigo_sinv'] = $edit->codigo->newValue;
                $data['modelo'] = $edit->descrip->newValue;
                $data['color'] = $edit->color->newValue;
                $data['motor'] = $edit->motor->newValue;
                $data['carroceria'] = $edit->carroceria->newValue;
                $data['uso'] = $edit->uso->newValue;
                $data['tipo'] = $edit->tipo->newValue;
                $data['clase'] = $edit->clase->newValue;
                $data['anio'] = $edit->anio->newValue;
                $data['peso'] = $edit->peso->newValue;
                $data['transmision'] = $edit->transmision->newValue;
                $data['placa'] = $edit->placa->newValue;
                $data['precioplaca'] = $edit->precioplaca->newValue;
                $data['neumaticos'] = $edit->neumaticos->newValue;
                $data['tipo_neumatico'] = $edit->tiponeumatucos->newValue;
                $data['distanciaeje'] = $edit->distanciaeje->newValue;
                $mSQL = $this->db->insert_string('sinvehiculo', $data);
                $this->db->simple_query($mSQL);
                $content = $rt . br();
                $content .= anchor('formatos/ver/COMPRA/' . $this->claves['id'], 'Descargar compra') . br();
                $content .= anchor($this->url, 'Regresar');
                $data['content'] = $content;
                $data['script'] = script('jquery.js');
                $data['script'] .= script('jquery-ui.js');
                $data['script'] .= script('plugins/jquery.numeric.pack.js');
                $data['script'] .= script('plugins/jquery.floatnumber.js');
                $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
                $data['script'] .= phpscript('nformat.js');
                $data['head'] = $this->rapyd->get_head();
                $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css');
                $data['title'] = heading($this->t**s);
                $this->load->view('view_ventanas', $data);
                return;
            }
        }
        $script = '<script type="text/javascript" >
		$(function() {
			$(".inputnum").numeric(".");
			$(".inputonlynum").numeric();
			$("#vh_tasa").change(function() { calcula(); });
			$("#vh_base").bind("keyup",function() { calcula(); });
			$("#vh_montoiva").bind("keyup",function() { calculaiva(); });
			$("#proveed").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscasprv') . '",
						type: "POST",
						dataType: "json",
						data: "q="+req.term,
						success:
							function(data){
								var sugiere = [];
								if(data.length==0){
									$("#proveed").val("");
									$("#nombre").val("");
									$("#nombre_val").text("");
								}else{

									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#proveed").attr("readonly", "readonly");

					$("#nombre").val(ui.item.nombre);
					$("#nombre_val").text(ui.item.nombre);
					$("#proveed").val(ui.item.proveed);

					setTimeout(function() {  $("#proveed").removeAttr("readonly"); }, 1500);
				}
			});

			$("#codigo_0").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscascstart') . '",
						type: "POST",
						dataType: "json",
						data: "q="+req.term,
						success:
							function(data){
								var sugiere = [];

								if(data.length==0){
									$("#proveed").val("");
									$("#nombre").val("");
									$("#nombre_val").text("");
								}else{
									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#codigo_0").attr("readonly", "readonly");

					$("#codigo_0").val(ui.item.codigo);
					$("#descrip_0").val(ui.item.descrip);
					//$("#tasa").val(ui.item.iva);
					$("#peso").val(ui.item.peso);
					post_modbus_sinv();
					setTimeout(function() {  $("#codigo_0").removeAttr("readonly"); }, 1500);
				}
			});
		});
		' . $jsc . '
		</script>';
        $data['content'] = $edit->output;
        $data['script'] = script('jquery.js');
        $data['script'] .= script('jquery-ui.js');
        $data['script'] .= script('plugins/jquery.numeric.pack.js');
        $data['script'] .= script('plugins/jquery.floatnumber.js');
        $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
        $data['script'] .= phpscript('nformat.js');
        $data['head'] = $this->rapyd->get_head();
        $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css');
        $data['script'] .= $script;
        $data['title'] = heading($this->t**s);
        $this->load->view('view_ventanas', $data);
    }
Example #23
0
    function forcierre($numero)
    {
        $this->rapyd->load('dataform');
        $dbnumero = $this->db->escape($numero);
        $cana = $this->datasis->dameval('SELECT COUNT(*) FROM rcaj WHERE tipo="T" AND numero=' . $dbnumero);
        if ($cana < 1) {
            $data['content'] = 'El efecto a cerrar es inv&aacute;lido o ya fue cerrado ' . anchor('ventas/rcaj/filteredgrid/search', 'Regresar');
            $data['title'] = '<h1>Recepci&oacute;n de cajas</h1>';
            $data['head'] = $this->rapyd->get_head() . script('jquery.pack.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
            $this->load->view('view_ventanas', $data);
            return;
        } else {
            $caja = $this->datasis->dameval('SELECT caja FROM rcaj WHERE tipo="T" AND numero=' . $dbnumero);
            if (empty($caja)) {
                $data['content'] = 'Falta registro de la caja ' . anchor('ventas/rcaj/filteredgrid/search', 'Regresar');
                $data['title'] = '<h1>Recepci&oacute;n de cajas</h1>';
                $data['head'] = $this->rapyd->get_head() . script('jquery.pack.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
                $this->load->view('view_ventanas', $data);
                return;
            }
        }
        $nomcajero = $this->datasis->dameval('SELECT CONCAT(TRIM(a.cajero),b.nombre) cajero FROM rcaj a JOIN scaj b ON a.cajero=b.cajero WHERE a.tipo="T" AND a.numero=' . $dbnumero);
        $form = new DataForm("ventas/rcaj/forcierre/{$numero}/process");
        $attr = array('class' => 'ui-state-default ui-corner-all', 'onclick' => "javascript:window.location='" . site_url('ventas/rcaj/filteredgrid') . "'", 'value' => 'Regresar');
        $totales = array(0, 0, 0, 0);
        $retiros = array();
        $sel = array('TRIM(tipo) AS tipo', 'SUM(monto) AS monto');
        $this->db->select($sel);
        $this->db->from('rret');
        $this->db->where('cierre', $numero);
        $this->db->group_by('tipo');
        $query = $this->db->get();
        foreach ($query->result() as $row) {
            $retiros[$row->tipo] = $row->monto;
            $totales[0] += $row->monto;
        }
        $mSQL = "SELECT TRIM(c.tipo) AS tipo,0 AS retiro,c.nombre,b.recibido,b.sistema,b.diferencia,a.caja\n\t\tFROM rcaj    AS a\n\t\tJOIN itrcaj  AS b ON a.numero=b.numero\n\t\tJOIN tarjeta AS c ON c.tipo=b.tipo\n\t\tWHERE a.numero={$dbnumero} AND c.tipo<>'RP'";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $arr = array('retiro', 'recibido', 'sistema', 'diferencia');
            foreach ($query->result() as $i => $row) {
                foreach ($arr as $o => $nobj) {
                    $obj = $nobj . $row->tipo;
                    $totales[$o] += $row->{$nobj};
                    $form->{$obj} = new inputField('(' . $row->tipo . ') ' . $row->nombre, $obj);
                    $form->{$obj}->style = 'text-align:right';
                    $form->{$obj}->css_class = 'inputnum';
                    if ($nobj == 'retiro') {
                        $form->{$obj}->insertValue = isset($retiros[$row->tipo]) ? $retiros[$row->tipo] : '0';
                        $form->{$obj}->showformat = 'decimal';
                    } else {
                        $form->{$obj}->insertValue = $row->{$nobj};
                        $form->{$obj}->rule = 'numeric';
                    }
                    $form->{$obj}->size = 10;
                    $form->{$obj}->autocomplete = false;
                    if ($o != 1 || in_array($row->tipo, array('RI', 'IR'))) {
                        $form->{$obj}->readonly = true;
                        $form->{$obj}->type = 'inputhidden';
                    }
                }
            }
            foreach ($arr as $o => $nobj) {
                $obj = 't' . $nobj;
                $form->{$obj} = new inputField('<b>Totales:</b>', $obj);
                $form->{$obj}->style = 'text-align:right';
                $form->{$obj}->size = 10;
                $form->{$obj}->insertValue = $totales[$o];
                $form->{$obj}->rule = 'numeric';
                $form->{$obj}->autocomplete = false;
                if ($o == 0) {
                    $sobj = $obj;
                } else {
                    $form->{$obj}->in = $sobj;
                }
                $form->{$obj}->readonly = true;
                $form->{$obj}->type = 'inputhidden';
            }
        }
        $b_fiscal = $this->datasis->traevalor('USAMAQFISCAL', 'Activa el modo fiscal en el cierre de caja');
        if ($b_fiscal == 'S') {
            $form->x_venta = new inputField('Total Venta seg&uacute;n cierre fiscal', 'xventa');
            $form->x_venta->rule = 'max_length[17]|numeric|required';
            $form->x_venta->css_class = 'inputnum';
            $form->x_venta->size = 19;
            $form->x_venta->maxlength = 17;
            $form->x_venta->autocomplete = false;
            $form->x_viva = new inputField('Total IVA seg&uacute;n cierre fiscal', 'xviva');
            $form->x_viva->rule = 'max_length[17]|numeric|required';
            $form->x_viva->css_class = 'inputnum';
            $form->x_viva->size = 19;
            $form->x_viva->maxlength = 17;
            $form->x_viva->autocomplete = false;
            $form->x_devo = new inputField('Total de notas de cr&eacute;dito seg&uacute;n cierre fiscal', 'xdevo');
            $form->x_devo->rule = 'max_length[17]|numeric|required';
            $form->x_devo->css_class = 'inputnum';
            $form->x_devo->size = 19;
            $form->x_devo->maxlength = 17;
            $form->x_devo->autocomplete = false;
            $form->x_diva = new inputField('Total de IVA seg&uacute;n cierre fiscal', 'xdiva');
            $form->x_diva->rule = 'max_length[17]|numeric|required';
            $form->x_diva->css_class = 'inputnum';
            $form->x_diva->size = 19;
            $form->x_diva->maxlength = 17;
            $form->x_diva->autocomplete = false;
            $form->x_maqfiscal = new inputField('Serial M&aacute;quina F&iacute;scal', 'maqfiscal');
            $form->x_maqfiscal->rule = 'max_length[17]|strtoupper|required';
            $form->x_maqfiscal->size = 19;
            $form->x_maqfiscal->maxlength = 17;
            $form->x_maqfiscal->autocomplete = false;
            $form->x_ultimafc = new inputField('N&uacute;mero &uacute;ltima Factura', 'ultimafc');
            $form->x_ultimafc->rule = 'max_length[10]|required';
            $form->x_ultimafc->size = 12;
            $form->x_ultimafc->maxlength = 10;
            $form->x_ultimafc->autocomplete = false;
            $form->x_ultimanc = new inputField('N&uacute;mero &uacute;ltima NC', 'ultimanc');
            $form->x_ultimanc->rule = 'max_length[10]|required';
            $form->x_ultimanc->size = 12;
            $form->x_ultimanc->maxlength = 10;
            $form->x_ultimanc->autocomplete = false;
        }
        $form->button('btn_reg', 'Regresar', "javascript:window.location='" . site_url('ventas/rcaj/filteredgrid/search') . "'", 'BL');
        $form->submit('btnsubmit', 'Cerrar cajero');
        $form->build_form();
        $this->rapyd->jquery[] = '$(".inputnum").numeric(".");';
        $this->rapyd->jquery[] = '$(":input").click(function (){ $(this).select(); } );';
        $this->rapyd->jquery[] = '$(":input").focus(function (){ $(this).select(); } );';
        $this->rapyd->jquery[] = '$(\'input[name^="recibido"]\').bind("keyup",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$(\'input[name^="recibido"]\').bind("mouseleave",function() { gtotal(); });';
        $this->rapyd->jquery[] = '$("#df1").submit(function() { return confirm("Estas seguro de realizar el Cierre?"); })';
        $this->rapyd->jquery[] = 'function gtotal(){
			TRECI=TSIS=TDIFE=0;
			$(\'input[name^="recibido"]\').each(function(i,e){
				nombre=this.name;
				tipo=nombre.substring(nombre.length-2,nombre.length);

				if($(this).val().length>0){
					recibido   =parseFloat($(this).val());
					sistema    =parseFloat($("#sistema"+tipo).val());
					diferencia=recibido-sistema;
					$("#diferencia"+tipo).val(roundNumber(diferencia,2));
					$("#diferencia"+tipo+"_val").text(nformat(diferencia,2));
				}
				if($(this).val().length>0) TRECI = TRECI+parseFloat($(this).val());
			});

			$(\'input[name^="diferencia"]\').each(function(i,e){
				if($(this).val().length>0){
					pval=parseFloat($(this).val());
					TDIFE = TDIFE+pval;
				}
			});

			$("#trecibido").val(roundNumber(TRECI,2));
			$("#tdiferencia").val(roundNumber(TDIFE,2));
			$("#trecibido_val").text(nformat(TRECI,2));
			$("#tdiferencia_val").text(nformat(TDIFE,2));
			$("#tretiro_val").text(nformat($("#tretiro").val(),2));
			$("#tsistema_val").text(nformat($("#tsistema").val(),2));
		}';
        $this->rapyd->jquery[] = 'gtotal();';
        //Cierre de caja
        if ($form->on_success()) {
            $usuario = $this->secu->usuario();
            $estampa = date('Y-m-d');
            $hora = date('H:i:s');
            $mSQL = "SELECT a.fecha,c.tipo,c.nombre ,b.recibido,b.sistema,b.diferencia, a.transac\n\t\t\tFROM rcaj    AS a\n\t\t\tJOIN itrcaj  AS b ON a.numero=b.numero\n\t\t\tJOIN tarjeta AS c ON c.tipo=b.tipo\n\t\t\tWHERE a.numero={$dbnumero}";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $str = '';
                $arr = array();
                $rrecibido = $sistema = $depositos = 0;
                foreach ($query->result() as $i => $row) {
                    $nobj = 'recibido' . $row->tipo;
                    $recibido = isset($form->{$nobj}) ? empty($form->{$nobj}->newValue) ? 0.0 : floatval($form->{$nobj}->newValue) : 0.0;
                    if ($row->sistema > 0 || $recibido > 0) {
                        $str .= $row->tipo . ' ' . $recibido . '  ';
                        $arr['recibido'] = $recibido;
                        $arr['sistema'] = $row->sistema;
                        $arr['diferencia'] = $recibido - $row->sistema;
                        $arr['numero'] = $numero;
                        $arr['cierre'] = 'S';
                        $arr['tipo'] = $row->tipo;
                        if ($row->tipo == 'DE') {
                            $depositos += $recibido;
                        } else {
                            $rrecibido += $recibido;
                        }
                        $sistema += $row->sistema;
                        $mmSQL = $this->db->insert_string('itrcaj', $arr);
                        $this->db->query($mmSQL);
                    }
                }
                $rcajfecha = $this->db->escape($row->fecha);
                $transac = $row->transac;
                $arr = array('tipo' => 'F', 'recibido' => $rrecibido + $depositos, 'observa' => $str);
                if ($b_fiscal == 'S') {
                    $arr['xventa'] = $form->x_venta->newValue;
                    $arr['xviva'] = $form->x_viva->newValue;
                    $arr['xdevo'] = $form->x_devo->newValue;
                    $arr['xdiva'] = $form->x_diva->newValue;
                    $arr['maqfiscal'] = $form->x_maqfiscal->newValue;
                    $arr['ultimafc'] = $form->x_ultimafc->newValue;
                    $arr['ultimanc'] = $form->x_ultimanc->newValue;
                }
                $where = 'numero=' . $this->db->escape($numero);
                $mmSQL = $this->db->update_string('rcaj', $arr, $where);
                $this->db->query($mmSQL);
                //cierra el cajero
                $cajero = $this->datasis->dameval('SELECT cajero FROM rcaj WHERE numero=' . $dbnumero);
                $dbcajero = $this->db->escape($cajero);
                $sifact = intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM sfac WHERE cajero  ={$dbcajero} AND fecha > {$rcajfecha}"));
                $sifact += intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM sfpa WHERE cobrador={$dbcajero} AND fecha > {$rcajfecha}"));
                if ($sifact == 0) {
                    $arr = array('status' => 'C', 'fechac' => date('Ymd'), 'horac' => date('h:i:s'), 'cierre' => $rrecibido + $depositos, 'caja' => $caja);
                    $where = 'cajero=' . $this->db->escape($cajero);
                    $mmSQL = $this->db->update_string('scaj', $arr, $where);
                    $ban = $this->db->query($mmSQL);
                    if ($ban == false) {
                        memowrite($mmSQL, 'rcaj');
                    }
                }
                //Inicio de las transacciones ISLR
                $mmSQL = "SELECT a.monto,a.fecha,a.numero,c.nombre,a.transac\n\t\t\t\tFROM sfpa AS a\n\t\t\t\tJOIN rcaj AS b ON a.fecha=b.fecha AND a.cobrador=b.cajero\n\t\t\t\tJOIN scli AS c ON a.cod_cli=c.cliente\n\t\t\t\tWHERE b.numero={$dbnumero} AND a.tipo='IR'";
                $qquery = $this->db->query($mmSQL);
                foreach ($qquery->result() as $rrow) {
                    $XNUMERO = $this->datasis->fprox_numero('ndcli');
                    $data['tipo_doc'] = 'ND';
                    $data['numero'] = $XNUMERO;
                    $data['cod_cli'] = 'RETEN';
                    $data['nombre'] = 'RETENCION DE ISLR';
                    $data['fecha'] = $rrow->fecha;
                    $data['monto'] = $rrow->monto;
                    $data['impuesto'] = 0;
                    $data['vence'] = date('Ymd', mktime(0, 0, 0, substr($rrow->fecha, 5, 2) + 1, 3, substr($rrow->fecha, 0, 4)));
                    $data['observa1'] = 'RET/ISLR DE FE ' . $rrow->numero;
                    $data['observa2'] = 'CLIENTE ' . $rrow->nombre;
                    $data['banco'] = '';
                    $data['tipo_op'] = '';
                    $data['num_op'] = '';
                    $data['reten'] = 0;
                    $data['ppago'] = 0;
                    $data['control'] = '';
                    $data['cambio'] = 0;
                    $data['mora'] = 0;
                    $data['abonos'] = 0;
                    $data['transac'] = $rrow->transac;
                    $data['usuario'] = $usuario;
                    $data['estampa'] = $estampa;
                    $data['hora'] = $hora;
                    $mSQL = $this->db->insert_string('smov', $data);
                    $ban = $this->db->query($mSQL);
                    if ($ban == false) {
                        memowrite($mSQL, 'rcaj');
                    }
                }
                //Fin de las retenciones ISLR
                //Crea el movimiento en bmov
                $mSQL = 'SELECT fecha, cajero FROM rcaj WHERE numero=' . $dbnumero;
                $query = $this->db->query($mSQL);
                $row = $query->first_row();
                $fecha = $row->fecha;
                $sfecha = str_replace('', '-', $fecha);
                $cajero = $row->cajero;
                $nbmov = $this->_banprox($caja);
                $mSQL = 'SELECT moneda, numcuent,banco,saldo FROM banc WHERE codbanc= ? ';
                $query = $this->db->query($mSQL, array($caja));
                $row = $query->first_row();
                $data = array();
                $data['codbanc'] = $caja;
                $data['moneda'] = $row->moneda;
                $data['numcuent'] = $row->numcuent;
                $data['banco'] = $row->banco;
                $data['saldo'] = $row->saldo;
                $data['tipo_op'] = 'NC';
                $data['numero'] = $nbmov;
                $data['fecha'] = $fecha;
                $data['clipro'] = 'O';
                $data['codcp'] = 'VENT';
                $data['nombre'] = 'INGRESOS DIARIOS';
                $data['monto'] = $rrecibido;
                $data['concepto'] = "ENTREGA FINAL CAJERO {$cajero} DIA " . dbdate_to_human($fecha);
                $data['transac'] = $transac;
                $data['usuario'] = $usuario;
                $data['estampa'] = $estampa;
                $data['hora'] = $hora;
                $mSQL = $this->db->insert_string('bmov', $data);
                $ban = $this->db->query($mSQL);
                if ($ban == false) {
                    memowrite($mSQL, 'rcaj');
                }
                //Fin del movimiento en bmov
                //Monto por depositos
                if ($depositos > 0) {
                    $nbmov = $this->_banprox($caja);
                    $data = array();
                    $data['codbanc'] = $caja;
                    $data['moneda'] = $row->moneda;
                    $data['numcuent'] = $row->numcuent;
                    $data['banco'] = $row->banco;
                    $data['saldo'] = $row->saldo;
                    $data['tipo_op'] = 'NC';
                    $data['numero'] = $nbmov;
                    $data['fecha'] = $fecha;
                    $data['clipro'] = 'O';
                    $data['codcp'] = 'VENT';
                    $data['nombre'] = 'INGRESOS DIARIOS';
                    $data['monto'] = $depositos;
                    $data['concepto'] = "DEPOSITOS RECIBIDOS CAJERO {$cajero} DIA " . dbdate_to_human($fecha);
                    $data['transac'] = $transac;
                    $data['usuario'] = $usuario;
                    $data['estampa'] = $estampa;
                    $data['hora'] = $hora;
                    $mSQL = $this->db->insert_string('bmov', $data);
                    $ban = $this->db->query($mSQL);
                    if ($ban == false) {
                        memowrite($mSQL, 'rcaj');
                    }
                }
                //Fin del monto por deposito
                //Actualiza el saldo en la caja
                $this->datasis->actusal($caja, $sfecha, $rrecibido + $depositos);
                //Crea la diferencia en caja si la hay
                $dif = $rrecibido + $depositos - $sistema;
                if ($dif != 0.0) {
                    $mSQL = 'SELECT COUNT(*) AS n  FROM banc WHERE codbanc="DF"';
                    $query = $this->db->query($mSQL);
                    $row = $query->first_row();
                    if ($row->n == 0) {
                        $data = array();
                        $data['codbanc'] = 'DF';
                        $data['tbanco'] = 'CAJ';
                        $data['moneda'] = 'Bs';
                        $data['banco'] = 'CAJA';
                        //$data['nombre']  ='DIFERENCIA EN CAJA';
                        $data['numcuent'] = 'DIFERENCIA EN CAJA';
                        $data['activo'] = 'S';
                        $data['tipocta'] = 'C';
                        $data['saldo'] = 0;
                        $mSQL = $this->db->insert_string('banc', $data);
                        $ban = $this->db->query($mSQL);
                        if ($ban == false) {
                            memowrite($mSQL, 'rcaj');
                        }
                    }
                    $nbmov = $this->_banprox('DF');
                    $mSQL = 'SELECT moneda, numcuent,banco,saldo FROM banc WHERE codbanc="DF"';
                    $query = $this->db->query($mSQL);
                    $row = $query->first_row();
                    if ($dif < 0) {
                        // crea la NC a causa del faltante de caja
                        $data = array();
                        $data['codbanc'] = 'DF';
                        $data['moneda'] = $row->moneda;
                        $data['numcuent'] = $row->numcuent;
                        $data['banco'] = $row->banco;
                        $data['saldo'] = $row->saldo;
                        $data['tipo_op'] = 'NC';
                        $data['numero'] = $nbmov;
                        $data['fecha'] = $fecha;
                        $data['clipro'] = 'O';
                        $data['codcp'] = 'VENT';
                        $data['nombre'] = 'INGRESOS DIARIOS';
                        $data['monto'] = abs($dif);
                        $data['concepto'] = "FALTANTE EN CAJA {$caja} CAJERO {$cajero} DIA " . dbdate_to_human($fecha);
                        $data['transac'] = $transac;
                        $data['usuario'] = $usuario;
                        $data['estampa'] = $estampa;
                        $data['hora'] = $hora;
                        $mSQL = $this->db->insert_string('bmov', $data);
                        $ban = $this->db->query($mSQL);
                        if ($ban == false) {
                            memowrite($mSQL, 'rcaj');
                        }
                    } else {
                        //Crea la ND a causa del sobrante de caja
                        $data = array();
                        $data['codbanc'] = 'DF';
                        $data['moneda'] = $row->moneda;
                        $data['numcuent'] = $row->numcuent;
                        $data['banco'] = $row->banco;
                        $data['saldo'] = $row->saldo;
                        $data['tipo_op'] = 'ND';
                        $data['numero'] = $nbmov;
                        $data['fecha'] = $fecha;
                        $data['clipro'] = 'O';
                        $data['codcp'] = 'VENT';
                        $data['nombre'] = 'INGRESOS DIARIOS';
                        $data['monto'] = abs($dif);
                        $data['concepto'] = "SOBRANTE EN CAJA {$caja} CAJERO {$cajero} DIA " . dbdate_to_human($fecha);
                        $data['transac'] = $transac;
                        $data['usuario'] = $usuario;
                        $data['estampa'] = $estampa;
                        $data['hora'] = $hora;
                        $mSQL = $this->db->insert_string('bmov', $data);
                        $ban = $this->db->query($mSQL);
                        if ($ban == false) {
                            memowrite($mSQL, 'rcaj');
                        }
                    }
                    $this->datasis->actusal('DF', $sfecha, $dif);
                }
                //Crea los movimientos bmov a consecuencia de los pagos con depositos
                //$mSQL="INSERT IGNORE INTO bmov ( codbanc, tipo_op, numero, fecha, clipro, codcp, nombre, monto, concepto, status, liable, transac, usuario, estampa, hora, anulado)
                //SELECT a.banco codbanc, a.tipo tipo_op, a.num_ref numero, a.fecha, 'C' clipro, a.cod_cli codcp, b.nombre, a.monto, 'INGRESO POR COBRANZA' concepto, 'P' status, 'S' liable, a.transac, a.usuario, a.estampa, a.hora, 'N' anulado
                //FROM sfpa a JOIN scli b ON a.cod_cli=b.cliente
                //WHERE a.tipo='DE' AND tipo_doc='FE' AND fecha=${dbfecha}";
                //$ban=$this->db->query($mSQL);
                //if($ban==false) memowrite($mSQL,'rcaj');
                logusu('rcaj', "Cerro cajero {$cajero} de {$fecha}");
                redirect('ventas/rcaj/filteredgrid/search');
            }
        }
        $attr = array('class' => 'ui-state-default ui-corner-all', 'onclick' => "javascript:window.location='" . site_url('ventas/rcaj/filteredgrid/search') . "'", 'value' => 'Regresar');
        $credito = $this->datasis->dameval("SELECT SUM((a.totalg-a.inicial)*IF(a.tipo_doc='D',-1,1)) AS credito\n\t\tFROM sfac AS a\n\t\tJOIN rcaj AS b ON a.fecha=b.fecha AND b.cajero=a.cajero\n\t\tWHERE a.referen='C' AND b.numero={$dbnumero}");
        $rp = 0;
        $mSQL = "SELECT SUM(a.monto) AS rp\n\t\tFROM sfpa AS a JOIN rcaj AS b ON a.fecha=b.fecha AND a.cobrador=b.cajero\n\t\tWHERE b.numero={$dbnumero} AND a.tipo='RP'";
        $rp += $this->datasis->dameval($mSQL);
        //Toma en cuenta los cambios de cheque
        $ccheq = 0;
        $ccquery = $this->db->query("SELECT SUM(d.monto) AS monto\n\t\tFROM sfpa AS d JOIN rcaj AS b ON d.fecha=b.fecha AND d.cobrador=b.cajero\n\t\tWHERE b.numero={$dbnumero} AND d.tipo_doc = 'CC'");
        foreach ($ccquery->result() as $ccrow) {
            $ccheq += $ccrow->monto;
        }
        $cont['b_fiscal'] = $b_fiscal;
        $cont['rp'] = $rp;
        $cont['cc'] = $ccheq;
        $cont['retiros'] = $retiros;
        $cont['credito'] = empty($credito) ? 0 : $credito;
        $cont['form'] =& $form;
        $data['content'] = $this->load->view('view_rcajcierre', $cont, true);
        //$data['content'] = $form->output;
        $data['title'] = heading('Recepci&oacute;n de Caja ' . $nomcajero);
        $data['head'] = $this->rapyd->get_head() . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Example #24
0
    function dataedit()
    {
        $this->rapyd->load('dataobject', 'datadetails');
        $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigoa_<#i#>', 'descrip' => 'desca_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Art&iacute;culo', 'where' => '`activo` = "S"');
        $btn = $this->datasis->p_modbus($modbus, '<#i#>');
        $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Direcci&oacute;n', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli', 'nombre' => 'nombre', 'rifci' => 'rifci', 'dire11' => 'direc', 'tipo' => 'sclitipo'), 'titulo' => 'Buscar Cliente');
        $boton = $this->datasis->modbus($mSCLId);
        $do = new DataObject('sfac');
        $do->rel_one_to_many('sitems', 'sitems', array('id' => 'id_sfac'));
        $do->rel_one_to_many('sfpa', 'sfpa', array('numero', 'transac'));
        $do->pointer('scli', 'scli.cliente=sfac.cod_cli', 'scli.tipo AS sclitipo', 'left');
        $do->rel_pointer('sitems', 'sinv', 'sitems.codigoa=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
        $edit = new DataDetails('Facturas', $do);
        $edit->back_url = !empty($this->back_url) ? $this->back_url : site_url('ventas/sfac/index');
        $edit->set_rel_title('sitems', 'Producto <#o#>');
        $edit->set_rel_title('sfpa', 'Forma de pago <#o#>');
        $edit->pre_process('insert', '_pre_insert');
        $edit->pre_process('update', '_pre_update');
        $edit->pre_process('delete', '_pre_delete');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->sclitipo = new hiddenField('', 'sclitipo');
        $edit->sclitipo->db_name = 'sclitipo';
        $edit->sclitipo->pointer = true;
        $edit->sclitipo->insertValue = 1;
        $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
        $edit->fecha->insertValue = date('Y-m-d');
        $edit->fecha->rule = 'required';
        $edit->fecha->mode = 'autohide';
        $edit->fecha->size = 10;
        $edit->tipo_doc = new dropdownField('Documento', 'tipo_doc');
        $edit->tipo_doc->option('F', 'Factura');
        $edit->tipo_doc->option('D', 'Devoluci&oacute;n');
        $edit->tipo_doc->style = 'width:120px;';
        $edit->tipo_doc->size = 5;
        $edit->tipo_doc->rule = 'required';
        $edit->vd = new dropdownField('Vendedor', 'vd');
        $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
        $edit->vd->style = 'width:120px;';
        $edit->vd->insertValue = $this->secu->getvendedor();
        $edit->almacen = new dropdownField('Almac&eacute;n', 'almacen');
        $edit->almacen->options('SELECT ubica,ubides FROM caub WHERE gasto="N" ORDER BY ubides');
        $edit->almacen->rule = 'required';
        $alma = $this->secu->getalmacen();
        if (strlen($alma) <= 0) {
            $alma = $this->datasis->traevalor('ALMACEN');
        }
        $edit->almacen->insertValue = $alma;
        $edit->almacen->style = 'width:120px;';
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->size = 10;
        $edit->numero->mode = 'autohide';
        $edit->numero->maxlength = 8;
        $edit->numero->apply_rules = false;
        //necesario cuando el campo es clave y no se pide al usuario
        $edit->numero->when = array('show', 'modify');
        $edit->factura = new inputField('Factura', 'factura');
        $edit->factura->size = 10;
        $edit->factura->mode = 'autohide';
        $edit->factura->maxlength = 8;
        $edit->factura->rule = 'condi_required|callback_chfactura';
        $edit->peso = new inputField('Peso', 'peso');
        $edit->peso->css_class = 'inputnum';
        $edit->peso->readonly = true;
        $edit->peso->size = 10;
        $edit->cliente = new inputField('Cliente', 'cod_cli');
        $edit->cliente->size = 6;
        $edit->cliente->autocomplete = false;
        $edit->cliente->rule = 'required|existescli';
        //$edit->cliente->append($boton);
        $edit->nombre = new hiddenField('Nombre', 'nombre');
        $edit->nombre->size = 25;
        $edit->nombre->maxlength = 40;
        $edit->nombre->readonly = true;
        $edit->nombre->autocomplete = false;
        $edit->nombre->rule = 'required';
        $edit->upago = new hiddenField('Ultimo pago de servicio', 'upago');
        $edit->upago->readonly = true;
        $edit->upago->autocomplete = false;
        $edit->rifci = new hiddenField('RIF/CI', 'rifci');
        $edit->rifci->autocomplete = false;
        $edit->rifci->readonly = true;
        $edit->rifci->size = 15;
        $edit->direc = new hiddenField('Direcci&oacute;n', 'direc');
        $edit->direc->readonly = true;
        $edit->direc->size = 40;
        $edit->cajero = new dropdownField('Cajero', 'cajero');
        $edit->cajero->options('SELECT cajero,nombre FROM scaj ORDER BY nombre');
        $edit->cajero->rule = 'required|cajerostatus';
        $edit->cajero->style = 'width:120px;';
        $edit->cajero->insertValue = $this->secu->getcajero();
        $edit->descuento = new hiddenField('Desc.', 'descuento');
        $edit->descuento->insertValue = '0';
        //***********************************
        //  Campos para el detalle 1 sitems
        //***********************************
        $edit->codigoa = new inputField('C&oacute;digo <#o#>', 'codigoa_<#i#>');
        $edit->codigoa->size = 12;
        $edit->codigoa->db_name = 'codigoa';
        $edit->codigoa->rel_id = 'sitems';
        $edit->codigoa->rule = 'required';
        $edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
        $edit->desca->size = 36;
        $edit->desca->db_name = 'desca';
        $edit->desca->maxlength = 50;
        $edit->desca->readonly = true;
        $edit->desca->rel_id = 'sitems';
        $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>');
        $edit->cana->db_name = 'cana';
        $edit->cana->css_class = 'inputnum';
        $edit->cana->rel_id = 'sitems';
        $edit->cana->maxlength = 10;
        $edit->cana->size = 6;
        $edit->cana->rule = 'required|positive|callback_chcanadev[<#i#>]';
        $edit->cana->autocomplete = false;
        $edit->cana->onkeyup = 'importe(<#i#>)';
        $edit->cana->showformat = 'decimal';
        $edit->cana->disable_paste = true;
        $edit->preca = new inputField('Precio <#o#>', 'preca_<#i#>');
        $edit->preca->db_name = 'preca';
        $edit->preca->css_class = 'inputnum';
        $edit->preca->rel_id = 'sitems';
        $edit->preca->size = 10;
        $edit->preca->rule = 'required|positive|callback_chpreca[<#i#>]';
        $edit->preca->readonly = true;
        $edit->preca->showformat = 'decimal';
        $edit->detalle = new hiddenField('', 'detalle_<#i#>');
        $edit->detalle->db_name = 'detalle';
        $edit->detalle->rel_id = 'sitems';
        $edit->tota = new inputField('Importe <#o#>', 'tota_<#i#>');
        $edit->tota->db_name = 'tota';
        $edit->tota->type = 'inputhidden';
        $edit->tota->size = 10;
        $edit->tota->css_class = 'inputnum';
        $edit->tota->rel_id = 'sitems';
        $edit->tota->showformat = 'decimal';
        for ($i = 1; $i < 4; $i++) {
            $obj = 'precio' . $i;
            $edit->{$obj} = new hiddenField('Precio <#o#>', $obj . '_<#i#>');
            $edit->{$obj}->db_name = 'sinv' . $obj;
            $edit->{$obj}->rel_id = 'sitems';
            $edit->{$obj}->pointer = true;
        }
        $edit->precio4 = new hiddenField('', 'precio4_<#i#>');
        $edit->precio4->db_name = 'precio4';
        $edit->precio4->rel_id = 'sitems';
        $edit->combo = new hiddenField('', 'combo_<#i#>');
        $edit->combo->db_name = 'combo';
        $edit->combo->rel_id = 'sitems';
        $edit->itiva = new hiddenField('', 'itiva_<#i#>');
        $edit->itiva->db_name = 'iva';
        $edit->itiva->rel_id = 'sitems';
        $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>');
        $edit->sinvpeso->db_name = 'sinvpeso';
        $edit->sinvpeso->rel_id = 'sitems';
        $edit->sinvpeso->pointer = true;
        $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>');
        $edit->sinvtipo->db_name = 'sinvtipo';
        $edit->sinvtipo->rel_id = 'sitems';
        $edit->sinvtipo->pointer = true;
        //************************************************
        //fin de campos para detalle,inicio detalle2 sfpa
        //************************************************
        $edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
        $edit->tipo->option('', 'CREDITO');
        $edit->tipo->options('SELECT tipo, nombre FROM tarjeta WHERE activo=\'S\' ORDER BY nombre');
        $edit->tipo->db_name = 'tipo';
        $edit->tipo->rel_id = 'sfpa';
        $edit->tipo->insertValue = 'EF';
        $edit->tipo->style = 'width:150px;';
        $edit->tipo->onchange = 'sfpatipo(<#i#>)';
        //$edit->tipo->rule     = 'required';
        $edit->sfpafecha = new dateonlyField('Fecha', 'sfpafecha_<#i#>');
        $edit->sfpafecha->rel_id = 'sfpa';
        $edit->sfpafecha->db_name = 'fecha';
        $edit->sfpafecha->size = 10;
        $edit->sfpafecha->maxlength = 8;
        $edit->sfpafecha->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->numref = new inputField('Numero <#o#>', 'num_ref_<#i#>');
        $edit->numref->size = 12;
        $edit->numref->db_name = 'num_ref';
        $edit->numref->rel_id = 'sfpa';
        $edit->numref->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->banco = new dropdownField('Banco <#o#>', 'banco_<#i#>');
        $edit->banco->option('', 'Ninguno');
        $edit->banco->options('SELECT cod_banc,nomb_banc
			FROM tban
			WHERE cod_banc<>\'CAJ\'
		UNION ALL
			SELECT codbanc,CONCAT_WS(\' \',TRIM(banco),numcuent)
			FROM banc
			WHERE tbanco <> \'CAJ\' ORDER BY nomb_banc');
        $edit->banco->db_name = 'banco';
        $edit->banco->rel_id = 'sfpa';
        $edit->banco->style = 'width:180px;';
        $edit->banco->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->monto = new inputField('Monto <#o#>', 'monto_<#i#>');
        $edit->monto->db_name = 'monto';
        $edit->monto->css_class = 'inputnum';
        $edit->monto->rel_id = 'sfpa';
        $edit->monto->size = 10;
        $edit->monto->rule = 'required|mayorcero';
        $edit->monto->showformat = 'decimal';
        //************************************************
        // Fin detalle 2 (sfpa)
        //************************************************
        $edit->ivat = new hiddenField('I.V.A', 'iva');
        $edit->ivat->css_class = 'inputnum';
        $edit->ivat->readonly = true;
        $edit->ivat->size = 10;
        $edit->totals = new hiddenField('Sub-Total', 'totals');
        $edit->totals->css_class = 'inputnum';
        $edit->totals->readonly = true;
        $edit->totals->size = 10;
        $edit->totalg = new hiddenField('Total', 'totalg');
        $edit->totalg->css_class = 'inputnum';
        $edit->totalg->readonly = true;
        $edit->totalg->size = 10;
        $edit->observa = new inputField('Observacion', 'observa');
        $edit->nfiscal = new inputField('No.Fiscal', 'nfiscal');
        $edit->observ1 = new inputField('Observacion', 'observ1');
        $edit->zona = new inputField('Zona', 'zona');
        $edit->ciudad = new inputField('Ciudad', 'ciudad');
        $edit->exento = new inputField('Exento', 'exento');
        $edit->maqfiscal = new inputField('Mq.Fiscal', 'maqfiscal');
        $edit->referen = new inputField('Referencia', 'referen');
        $edit->pfac = new hiddenField('Presupuesto', 'pfac');
        $edit->reiva = new inputField('Retencion de IVA', 'reiva');
        $edit->creiva = new inputField('Comprobante', 'creiva');
        $edit->freiva = new inputField('Fecha', 'freiva');
        $edit->ereiva = new inputField('Emision', 'ereiva');
        $edit->manual = new hiddenField('Manual', 'manual');
        $edit->manual->insertValue = 'N';
        $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
        $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
        $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
        if ($edit->_status == 'show') {
            $print_url = site_url('ventas/sfac_add/dataprint/modify') . $edit->pk_URI();
            $action = "javascript:window.location='{$print_url}'";
            $edit->button('btn_print', 'Imprimir', $action, 'TR');
        }
        $edit->buttons('save', 'back', 'add_rel');
        if (!empty($this->_url)) {
            $edit->_process_uri = $this->_url;
        }
        if (!empty($this->back_url)) {
            $edit->buttons('undo');
        }
        if ($this->genesal) {
            $edit->build();
            $conten['form'] =& $edit;
            $data['style'] = style('redmond/jquery-ui.css');
            //$data['style']  .= style('gt_grid.css');
            //$data['style']  .= style('impromptu.css');
            $data['script'] = script('jquery.js');
            $data['script'] .= script('jquery-ui.js');
            $data['script'] .= script("jquery-impromptu.js");
            $data['script'] .= script("plugins/jquery.blockUI.js");
            $data['script'] .= script('plugins/jquery.numeric.pack.js');
            $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
            $data['script'] .= phpscript('nformat.js');
            $data['script'] .= script('plugins/jquery.floatnumber.js');
            $data['script'] .= script('gt_msg_en.js');
            $data['script'] .= script('gt_grid_all.js');
            $data['content'] = $this->load->view('view_sfac_add', $conten, true);
            $data['head'] = $this->rapyd->get_head();
            $data['title'] = heading($this->titp);
            $this->load->view('view_ventanas', $data);
        } else {
            $edit->on_save_redirect = false;
            $edit->build();
            if ($edit->on_success()) {
                $this->claves = $edit->_dataobject->pk;
                $this->claves['numero'] = $edit->_dataobject->get('numero');
                $this->claves['tipo_doc'] = $edit->_dataobject->get('tipo_doc');
                $rt = 'Venta Guardada ' . $this->datasis->dameval("SELECT id FROM sfac WHERE numero=" . $edit->_dataobject->get('numero') . " AND tipo_doc='F'");
            } elseif ($edit->on_error()) {
                $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
            }
            return $rt;
        }
    }
Example #25
0
 function dataedit()
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigoa_<#i#>', 'descrip' => 'desca_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Art&iacute;culo', 'where' => '`activo` = "S"');
     $btn = $this->datasis->p_modbus($modbus, '<#i#>');
     $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Direcci&oacute;n', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli', 'nombre' => 'nombre', 'rifci' => 'rifci', 'dire11' => 'direc', 'tipo' => 'sclitipo'), 'titulo' => 'Buscar Cliente');
     $boton = $this->datasis->modbus($mSCLId);
     $do = new DataObject('sfac');
     $do->rel_one_to_many('sitems', 'sitems', array('numero' => 'numa', 'tipo_doc' => 'tipoa'));
     $do->rel_one_to_many('sfpa', 'sfpa', array('numero', 'tipo_doc'));
     $edit = new DataDetails('Facturas', $do);
     $edit->back_url = site_url('ventas/sfacc/filteredgrid');
     $edit->set_rel_title('sitems', 'Producto <#o#>');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'required';
     $edit->fecha->mode = 'autohide';
     $edit->fecha->size = 10;
     $edit->tipo_doc = new dropdownField('Tipo D.', 'tipo_doc');
     $edit->tipo_doc->option('F', 'Factura');
     $edit->tipo_doc->option('D', 'Devoluci&oacute;n');
     $edit->tipo_doc->style = 'width:200px;';
     $edit->tipo_doc->size = 5;
     $edit->vd = new dropdownField('Vendedor', 'vd');
     $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
     $edit->vd->style = 'width:200px;';
     $edit->vd->size = 5;
     $edit->numero = new inputField('N&uacute;mero', 'numero');
     $edit->numero->size = 10;
     $edit->numero->mode = 'autohide';
     $edit->numero->maxlength = 8;
     $edit->numero->apply_rules = false;
     //necesario cuando el campo es clave y no se pide al usuario
     $edit->numero->when = array('show', 'modify');
     $edit->peso = new inputField('Peso', 'peso');
     $edit->peso->css_class = 'inputnum';
     $edit->peso->readonly = true;
     $edit->peso->size = 10;
     $edit->cliente = new inputField('Cliente', 'cod_cli');
     $edit->cliente->size = 6;
     $edit->cliente->maxlength = 5;
     $edit->cliente->append($boton);
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->size = 25;
     $edit->nombre->maxlength = 40;
     $edit->nombre->autocomplete = false;
     $edit->nombre->rule = 'required';
     $edit->rifci = new inputField('RIF/CI', 'rifci');
     $edit->rifci->autocomplete = false;
     $edit->rifci->size = 15;
     $edit->direc = new inputField('Direcci&oacute;n', 'direc');
     $edit->direc->size = 40;
     //**************************
     //  Campos para el detalle 1 sitems
     //**************************
     $edit->codigoa = new inputField('C&oacute;digo <#o#>', 'codigoa_<#i#>');
     $edit->codigoa->size = 12;
     $edit->codigoa->db_name = 'codigoa';
     $edit->codigoa->readonly = true;
     $edit->codigoa->rel_id = 'sitems';
     $edit->codigoa->rule = 'required';
     $edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
     $edit->desca->size = 36;
     $edit->desca->db_name = 'desca';
     $edit->desca->maxlength = 50;
     $edit->desca->readonly = true;
     $edit->desca->rel_id = 'sitems';
     $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>');
     $edit->cana->db_name = 'cana';
     $edit->cana->css_class = 'inputnum';
     $edit->cana->rel_id = 'sitems';
     $edit->cana->maxlength = 10;
     $edit->cana->size = 6;
     $edit->cana->rule = 'required|positive';
     $edit->cana->autocomplete = false;
     $edit->preca = new inputField('Precio <#o#>', 'preca_<#i#>');
     $edit->preca->db_name = 'preca';
     $edit->preca->css_class = 'inputnum';
     $edit->preca->rel_id = 'sitems';
     $edit->preca->size = 10;
     $edit->preca->rule = 'required|positive';
     $edit->preca->readonly = true;
     $edit->tota = new inputField('Importe <#o#>', 'tota_<#i#>');
     $edit->tota->db_name = 'tota';
     $edit->tota->size = 10;
     $edit->tota->css_class = 'inputnum';
     $edit->tota->rel_id = 'sitems';
     //**************************
     //fin de campos para detalle,inicio detalle2 sfpa
     //**************************
     $edit->tipo = new inputField('Tipo <#o#>', 'tipo_<#i#>');
     $edit->tipo->size = 12;
     $edit->tipo->db_name = 'tipo';
     $edit->tipo->readonly = true;
     $edit->tipo->rel_id = 'sfpa';
     $edit->tipo->rule = 'required';
     $edit->monto = new inputField('Monto <#o#>', 'monto_<#i#>');
     $edit->monto->db_name = 'monto';
     $edit->monto->css_class = 'inputnum';
     $edit->monto->rel_id = 'sfpa';
     $edit->monto->size = 10;
     $edit->monto->rule = 'required|positive';
     $edit->monto->readonly = true;
     $edit->banco = new inputField('Banco <#o#>', 'banco_<#i#>');
     $edit->banco->size = 36;
     $edit->banco->db_name = 'banco';
     $edit->banco->maxlength = 50;
     $edit->banco->readonly = true;
     $edit->banco->rel_id = 'sfpa';
     //**************************
     //Fin detalle 2
     //**************************
     $edit->ivat = new inputField('Impuesto', 'iva');
     $edit->ivat->css_class = 'inputnum';
     $edit->ivat->readonly = true;
     $edit->ivat->size = 10;
     $edit->totals = new inputField('Sub-Total', 'totals');
     $edit->totals->css_class = 'inputnum';
     $edit->totals->readonly = true;
     $edit->totals->size = 10;
     $edit->totalg = new inputField('Monto Total', 'totalg');
     $edit->totalg->css_class = 'inputnum';
     $edit->totalg->readonly = true;
     $edit->totalg->size = 10;
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $edit->buttons('modify', 'save', 'undo', 'delete', 'back', 'add_rel');
     $edit->build();
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('view_sfac', $conten, true);
     $data['title'] = heading('Facturas');
     $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js');
     $this->load->view('view_ventanas', $data);
 }
Example #26
0
    function index($id = null)
    {
        if (is_null($id)) {
            redirect('concesionario/inicio');
        }
        $this->rapyd->load('dataedit');
        $iva = $this->datasis->ivaplica();
        $sfpacana = 3;
        $sel = array('a.codigo_sinv', 'a.modelo', 'a.color', 'a.motor', 'a.carroceria', 'a.uso', 'a.anio', 'a.placa', 'b.iva', 'a.peso', 'a.precioplaca', 'a.transmision', 'b.precio1', 'b.precio2', 'b.precio3', 'b.precio4', 'b.descrip', 'a.clase', 'a.tipo');
        $this->db->select($sel);
        $this->db->from('sinvehiculo AS a');
        $this->db->join('sinv AS b', 'a.codigo_sinv=b.codigo');
        $this->db->where('a.id', $id);
        //$this->db->where('a.id_sfac IS NULL');
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $iiva = $row->iva;
            $codigo_sinv = $row->codigo_sinv;
            $modelo = $row->modelo;
            $color = $row->color;
            $motor = $row->motor;
            $carroceria = $row->carroceria;
            $uso = $row->uso;
            $anio = $row->anio;
            $peso = $row->peso;
            $placa = $row->placa;
            $transmision = $row->transmision;
            $descrip = $row->descrip;
            $precioplaca = $row->precioplaca;
            $clase = $row->clase;
            $tipo = $row->tipo;
            $precio1 = round($row->precio1 * 100 / (100 + $iiva), 2) . '';
            $precio2 = round($row->precio2 * 100 / (100 + $iiva), 2) . '';
            $precio3 = round($row->precio3 * 100 / (100 + $iiva), 2) . '';
            $precio4 = round($row->precio4 * 100 / (100 + $iiva), 2) . '';
        }
        $sfpade = $sfpach = "<option value=''>Ninguno</option>";
        $mSQL = "SELECT cod_banc,nomb_banc FROM tban WHERE cod_banc<>'CAJ'";
        $query = $this->db->query($mSQL);
        foreach ($query->result() as $row) {
            $sfpach .= "<option value='" . trim($row->cod_banc) . "'>" . trim($row->nomb_banc) . "</option>";
        }
        $mSQL = "SELECT codbanc AS cod_banc,CONCAT_WS(' ',TRIM(banco),numcuent) AS nomb_banc FROM banc WHERE tbanco <> 'CAJ' ORDER BY nomb_banc";
        $query = $this->db->query($mSQL);
        foreach ($query->result() as $row) {
            $sfpade .= "<option value='" . trim($row->cod_banc) . "'>" . trim($row->nomb_banc) . "</option>";
        }
        $jsc = '
		function calcula(){
			if($("#vh_precio").val().length>0) base=parseFloat($("#vh_precio").val()); else base=0;
			if($("#vh_tasa").val().length>0  ) tasa=parseFloat($("#vh_tasa").val())  ; else tasa=0;
			placa = Number($("#vh_precioplaca").val());

			$("#vh_monto").text(nformat(base*(1+(tasa/100))+placa ,2));
			$("#totalg").val(roundNumber(base*(1+(tasa/100))+placa ,2));
		}

		function calculaiva(){
			if($("#vh_tasa").val().length>0){
				tasa=parseFloat($("#vh_tasa").val());
				if($("#vh_montoiva").val().length>0) montoiva=parseFloat($("#montoiva").val()); else montoiva=0;
				$("#vh_base").val(roundNumber(montoiva*100/tasa,2));
			}
		}

		function post_modbus_sinv(){
			$("#descrip_0_val").text($("#descrip_0").val());
		}

		function post_modbus_sprv(){
			$("#nombre_val").text($("#nombre").val());
		}

		//Totaliza el monto por pagar
		function apagar(nom){
			var pago=0;
			jQuery.each($(\'input[id^="monto_"]:not(#\'+nom+\')\'), function() {
				pago+=Number($(this).val());
			});
			return pago;
		}

		//Determina lo que falta por pagar
		function faltante(nom){
			totalg=Number($("#totalg").val());
			paga  = apagar(nom);
			resto = totalg-paga;
			return resto;
		}

		function saldo(forma){
			var falta=faltante(forma.name);
			$(forma).val(falta);
		}
		';
        $edit = new DataForm($this->url . 'venta/' . $id . '/insert');
        $edit->back_url = site_url($this->url . 'filteredgrid');
        $edit->cliente = new inputField('Cliente', 'cod_cli');
        $edit->cliente->size = 6;
        $edit->cliente->autocomplete = false;
        $edit->cliente->rule = 'required|existescli';
        //$edit->cliente->append($boton);
        $edit->cliente->group = 'Datos de la factura';
        $edit->rifci = new freeField('Modelo', 'rif', '<span id="rifci_val"></span>');
        $edit->rifci->group = 'Datos del veh&iacute;culo';
        $edit->rifci->in = 'cliente';
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->size = 50;
        $edit->nombre->maxlength = 40;
        $edit->nombre->type = 'inputhidden';
        $edit->nombre->group = 'Datos de la factura';
        $edit->nombre->in = 'cliente';
        $edit->almacen = new dropdownField('Almac&eacute;n', 'almacen');
        $edit->almacen->options('SELECT ubica,ubides FROM caub WHERE gasto="N" ORDER BY ubides');
        $edit->almacen->rule = 'required';
        $alma = $this->secu->getalmacen();
        if (strlen($alma) <= 0) {
            $alma = $this->datasis->traevalor('ALMACEN');
        }
        $edit->almacen->insertValue = $alma;
        $edit->almacen->style = 'width:200px;';
        $edit->almacen->group = 'Datos de la factura';
        $edit->vd = new dropdownField('Vendedor', 'vd');
        $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
        $edit->vd->style = 'width:200px;';
        $edit->vd->insertValue = $this->secu->getvendedor();
        $edit->vd->group = 'Datos de la factura';
        $edit->codigo = new freeField('Modelo', 'codigo_0', $codigo_sinv);
        $edit->codigo->group = 'Datos del veh&iacute;culo';
        $edit->descrip = new freeField('Modelo', 'modelo', $modelo);
        $edit->descrip->group = 'Datos del veh&iacute;culo';
        $edit->descrip->in = 'codigo';
        $edit->anio = new freeField('A&ntildeo', 'vh_anio', $anio);
        $edit->anio->group = 'Datos del veh&iacute;culo';
        $edit->anio->in = 'codigo';
        $edit->color = new freeField('Color', 'vh_color', $color);
        $edit->color->group = 'Datos del veh&iacute;culo';
        $edit->motor = new freeField('<b>Serial de Motor</b>', 'vh_motor', '<b style="font-size:1.5em">' . $motor . '</b>');
        $edit->motor->group = 'Datos del veh&iacute;culo';
        $edit->carroceria = new freeField('<b>Serial de Carrocer&iacute;a</b>', 'vh_carroceria', '<b style="font-size:1.5em">' . $carroceria . '</b>');
        $edit->carroceria->group = 'Datos del veh&iacute;culo';
        if ($uso == 'P') {
            $uso = 'Particular';
        } elseif ($uso == 'C') {
            $uso = 'Carga';
        } elseif ($uso == 'T') {
            $uso = 'Trabajo';
        }
        $edit->uso = new freeField('Uso', 'vh_uso', $uso);
        $edit->uso->group = 'Datos del veh&iacute;culo';
        $edit->tipo = new freeField('Tipo', 'vh_tipo', $tipo);
        $edit->tipo->group = 'Datos del veh&iacute;culo';
        $edit->clase = new freeField('Clase', 'vh_clase', $clase);
        $edit->clase->group = 'Datos del veh&iacute;culo';
        $edit->transmision = new freeField('Transmisi&oacute;n', 'vh_transmision', $transmision);
        $edit->transmision->group = 'Datos del veh&iacute;culo';
        $edit->peso = new freeField('Peso Kg.', 'peso', nformat($peso));
        $edit->peso->group = 'Datos del veh&iacute;culo';
        if (empty($placa)) {
            $edit->placa = new inputField('Placa', 'vh_placa');
            //$edit->placa->rule  = 'required';
            $edit->placa->size = 10;
            $edit->placa->group = 'Datos del veh&iacute;culo';
        } else {
            $edit->placa = new freeField('Placa', 'vh_placa', $placa);
            $edit->placa->group = 'Datos del veh&iacute;culo';
        }
        $edit->precioplaca = new inputField('Precio placa', 'vh_precioplaca');
        $edit->precioplaca->insertValue = $precioplaca;
        $edit->precioplaca->rule = 'required|mayorcero';
        $edit->precioplaca->css_class = 'inputnum';
        $edit->precioplaca->autocomplete = false;
        $edit->precioplaca->size = 10;
        //$edit->precioplaca = new freeField('Precio placa.','vh_precioplaca',nformat($precioplaca));
        //$edit->precioplaca->group = 'Datos del financieros';
        //$edit->precioplaca->showformat='decimal';
        $edit->observa = new inputField('Observaci&oacute;n', 'observa');
        $edit->base = new dropdownField('Monto base de venta', 'vh_precio');
        $edit->base->rule = 'required|numeric';
        $edit->base->style = 'width:150px';
        $edit->base->group = 'Datos del financieros';
        $edit->base->option($precio1, nformat($precio1));
        $edit->base->option($precio2, nformat($precio2));
        $edit->base->option($precio3, nformat($precio3));
        $edit->base->option($precio4, nformat($precio4));
        $edit->tasa = new hiddenField('Tasa %', 'vh_tasa');
        $edit->tasa->rule = 'required|numeric';
        $edit->tasa->insertValue = $iva['tasa'];
        $edit->tasa->group = 'Datos del financieros';
        $edit->ttasa = new freeField(' ', 'v_tasa', nformat($iva['tasa']));
        $edit->ttasa->in = 'tasa';
        $edit->precio = new freeField('<b>Monto a pagar</b>', 'monto', '<b id="vh_monto" style="font-size:2em">0.0</b>');
        $edit->totalg = new hiddenField(' ', 'totalg');
        $edit->totalg->insertValue = 0;
        $edit->totalg->in = 'precio';
        for ($i = 0; $i < $sfpacana; $i++) {
            $o = $i + 1;
            $obj = "tipo_{$i}";
            $edit->{$obj} = new dropdownField("{$o}-Tipo", $obj);
            $edit->{$obj}->option('', 'CREDITO');
            $edit->{$obj}->options('SELECT tipo, nombre FROM tarjeta WHERE activo=\'S\' ORDER BY nombre');
            $edit->{$obj}->db_name = 'tipo';
            $edit->{$obj}->rel_id = 'sfpa';
            $edit->{$obj}->insertValue = 'EF';
            $edit->{$obj}->style = 'width:150px;';
            $edit->{$obj}->onchange = "sfpatipo({$i})";
            $edit->{$obj}->group = "<b  style='font-size:1.5em'>Forma de pago {$o}|sfpa_{$i}";
            $obj = "sfpafecha_{$i}";
            $edit->{$obj} = new dateonlyField("{$o}-Fecha", $obj);
            $edit->{$obj}->rel_id = 'sfpa';
            $edit->{$obj}->db_name = 'fecha';
            $edit->{$obj}->size = 10;
            $edit->{$obj}->maxlength = 8;
            $edit->{$obj}->rule = "condi_required|callback_chtipo[{$i}]";
            $edit->{$obj}->group = "<b  style='font-size:1.5em'>Forma de pago {$o}|sfpa_{$i}";
            $obj = "numref_{$i}";
            $edit->{$obj} = new inputField("{$o}-N&uacute;mero", $obj);
            $edit->{$obj}->size = 12;
            $edit->{$obj}->db_name = 'num_ref';
            $edit->{$obj}->rel_id = 'sfpa';
            $edit->{$obj}->rule = "condi_required|callback_chtipo[{$i}]";
            $edit->{$obj}->group = "<b  style='font-size:1.5em'>Forma de pago {$o}|sfpa_{$i}";
            $obj = "banco_{$i}";
            $edit->{$obj} = new dropdownField("{$o}-Banco", $obj);
            $edit->{$obj}->option('', 'Ninguno');
            $edit->{$obj}->db_name = 'banco';
            $edit->{$obj}->rel_id = 'sfpa';
            $edit->{$obj}->style = 'width:180px;';
            $edit->{$obj}->rule = "condi_required|callback_chtipo[{$i}]";
            $edit->{$obj}->group = "<b  style='font-size:1.5em'>Forma de pago {$o}|sfpa_{$i}";
            $edit->{$obj}->options('SELECT cod_banc,nomb_banc
				FROM tban
				WHERE cod_banc<>\'CAJ\'
			UNION ALL
				SELECT codbanc,CONCAT_WS(\' \',TRIM(banco),numcuent)
				FROM banc
				WHERE tbanco <> \'CAJ\' ORDER BY nomb_banc');
            $obj = "monto_{$i}";
            $edit->{$obj} = new inputField("{$o}-Monto", $obj);
            $edit->{$obj}->db_name = 'monto';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->rel_id = 'sfpa';
            $edit->{$obj}->size = 10;
            //$edit->$obj->rule      = 'required|mayorcero';
            $edit->{$obj}->insertValue = '0';
            $edit->{$obj}->autocomplete = false;
            $edit->{$obj}->showformat = 'decimal';
            $edit->{$obj}->onfocus = 'saldo(this);';
            $edit->{$obj}->group = "<b  style='font-size:1.5em'>Forma de pago {$o}|sfpa_{$i}";
        }
        $accion = "javascript:window.location='" . site_url('concesionario/inicio') . "'";
        $edit->button('btn_cargar', 'Regresar', $accion, 'BL');
        $edit->submit('btnsubmit', 'Realizar venta');
        $edit->build_form();
        if ($edit->on_success()) {
            $this->genesal = false;
            $sel = array('a.rifci', 'a.dire11');
            $this->db->select($sel);
            $this->db->from('scli AS a');
            $this->db->where('a.cliente', $edit->cliente->newValue);
            //$this->db->where('a.id_sfac IS NULL');
            $query = $this->db->get();
            if ($query->num_rows() > 0) {
                $row = $query->row();
                $rifci = $row->rifci;
                $dire11 = $row->dire11;
            }
            $descrip = $this->datasis->dameval("SELECT descrip FROM sinv WHERE codigo='PLACA'");
            if (isset($_POST['vh_placa'])) {
                $dbplaca = $this->db->escape(strtoupper($_POST['vh_placa']));
                $mSQL = "UPDATE sinvehiculo SET placa={$dbplaca} WHERE id=" . $this->db->escape($id);
                $this->db->simple_query($mSQL);
            }
            $precioplaca = $edit->precioplaca->newValue;
            $_POST['btn_submit'] = 'Guardar';
            $_POST['pfac'] = '';
            $_POST['fecha'] = date('d/m/Y');
            $_POST['cajero'] = $this->secu->getcajero();
            $_POST['vd'] = $edit->vd->newValue;
            $_POST['almacen'] = $edit->almacen->newValue;
            $_POST['tipo_doc'] = 'F';
            $_POST['factura'] = '';
            $_POST['cod_cli'] = $edit->cliente->newValue;
            $_POST['sclitipo'] = '1';
            $_POST['nombre'] = $edit->nombre->newValue;
            $_POST['rifci'] = $rifci;
            $_POST['direc'] = $dire11;
            $_POST['referen'] = '';
            $_POST['codigoa_0'] = 'PLACA';
            $_POST['desca_0'] = empty($descrip) ? 'PLACA' : $descrip;
            //$_POST['detalle_0']   = 'PLACA '.$placa;
            $_POST['detalle_0'] = '';
            $_POST['cana_0'] = 1;
            $_POST['preca_0'] = $precioplaca;
            $_POST['tota_0'] = $precioplaca;
            $_POST['precio1_0'] = $precioplaca;
            $_POST['precio2_0'] = $precioplaca;
            $_POST['precio3_0'] = $precioplaca;
            $_POST['precio4_0'] = $precioplaca;
            $_POST['itiva_0'] = 0;
            $_POST['sinvpeso_0'] = 0;
            $_POST['sinvtipo_0'] = 'Articulo';
            $_POST['codigoa_1'] = $codigo_sinv;
            $_POST['desca_1'] = $modelo;
            $_POST['detalle_1'] = '';
            $_POST['cana_1'] = 1;
            $_POST['preca_1'] = $edit->base->newValue;
            $_POST['tota_1'] = $edit->base->newValue;
            $_POST['precio1_1'] = $precio1;
            $_POST['precio2_1'] = $precio2;
            $_POST['precio3_1'] = $precio3;
            $_POST['precio4_1'] = $precio4;
            $_POST['itiva_1'] = $edit->tasa->newValue;
            $_POST['sinvpeso_1'] = $peso;
            $_POST['sinvtipo_1'] = 'Articulo';
            $totals = $precioplaca + $edit->base->newValue;
            $iva = $edit->base->newValue * ($edit->tasa->newValue / 100);
            $totalg = $totals + $iva;
            for ($i = 0; $i < $sfpacana; $i++) {
                if ($_POST['monto_' . $i] == 0) {
                    unset($_POST['tipo_' . $i]);
                    unset($_POST['tipo_' . $i]);
                    unset($_POST['sfpafecha_' . $i]);
                    unset($_POST['num_ref_' . $i]);
                    unset($_POST['banco_' . $i]);
                    unset($_POST['monto_' . $i]);
                }
            }
            $_POST['totals'] = $totals;
            $_POST['iva'] = $iva;
            $_POST['totalg'] = $totalg;
            ob_start();
            $this->dataedit();
            $rt = ob_get_contents();
            @ob_end_clean();
            $ret = json_decode($rt);
            if ($ret->status == 'A') {
                $data = array();
                $data['id_sfac'] = $ret->pk->id;
                $mSQL = $this->db->update_string('sinvehiculo', $data, 'id=' . $this->db->escape($id));
                $this->db->simple_query($mSQL);
                redirect($this->url . 'ddataprint/modify/' . $data['id_sfac']);
                return;
            } else {
                $edit->error_string = htmlentities(utf8_decode($ret->mensaje));
                $edit->build_form();
            }
        }
        $script = '<script type="text/javascript" >
		$(function() {
			$(".inputnum").numeric(".");
			$(".inputonlynum").numeric();
			$("#vh_tasa").change(function(){ calcula(); });
			$("#vh_precio").change(function(){ calcula(); });
			$("#vh_precioplaca").bind("keyup",function() { calcula(); });
			//$("#vh_montoiva").bind("keyup",function() { calculaiva(); });
			calcula();

			$("#cod_cli").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscascli') . '",
						type: "POST",
						dataType: "json",
						data: "q="+req.term,
						success:
							function(data){
								var sugiere = [];
								if(data.length==0){
									$("#cod_cli").val("");
									$("#nombre").val("");
									$("#nombre_val").text("");
									$("#rifci_val").text("");

								}else{
									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#cod_cli").attr("readonly", "readonly");
					$("#nombre").val(ui.item.nombre);
					$("#nombre_val").text(ui.item.nombre);

					$("#rifci_val").text(ui.item.rifci);

					$("#cod_cli").val(ui.item.cod_cli);
					setTimeout(function() {  $("#cod_cli").removeAttr("readonly"); }, 1500);
				}
			});

		});
		' . $jsc . '

		function sfpatipo(id){
			id     = id.toString();
			tipo   = $("#tipo_"+id).val();
			sfpade = ' . $edit->js_escape($sfpade) . ';
			sfpach = ' . $edit->js_escape($sfpach) . ';
			banco  = $("#banco_"+id).val();
			if(tipo==\'DE\' || tipo==\'NC\' || tipo==\'DP\'){
				$("#banco_"+id).html(sfpade);
			}else{
				$("#banco_"+id).html(sfpach);
			}
			$("#banco_"+id).val(banco);
			return true;
		}

		</script>';
        $data['content'] = $edit->output;
        $data['script'] = script('jquery.js');
        $data['script'] .= script('jquery-ui.js');
        $data['script'] .= script('plugins/jquery.numeric.pack.js');
        $data['script'] .= script('plugins/jquery.floatnumber.js');
        $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
        $data['script'] .= phpscript('nformat.js');
        $data['head'] = $this->rapyd->get_head();
        $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css');
        //$data['script']  = script('jquery.js').script('plugins/jquery.numeric.pack.js').script('plugins/jquery.floatnumber.js').phpscript('nformat.js');
        $data['script'] .= $script;
        $data['title'] = heading($this->t**s);
        $this->load->view('view_ventanas', $data);
    }
Example #27
0
<html>
<head>
<title>Proteo ERP - <?php 
echo trim($title);
?>
</title>
<?php 
$cintu = '
<table width="100%" bgcolor="#2067B5">
	<tr>
		<td align="left" width="80px"><img src="' . base_url() . 'assets/default/css/templete_01.jpg" width="120"></td><td align="center"><h1 style="font-size: 20px; color: rgb(255, 255, 255);" onclick="history.back()">' . $encabeza . '</h1></td><td align="left" width="100px" nowrap="nowrap"><font style="color:#FFFFFF;font-size:12px">Usuario: ' . $this->secu->usuario() . '<br/>' . $this->secu->getnombre() . '</font></td><td align="right" width="28px"><img src="' . base_url() . 'assets/default/images/cerrar.png" alt="Cerrar Ventana" title="Cerrar Ventana" onclick="parent.window.close()" width="25"></td>
	</tr>
</table>
';
echo "<!-- JQUERY -->";
echo phpscript('nformat.js');
echo script('jquery-min.js');
echo script('jquery-migrate-min.js');
echo script('plugins/jquery.numeric.pack.js');
echo script('jquery-ui-1.8.2.custom.min.js');
echo script('jquery.ui.selectmenu.js');
echo script('ui.multiselect.js');
echo script('jquery.contextmenu.js');
echo script('jquery.tablednd.js');
echo "\n";
echo style("themes/redmond/redmond.css");
echo style("ui.multiselect.css");
echo "\n";
echo style('jquery.ui.selectmenu.css');
echo "\n";
echo style('themes/ui.jqgrid.css');
Example #28
0
    function dataedit($status = '', $id = '')
    {
        $this->rapyd->uri->keep_persistence();
        $this->rapyd->load('dataedit2', 'dataobject');
        $link = site_url('inventario/common/add_marc');
        $link4 = site_url('inventario/common/get_marca');
        $link5 = site_url('inventario/common/add_unidad');
        $link6 = site_url('inventario/common/get_unidad');
        $link7 = site_url('inventario/sinv/ultimo');
        $link8 = site_url('inventario/sinv/sugerir');
        $link9 = site_url('inventario/common/add_depto');
        $link10 = site_url('inventario/common/get_depto');
        $link11 = site_url('inventario/common/add_linea');
        $link12 = site_url('inventario/common/get_linea');
        $link13 = site_url('inventario/common/add_grupo');
        $link14 = site_url('inventario/common/get_grupo');
        $script = '
		function dpto_change(){
			$.post("' . $link12 . '",{ depto:$("#depto").val() },function(data){$("#linea").html(data);})
			$.post("' . $link14 . '",{ linea:"" },function(data){$("#grupo").html(data);})
		}
		$(function(){
			$("#depto").change(function(){dpto_change(); });
			$("#linea").change(function(){ $.post("' . $link14 . '",{ linea:$(this).val() },function(data){$("#grupo").html(data);}) });

			$("#tdecimal").change(function(){
				var clase;
				if($(this).attr("value")=="S") clase="inputnum"; else clase="inputonlynum";
				$("#exmin").unbind();$("#exmin").removeClass(); $("#exmin").addClass(clase);
				$("#exmax").unbind();$("#exmax").removeClass(); $("#exmax").addClass(clase);
				$("#exord").unbind();$("#exord").removeClass(); $("#exord").addClass(clase);
				$("#exdes").unbind();$("#exdes").removeClass(); $("#exdes").addClass(clase);

				$(".inputnum").numeric(".");
				$(".inputonlynum").numeric("0");
			});
			cambioprecio("I");
			//requeridos(true);
		});

		function ultimo(){
			$.ajax({
				url: "' . $link7 . '",
				success: function(msg){
				  alert( "El &uacute;ltimo c&oacute;digo ingresado fue: " + msg );
				}
			});
		}

		function sugerir(){
			$.ajax({
				url: "' . $link8 . '",
				success: function(msg){
					if(msg){
						$("#codigo").val(msg);
					}
					else{
						alert("No es posible generar otra sugerencia. Coloque el c&oacute;digo manualmente");
					}
				}
			});
		}

		function add_marca(){
			marca=prompt("Introduza el nombre de la MARCA a agregar");
			if(marca==null){
			}else{
				$.ajax({
				 type: "POST",
				 processData:false,
					url: "' . $link . '",
					data: "valor="+marca,
					success: function(msg){
						if(msg=="s.i"){
							marca=marca.substr(0,30);
							$.post("' . $link4 . '",{ x:"" },function(data){$("#marca").html(data);$("#marca").val(marca);})
						}
						else{
							alert("Disculpe. En este momento no se ha podido agregar la marca, por favor intente mas tarde");
						}
					}
				});
			}
		}

		function add_unidad(){
			unidad=prompt("Introduza el nombre de la UNIDAD a agregar");
			if(unidad==null){
			}else{
				$.ajax({
				 type: "POST",
				 processData:false,
					url: "' . $link5 . '",
					data: "valor="+unidad,
					success: function(msg){
						if(msg=="s.i"){
							unidad=unidad.substr(0,8);
							$.post("' . $link6 . '",{ x:"" },function(data){$("#unidad").html(data);$("#unidad").val(unidad);})
						}
						else{
							alert("Disculpe. En este momento no se ha podido agregar la unidad, por favor intente mas tarde");
						}
					}
				});
			}
		}

		function add_depto(){
			depto=prompt("Introduza el nombre del DEPARTAMENTO a agregar");
			if(depto==null){
			}else{
				$.ajax({
				 type: "POST",
				 processData:false,
					url: "' . $link9 . '",
					data: "valor="+depto,
					success: function(msg){
						if(msg=="Y.a-Existe"){
							alert("Ya existe un Departamento con esa Descripcion");
						}
						else{
							if(msg=="N.o-SeAgrego"){
								alert("Disculpe. En este momento no se ha podido agregar el departamento, por favor intente mas tarde");
							}else{
								$.post("' . $link10 . '",{ x:"" },function(data){$("#depto").html(data);$("#depto").val(msg);})
							}
						}
					}
				});
			}
		}

		function add_linea(){
			deptoval=$("#depto").val();
			if(deptoval==""){
				alert("Debe seleccionar un Departamento al cual agregar la linea");
			}else{
				linea=prompt("Introduza el nombre de la LINEA a agregar al DEPARTAMENTO seleccionado");
				if(linea==null){
				}else{
					$.ajax({
					 type: "POST",
					 processData:false,
						url: "' . $link11 . '",
						data: "valor="+linea+"&&valor2="+deptoval,
						success: function(msg){
							if(msg=="Y.a-Existe"){
								alert("Ya existe una Linea con esa Descripcion");
							}
							else{
								if(msg=="N.o-SeAgrego"){
									alert("Disculpe. En este momento no se ha podido agregar la linea, por favor intente mas tarde");
								}else{
									$.post("' . $link12 . '",{ depto:deptoval },function(data){$("#linea").html(data);$("#linea").val(msg);})
								}
							}
						}
					});
				}
			}
		}

		function add_grupo(){
			lineaval=$("#linea").val();
			deptoval=$("#depto").val();
			if(lineaval==""){
				alert("Debe seleccionar una Linea a la cual agregar el departamento");
			}else{
				grupo=prompt("Introduza el nombre del GRUPO a agregar a la LINEA seleccionada");
				if(grupo==null){
				}else{
					$.ajax({
					 type: "POST",
					 processData:false,
						url: "' . $link13 . '",
						data: "valor="+grupo+"&&valor2="+lineaval+"&&valor3="+deptoval,
						success: function(msg){
							if(msg=="Y.a-Existe"){
								alert("Ya existe una Linea con esa Descripcion");
							}
							else{
								if(msg=="N.o-SeAgrego"){
									alert("Disculpe. En este momento no se ha podido agregar la linea, por favor intente mas tarde");
								}else{
									$.post("' . $link14 . '",{ linea:lineaval },function(data){$("#grupo").html(data);$("#grupo").val(msg);})
								}
							}
						}
					});
				}
			}
		}';
        $do = new DataObject('sinv');
        if ($status == 'create' && !empty($id)) {
            $do->load($id);
            $do->set('codigo', '');
        }
        $edit = new DataEdit2('Maestro de Inventario', $do);
        $edit->back_save = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_cancel_delete = true;
        $edit->back_url = site_url('ajax/reccierraventana');
        $edit->pre_process('insert', '_pre_insert');
        $edit->post_process('insert', '_post_insert');
        $edit->script($script, 'create');
        $edit->script($script, 'modify');
        /*$edit->codigo = new inputField("C&oacute;digo", "codigo");
        		$edit->codigo->size=20;
        		$edit->codigo->maxlength=15;
        		$edit->codigo->rule = "trim|required|strtoupper|callback_chexiste";
        		$edit->codigo->mode="autohide";*/
        $edit->alterno = new inputField("C&oacute;digo Alterno", "alterno");
        $edit->alterno->size = 20;
        $edit->alterno->maxlength = 15;
        $edit->alterno->rule = "trim|strtoupper|callback_chexiste2";
        $edit->enlace = new inputField("C&oacute;digo Caja", "enlace");
        $edit->enlace->size = 20;
        $edit->enlace->maxlength = 15;
        $edit->enlace->rule = "trim|strtoupper";
        $edit->barras = new inputField("C&oacute;digo Barras", "barras");
        $edit->barras->size = 20;
        $edit->barras->maxlength = 15;
        $edit->barras->rule = 'trim|unique';
        $edit->tipo = new dropdownField('Tipo', 'tipo');
        $edit->tipo->style = 'width:180px;';
        $edit->tipo->option('Articulo', 'Art&iacute;culo');
        //$edit->tipo->option('Servicio','Servicio');
        //$edit->tipo->option('Descartar','Descartar');
        //$edit->tipo->option('Consumo','Consumo');
        //$edit->tipo->option('Fraccion','Fracci&oacute;n');
        //$edit->tipo->option('Lote','Lote');
        $AddUnidad = '<a href="javascript:add_unidad();" title="Haz clic para Agregar una unidad nueva">Agregar Unidad</a>';
        $edit->unidad = new dropdownField("Unidad", "unidad");
        $edit->unidad->style = 'width:180px;';
        $edit->unidad->option("", "");
        $edit->unidad->options("SELECT unidades, unidades as valor FROM unidad ORDER BY unidades");
        $edit->unidad->append($AddUnidad);
        $edit->clave = new inputField('Clave', 'clave');
        $edit->clave->size = 10;
        $edit->clave->maxlength = 8;
        $edit->clave->rule = 'trim|strtoupper';
        $AddDepto = '<a href="javascript:add_depto();" title="Haz clic para Agregar un nuevo Departamento">Agregar Departamento</a>';
        $edit->depto = new dropdownField('Departamento', 'depto');
        $edit->depto->rule = 'required';
        //$edit->depto->onchange = "get_linea();";
        $edit->depto->option('', 'Seleccione un Departamento');
        $edit->depto->options("SELECT depto, descrip FROM dpto WHERE tipo='I' ORDER BY depto");
        $edit->depto->append($AddDepto);
        $AddLinea = '<a href="javascript:add_linea();" title="Haz clic para Agregar una nueva Linea;">Agregar Linea</a>';
        $edit->linea = new dropdownField('L&iacute;nea', 'linea');
        $edit->linea->rule = 'required';
        $edit->linea->append($AddLinea);
        $depto = $edit->getval('depto');
        if ($depto !== false) {
            $dbdepto = $this->db->escape($depto);
            $edit->linea->options("SELECT linea, descrip FROM line WHERE depto={$dbdepto} ORDER BY descrip");
        } else {
            $edit->linea->option('', 'Seleccione un Departamento primero');
        }
        $AddGrupo = '<a href="javascript:add_grupo();" title="Haz clic para Agregar un nuevo Grupo;">Agregar Grupo</a>';
        $edit->grupo = new dropdownField("Grupo", "grupo");
        $edit->grupo->rule = "required";
        $edit->grupo->append($AddGrupo);
        $linea = $edit->getval('linea');
        if ($linea !== false) {
            $dblinea = $this->db->escape($linea);
            $edit->grupo->options("SELECT grupo, nom_grup FROM grup WHERE linea={$dblinea} ORDER BY nom_grup");
        } else {
            $edit->grupo->option('', 'Seleccione un Departamento primero');
        }
        $edit->fracci = new inputField('Unidad por Caja', 'fracci');
        $edit->fracci->size = 10;
        $edit->fracci->maxlength = 4;
        $edit->fracci->css_class = 'inputnum';
        $edit->fracci->rule = 'numeric|callback_positivo|trim';
        $edit->activo = new dropdownField('Activo', 'activo');
        $edit->activo->style = 'width:100px;';
        $edit->activo->option('S', 'Si');
        $edit->activo->option('N', 'No');
        $edit->serial2 = new freeField('', 'free', 'Serial');
        $edit->serial2->in = 'activo';
        $edit->serial = new dropdownField('Serial', 'serial');
        $edit->serial->style = 'width:100px;';
        $edit->serial->option('N', 'No');
        $edit->serial->option('S', 'Si');
        $edit->serial->in = "activo";
        $edit->tdecimal2 = new freeField('', 'free', 'Unidad Decimal');
        $edit->tdecimal2->in = 'activo';
        $edit->tdecimal = new dropdownField('Unidad Decimal', 'tdecimal');
        $edit->tdecimal->style = 'width:100px;';
        $edit->tdecimal->option('N', 'No');
        $edit->tdecimal->option('S', 'Si');
        $edit->tdecimal->in = "activo";
        $edit->descrip = new inputField('Descripci&oacute;n', 'descrip');
        $edit->descrip->size = 50;
        $edit->descrip->maxlength = 45;
        $edit->descrip->rule = 'trim|required|strtoupper';
        $edit->descrip2 = new inputField("Descripci&oacute;n", "descrip2");
        $edit->descrip2->size = 50;
        $edit->descrip2->maxlength = 45;
        $edit->descrip2->rule = "trim|strtoupper";
        $AddMarca = '<a href="javascript:add_marca();" title="Haz clic para Agregar una marca nueva">Agregar Marca</a>';
        $edit->marca = new dropdownField('Marca', 'marca');
        $edit->marca->style = 'width:180px;';
        $edit->marca->option('', 'Seleccionar');
        $edit->marca->rule = 'required';
        $edit->marca->options("SELECT marca AS codigo, marca FROM marc ORDER BY marca");
        $edit->marca->append($AddMarca);
        /*$edit->modelo  = new inputField("Modelo", "modelo");
        		$edit->modelo->size=20;
        		$edit->modelo->maxlength=20;
        		$edit->modelo->rule = "trim|strtoupper";*/
        $edit->clase = new dropdownField('Clase', 'clase');
        $edit->clase->style = 'width:180px;';
        $edit->clase->option('A', 'Alta Rotacion');
        $edit->clase->option('B', 'Media Rotacion');
        $edit->clase->option('C', 'Baja Rotacion');
        $edit->clase->option('I', 'Importacion Propia');
        $edit->iva = new inputField('IVA', 'iva');
        $edit->iva->css_class = 'inputnum';
        $edit->iva->size = 10;
        $edit->iva->maxlength = 6;
        $edit->iva->onchange = 'requeridos();';
        $edit->iva->append('%');
        if ($edit->_status == 'create') {
            $iva = $this->datasis->dameval("SELECT valor FROM valores WHERE nombre='IVA'");
            $edit->iva->insertValue = $iva;
        }
        $edit->ultimo = new inputField('Ultimo', 'ultimo');
        $edit->ultimo->css_class = 'inputnum';
        $edit->ultimo->size = 10;
        $edit->ultimo->maxlength = 13;
        $edit->ultimo->onchange = 'requeridos();';
        $edit->ultimo->rule = 'required';
        $edit->pond = new inputField('Promedio', 'pond');
        $edit->pond->css_class = 'inputnum';
        $edit->pond->size = 10;
        $edit->pond->maxlength = 13;
        $edit->pond->onchange = 'requeridos();';
        $edit->pond->rule = 'required';
        $edit->formcal = new dropdownField("Base C&aacute;lculo", "formcal");
        $edit->formcal->style = 'width:100px;';
        //$edit->formcal->rule='required';
        //$edit->formcal->option('','Seleccione' );
        $edit->formcal->option('U', 'Ultimo');
        $edit->formcal->option('P', 'Promedio');
        $edit->formcal->option('M', 'Mayor');
        $edit->formcal->onchange = "requeridos();calculos('I');";
        $edit->redecen = new dropdownField('Redondear', 'redecen');
        $edit->redecen->style = 'width:100px;';
        $edit->redecen->option('N', 'No');
        $edit->redecen->option('F', 'Fracci&oacute;n');
        $edit->redecen->option('D', 'Decena');
        $edit->redecen->option('C', 'Centena');
        //$edit->redecen->onchange = "redon();";
        for ($i = 1; $i <= 4; $i++) {
            $objeto = "margen{$i}";
            $edit->{$objeto} = new inputField("Margen {$i}", $objeto);
            $edit->{$objeto}->css_class = 'inputnum';
            $edit->{$objeto}->size = 10;
            $edit->{$objeto}->maxlength = 6;
            $edit->{$objeto}->onchange = "calculos('I');";
            $edit->{$objeto}->rule = 'required';
            $objeto = "Ebase{$i}";
            $edit->{$objeto} = new freeField('', '', "Precio {$i}");
            $edit->{$objeto}->in = "margen{$i}";
            $objeto = "base{$i}";
            $edit->{$objeto} = new inputField("Base {$i}", $objeto);
            $edit->{$objeto}->css_class = 'inputnum';
            $edit->{$objeto}->size = 10;
            $edit->{$objeto}->maxlength = 13;
            $edit->{$objeto}->in = "margen{$i}";
            $edit->{$objeto}->onchange = "cambiobase('I');";
            $edit->{$objeto}->rule = "required";
            $objeto = "Eprecio{$i}";
            $edit->{$objeto} = new freeField('', '', "Precio + I.V.A. {$i}");
            $edit->{$objeto}->in = "margen{$i}";
            $objeto = "precio{$i}";
            $edit->{$objeto} = new inputField("Margen {$i}", $objeto);
            $edit->{$objeto}->css_class = 'inputnum';
            $edit->{$objeto}->size = 10;
            $edit->{$objeto}->maxlength = 6;
            $edit->{$objeto}->in = "margen{$i}";
            $edit->{$objeto}->onchange = "cambioprecio('I');";
            $edit->{$objeto}->rule = "required";
        }
        $edit->descufijo = new inputField('Descuento fijo', 'descufijo');
        $edit->descufijo->size = 10;
        $edit->descufijo->maxlength = 12;
        $edit->descufijo->css_class = 'inputnum';
        $edit->descufijo->rule = 'numeric|callback_positivo|callback_chrequerido|trim';
        $edit->exmin = new inputField("Existencia Minima", "exmin");
        $edit->exmin->size = 10;
        $edit->exmin->maxlength = 12;
        $edit->exmin->css_class = 'inputonlynum';
        $edit->exmin->rule = 'numeric|callback_positivo|trim';
        $edit->exmax = new inputField('Existencia Maxima', 'exmax');
        $edit->exmax->size = 10;
        $edit->exmax->maxlength = 12;
        $edit->exmax->css_class = 'inputonlynum';
        $edit->exmax->rule = 'numeric|callback_positivo|trim';
        $edit->exord = new inputField('Existencia Ordenada', 'exord');
        $edit->exord->when = array("show");
        $edit->exdes = new inputField("Pedido", "exdes");
        $edit->exdes->when = array('show');
        $edit->existen = new inputField("Existencia Actual", "existen");
        $edit->existen->when = array("show");
        for ($i = 1; $i <= 3; $i++) {
            $objeto = "pfecha{$i}";
            $edit->{$objeto} = new dateField("Fecha {$i}", $objeto, 'd/m/Y');
            $edit->{$objeto}->when = array('show');
            $edit->{$objeto}->size = 10;
            $objeto = "Eprepro{$i}";
            $edit->{$objeto} = new freeField('', '', 'Precio');
            $edit->{$objeto}->in = "pfecha{$i}";
            $edit->{$objeto}->when = array('show');
            $objeto = "prepro{$i}";
            $edit->{$objeto} = new inputField('', $objeto);
            $edit->{$objeto}->when = array('show');
            $edit->{$objeto}->size = 10;
            $edit->{$objeto}->in = "pfecha{$i}";
            $objeto = "Eprov{$i}";
            $edit->{$objeto} = new freeField('', '', 'Proveedor');
            $edit->{$objeto}->in = "pfecha{$i}";
            $edit->{$objeto}->when = array('show');
            if ($edit->_status == 'show') {
                $prov = $edit->_dataobject->get('prov' . $i);
                $dbprov = $this->db->escape($prov);
                $proveed = $this->datasis->dameval("SELECT nombre FROM sprv WHERE proveed={$dbprov} LIMIT 1");
                $objeto = "proveed{$i}";
                $edit->{$objeto} = new freeField('', '', $proveed);
                $edit->{$objeto}->in = "pfecha{$i}";
            }
        }
        $codigo = $edit->_dataobject->get('codigo');
        $edit->almacenes = new containerField('almacenes', $this->_detalle($codigo));
        $edit->almacenes->when = array('show', 'modify');
        $edit->buttons('modify', 'save', 'undo', 'delete', 'back');
        $edit->build();
        $this->rapyd->jquery[] = '$(window).unload(function() { window.opener.location.reload(); });';
        $data['content'] = $edit->output;
        $data['title'] = heading('Inventario de Farmacia');
        $data['head'] = script('jquery.pack.js');
        $data['head'] .= script('plugins/jquery.numeric.pack.js');
        $data['head'] .= script('plugins/jquery.floatnumber.js');
        $data['head'] .= phpscript('nformat.js');
        $data['head'] .= script('sinvmaes.js');
        $data['head'] .= $this->rapyd->get_head();
        $this->load->view('view_ventanas', $data);
    }
Example #29
0
 function dataedit($opttipo)
 {
     $opt_key = array_search($opttipo, array('scli', 'sprv'));
     if ($opt_key === false) {
         show_404('');
     }
     $this->rapyd->load('dataobject', 'datadetails');
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'p_uri' => array(4 => '<#i#>'), 'where' => '`activo` = "S" AND `tipo` = "Articulo"', 'script' => array('post_modbus_sinv(<#i#>)'), 'titulo' => 'Buscar Art&iacute;culo');
     if ($opttipo == 'scli') {
         $mCLIPRO = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Direcci&oacute;n', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'clipro', 'nombre' => 'nombre', 'dire11' => 'dir_clipro', 'tipo' => 'cliprotipo'), 'titulo' => 'Buscar Cliente', 'script' => array('post_modbus_scli()'));
         $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>');
     } else {
         $mCLIPRO = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'direc1' => 'Direcci&oacute;n', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'clipro', 'nombre' => 'nombre', 'direc1' => 'dir_clipro'), 'titulo' => 'Buscar Proveedor');
         $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'ultimo' => 'precio1_<#i#>', 'ultimo' => 'precio2_<#i#>', 'ultimo' => 'precio3_<#i#>', 'ultimo' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>');
     }
     $btnc = $this->datasis->modbus($mCLIPRO);
     $btn = $this->datasis->p_modbus($modbus, '<#i#>');
     $do = new DataObject('psinv');
     $do->rel_one_to_many('itpsinv', 'itpsinv', 'numero');
     if ($opttipo == 'scli') {
         $do->pointer('scli', 'scli.cliente=psinv.clipro', 'scli.tipo AS cliprotipo', 'left');
         $do->rel_pointer('itpsinv', 'sinv', 'itpsinv.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
     } else {
         //$do->pointer('sprv' ,'sprv.proveed=psinv.clipro','"1" AS `cliprotipo`','left');
         $do->rel_pointer('itpsinv', 'sinv', 'itpsinv.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.ultimo AS sinvprecio1, sinv.ultimo AS sinvprecio2, sinv.ultimo AS sinvprecio3, sinv.ultimo AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
     }
     $edit = new DataDetails('Inventario a consignaci&oacute;n', $do);
     $edit->back_url = site_url('inventario/psinv/filteredgrid');
     $edit->set_rel_title('itpsinv', 'Producto <#o#>');
     $edit->back_url = $this->back_dataedit;
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->pre_process('delete', '_pre_delete');
     $edit->post_process('insert', '_post_insert');
     //$edit->post_process('update','_post_update');
     //$edit->post_process('delete','_post_delete');
     $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->rule = 'required';
     $edit->fecha->mode = 'autohide';
     $edit->fecha->size = 10;
     /*$edit->tipo = new dropdownField('Tipo', 'tipo');
     		$edit->tipo->option('R','Recibido');
     		$edit->tipo->option('C','Cedido');
     		//$edit->tipo->option('X','Anulado');
     		$edit->tipo->style='width:160px';*/
     $edit->vende = new dropdownField('Vendedor', 'vende');
     $edit->vende->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
     $edit->vende->style = 'width:200px;';
     $edit->vende->size = 5;
     $edit->numero = new inputField('N&uacute;mero', 'numero');
     $edit->numero->size = 10;
     $edit->numero->mode = 'autohide';
     $edit->numero->maxlength = 8;
     $edit->numero->apply_rules = false;
     //necesario cuando el campo es clave y no se pide al usuario
     $edit->numero->when = array('show', 'modify');
     $edit->peso = new inputField('Peso', 'peso');
     $edit->peso->css_class = 'inputnum';
     $edit->peso->readonly = true;
     $edit->peso->size = 10;
     $edit->clipro = new inputField($opttipo == 'scli' ? 'Cliente' : 'Proveedor', 'clipro');
     $edit->clipro->size = 6;
     $edit->clipro->maxlength = 5;
     $edit->clipro->rule = 'required';
     $edit->clipro->append($btnc);
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->size = 25;
     $edit->nombre->maxlength = 40;
     $edit->nombre->autocomplete = false;
     $edit->factura = new inputField('Factura', 'factura');
     $edit->factura->size = 10;
     $edit->factura->when = array('show');
     $edit->almacen = new dropdownField('Almac&eacute;n', 'almacen');
     $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub ORDER BY ubica');
     $edit->almacen->rule = 'required';
     $edit->almacen->style = 'width:200px;';
     $edit->almacen->size = 5;
     $edit->orden = new inputField("Orden", "orden");
     $edit->orden->size = 10;
     $edit->observa = new inputField("Observaci&oacute;n", "observa");
     $edit->observa->size = 37;
     $edit->dir_clipro = new inputField("Direcci&oacute;n", "dir_clipro");
     $edit->dir_clipro->size = 37;
     //$edit->dir_cl1 = new inputField(" ","dir_cl1");
     //$edit->dir_cl1->size = 55;
     //Para saber que precio se le va a dar al cliente
     $edit->cliprotipo = new hiddenField('', 'cliprotipo');
     $edit->cliprotipo->db_name = 'cliprotipo';
     $edit->cliprotipo->pointer = true;
     $edit->cliprotipo->insertValue = 1;
     //Campos para el detalle
     $edit->codigo = new inputField('C&oacute;digo <#o#>', 'codigo_<#i#>');
     $edit->codigo->size = 12;
     $edit->codigo->db_name = 'codigo';
     //$edit->codigo->readonly = true;
     $edit->codigo->onkeyup = 'OnEnter(event,<#i#>)';
     $edit->codigo->autocomplete = false;
     $edit->codigo->rel_id = 'itpsinv';
     $edit->codigo->rule = 'required';
     $edit->codigo->append($btn);
     $edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
     $edit->desca->size = 34;
     $edit->desca->db_name = 'desca';
     $edit->desca->maxlength = 50;
     $edit->desca->readonly = true;
     $edit->desca->rel_id = 'itpsinv';
     $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>');
     $edit->cana->db_name = 'cana';
     $edit->cana->css_class = 'inputnum';
     $edit->cana->rel_id = 'itpsinv';
     $edit->cana->maxlength = 10;
     $edit->cana->size = 6;
     $edit->cana->rule = 'required|positive';
     $edit->cana->autocomplete = false;
     $edit->cana->onkeyup = 'importe(<#i#>)';
     $edit->precio = new inputField('Precio <#o#>', 'precio_<#i#>');
     $edit->precio->db_name = 'precio';
     $edit->precio->css_class = 'inputnum';
     $edit->precio->rel_id = 'itpsinv';
     $edit->precio->size = 10;
     if ($opttipo == 'scli') {
         $edit->precio->rule = 'required|positive|callback_chpreca[<#i#>]';
     } else {
         $edit->precio->rule = 'required|positive';
     }
     $edit->precio->readonly = true;
     $edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>');
     $edit->importe->db_name = 'importe';
     $edit->importe->size = 10;
     $edit->importe->css_class = 'inputnum';
     $edit->importe->rel_id = 'itpsinv';
     for ($i = 1; $i <= 4; $i++) {
         $obj = 'precio' . $i;
         $edit->{$obj} = new hiddenField('Precio <#o#>', $obj . '_<#i#>');
         $edit->{$obj}->db_name = 'sinv' . $obj;
         $edit->{$obj}->rel_id = 'itpsinv';
         $edit->{$obj}->pointer = true;
     }
     $edit->itiva = new hiddenField('', 'itiva_<#i#>');
     $edit->itiva->db_name = 'iva';
     $edit->itiva->rel_id = 'itpsinv';
     $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>');
     $edit->sinvpeso->db_name = 'sinvpeso';
     $edit->sinvpeso->rel_id = 'itpsinv';
     $edit->sinvpeso->pointer = true;
     $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>');
     $edit->sinvtipo->db_name = 'sinvtipo';
     $edit->sinvtipo->rel_id = 'itpsinv';
     $edit->sinvtipo->pointer = true;
     //fin de campos para detalle
     $edit->impuesto = new inputField('Impuesto', 'impuesto');
     $edit->impuesto->size = 20;
     $edit->impuesto->css_class = 'inputnum';
     $edit->stotal = new inputField('Sub.Total', 'stotal');
     $edit->stotal->size = 20;
     $edit->stotal->css_class = 'inputnum';
     $edit->gtotal = new inputField('Total', 'gtotal');
     $edit->gtotal->size = 20;
     $edit->gtotal->css_class = 'inputnum';
     $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
     $edit->agente = new autoUpdateField('agente', $opttipo, $opttipo);
     $edit->buttons('save', 'undo', 'delete', 'back', 'add_rel');
     $edit->build();
     $inven = array();
     if ($opttipo == 'scli') {
         $titulo = 'Dar a cliente inventario a consignaci&oacute;n';
         $query = $this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,base1,base2,base3,base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\'');
         $edit->tipo = new autoUpdateField('tipo', 'C', 'C');
     } else {
         $titulo = 'Recibir inventario a consignaci&oacute;n de proveedor';
         $query = $this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,ultimo AS base1,ultimo AS base2,ultimo AS base3,ultimo AS base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\'');
         $edit->tipo = new autoUpdateField('tipo', 'R', 'R');
     }
     if ($query->num_rows() > 0) {
         foreach ($query->result() as $row) {
             $ind = '_' . $row->codigo;
             $inven[$ind] = array($row->descrip, $row->tipo, $row->base1, $row->base2, $row->base3, $row->base4, $row->iva, $row->peso, $row->precio1, $row->pond);
         }
     }
     $jinven = json_encode($inven);
     $conten['inven'] = $jinven;
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('view_psinv', $conten, true);
     $data['title'] = heading($titulo);
     $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js');
     $this->load->view('view_ventanas', $data);
 }
Example #30
0
    function bussug()
    {
        $this->rapyd->load('datagrid', 'datafilter2', 'fields');
        //$uri   = anchor('compras/ordc/dataedit/show/<#codigo#>','<#codigo#>');
        $uri = '<a href="javascript:void(0);" class="articulo" onclick="oselect(<jse><#codigo#></jse>,<jse><#descrip#></jse>,<jse><#iva#></jse>,<jse><#peso#></jse>,<jse><#ultimo#></jse>,<jse><#sug#></jse>,<#id#>)"><#codigo#></a>';
        $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'Código', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed'), 'titulo' => 'Buscar Proveedor');
        $bSPRV = $this->datasis->modbus($mSPRV);
        $script = '
		var vals = new Array();

		$(function(){
			$(".inputnum").numeric(".");
			$(\'input[name^="campo"]\').focus(function() {
				obj  = $(this);
				obj.select();
			});
			marcacod();
		});

		function marcacod(){
			vals = window.opener.$(\'input[name^="codigo_"]\').map(function(){return $(this).val().replace(/^\\s+/g,\'\').replace(/\\s+$/g,\'\'); }).get();

			var arr=$(".articulo");
			jQuery.each(arr, function(){
				codigo=$(this).text();
				$(this).css("color" ,"");
				$(this).attr("title","Haga click para agregarlo a la lista.");
				for (key in vals){
					if(vals[key] == codigo){
						$(this).css("color","red");
						$(this).attr("title", "Producto ya esta en la lista.");
						break;
					}
				}
			});

		}

		function oselect(codigo,descrip,iva,peso,costo,cantidad,idd){
			var sug = Number($("#campo_"+idd).val());
			if(sug>0){
				if(window.opener !== null){
					var id=window.opener.add_itordc();

					window.opener.document.getElementById("codigo_"+id).value  =codigo;
					window.opener.document.getElementById("descrip_"+id).value =descrip;
					window.opener.document.getElementById("iva_"+id).valuel    =iva;
					window.opener.document.getElementById("sinvpeso_"+id).value=peso;
					window.opener.document.getElementById("costo_"+id).value   =costo;
					window.opener.document.getElementById("cantidad_"+id).value=sug;
					window.opener.post_modbus_sinv(id);
					window.opener.importe(id);
					window.opener.totalizar();
					marcacod();
				}else{
					alert("Ventana de destino no existe");
				}
			}else{
				alert("La cantidad sugerida debe ser mayor a cero");
			}
			return false;
		}';
        function jse($string)
        {
            $string = str_replace("\r", '', $string);
            $string = str_replace("\n", '', $string);
            $string = preg_replace('/\\s\\s+/', ' ', $string);
            $string = addslashes($string);
            $string = str_replace('<', '\\<', $string);
            $string = str_replace('>', '\\>', $string);
            $string = str_replace(';', '\\;', $string);
            $string = str_replace('\\"', "'+String.fromCharCode(34)+'", $string);
            $string = '\'' . $string . '\'';
            return $string;
        }
        function divi($dividendo, $divisor)
        {
            if ($divisor > 0) {
                return ceil($dividendo / $divisor);
            } else {
                return 0;
            }
        }
        $filter = new DataFilter2('');
        $filter->script($script);
        $filter->db->select(array('a.id', 'TRIM(a.codigo) AS codigo', 'a.descrip', 'a.exmax', 'a.exmin', 'a.existen', 'a.ultimo', 'IF(a.exmax>a.existen,CEIL(a.exmax-IF(a.existen>0,a.existen,0)),0) AS sug', 'a.pfecha1', 'a.prov1', 'a.peso', 'a.iva'));
        $filter->db->from('sinv AS a');
        //$filter->db->join('sitems AS b','a.codigo=b.codigoa AND b.tipoa="F" AND b.fecha >= DATE_SUB(CURDATE(),INTERVAL 30 DAY)','left');
        //$filter->db->where('a.existen <= a.exmin');
        $filter->db->where('a.activo', 'S');
        $filter->db->where('a.tipo', 'Articulo');
        $filter->db->groupby('a.codigo');
        $filter->codigo = new inputField('C&oacute;digo', 'codigo');
        $filter->codigo->db_name = 'a.codigo';
        $filter->codigo->size = 10;
        $filter->codigo->maxlength = 15;
        $filter->descrip = new inputField('Descripci&oacute;n', 'descrip');
        $filter->descrip->rule = 'max_length[45]';
        $filter->descrip->db_name = 'a.descrip';
        $filter->descrip->size = 47;
        $filter->descrip->maxlength = 45;
        $filter->descrip->in = 'codigo';
        $filter->sprv = new inputField('Proveedor', 'proveed');
        $filter->sprv->size = 10;
        $filter->sprv->maxlength = 15;
        $filter->sprv->db_name = 'a.prov1';
        $filter->sprv->append($bSPRV);
        $filter->buttons('reset', 'search');
        $filter->build();
        $grid = new DataGrid();
        $grid->use_function('jse', 'divi');
        $grid->order_by('codigo', 'desc');
        $grid->per_page = 40;
        $campo = new inputField('Campo', 'sug');
        $campo->grid_name = 'campo_<#id#>';
        $campo->status = 'modify';
        $campo->size = 6;
        $campo->autocomplete = false;
        $campo->css_class = 'inputnum';
        $campo->disable_paste = true;
        $grid->column_orderby('C&oacute;digo', $uri, 'codigo');
        $grid->column_orderby('Descripci&oacute;n', '<#descrip#>', 'descrip');
        $grid->column('M&aacute;x-Min', '<nformat><#exmax#>|0</nformat><b>-</b><nformat><#exmin#>|0</nformat>', "align='center'");
        $grid->column_orderby('Existencia', '<nformat><#existen#></nformat>', 'existen', "align='right'");
        //$grid->column('Sugerido'            ,'<b><nformat><#sug#>|0</nformat></b>'   , "align='right'");
        $grid->column('Sugerido', $campo, "align='right'");
        $grid->column('&Uacute;ltimo costo', '<nformat><#ultimo#></nformat>', "align='right'");
        $grid->column('&Uacute;ltima compra', '<dbdate_to_human><#pfecha1#></dbdate_to_human> <#prov1#>');
        //$grid->column('Ventas S.','<nformat><divi><#venta#>|4</divi>|0</nformat>', "align='right'");
        //$grid->column('Ventas Q.','<nformat><divi><#venta#>|2</divi>|0</nformat>', "align='right'");
        //$grid->column('Ventas M.','<nformat><#venta#>|0</nformat>', "align='right'");
        $grid->build();
        $data['content'] = $filter->output . $grid->output;
        $data['title'] = heading('Productos sugueridos');
        $data['head'] = script('jquery.js');
        $data['head'] .= $this->rapyd->get_head();
        $data['head'] .= phpscript('nformat.js');
        $data['head'] .= script('plugins/jquery.numeric.pack.js');
        $data['head'] .= script('plugins/jquery.floatnumber.js');
        $this->load->view('view_ventanas', $data);
    }