コード例 #1
0
ファイル: verificador.php プロジェクト: codethics/proteoerp
 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);
     */
 }
コード例 #2
0
ファイル: view_monitor.php プロジェクト: codethics/proteoerp
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;">
コード例 #3
0
ファイル: stra.php プロジェクト: codethics/proteoerp
 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;
     }
 }
コード例 #4
0
ファイル: rret.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #5
0
ファイル: tbreserva.php プロジェクト: codethics/proteoerp
    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;
    }
コード例 #6
0
ファイル: callcenter.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #7
0
ファイル: clientes.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #8
0
ファイル: bcaj.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #9
0
ファイル: scst.php プロジェクト: codethics/proteoerp
    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);
        }
    }
コード例 #10
0
ファイル: recep.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #11
0
ファイル: ordi.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #12
0
ファイル: movimientos.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #13
0
ファイル: sfacman.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #14
0
ファイル: carpetas.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #15
0
ファイル: ordcc.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #16
0
ファイル: metas.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #17
0
ファイル: gser.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #18
0
ファイル: caudi.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #19
0
ファイル: pfaclitemayor.php プロジェクト: codethics/proteoerp
    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));
            }
        }
    }
コード例 #20
0
ファイル: gestion.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #21
0
ファイル: gsercol.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #22
0
ファイル: compra.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #23
0
ファイル: rcaj.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #24
0
ファイル: sfac_add.php プロジェクト: codethics/proteoerp
    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;
        }
    }
コード例 #25
0
ファイル: sfacc.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #26
0
ファイル: venta.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #27
0
ファイル: consulta.php プロジェクト: codethics/proteoerp
<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');
コード例 #28
0
ファイル: sinv.php プロジェクト: codethics/proteoerp
    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);
    }
コード例 #29
0
ファイル: psinv.php プロジェクト: codethics/proteoerp
 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);
 }
コード例 #30
0
ファイル: ordc.php プロジェクト: codethics/proteoerp
    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);
    }