Beispiel #1
0
 function dataedit()
 {
     $this->rapyd->load('dataedit');
     $edit = new DataEdit($this->t**s, 'bconci');
     $edit->on_save_redirect = false;
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->pre_process('insert', '_pre_insert');
     $edit->pre_process('update', '_pre_update');
     $edit->pre_process('delete', '_pre_delete');
     $edit->fecha = new dateonlyField('Fecha', 'fecha', 'm/Y');
     $edit->fecha->mode = 'autohide';
     $edit->fecha->rule = 'chfecha[m/Y]';
     $edit->fecha->size = 10;
     $edit->fecha->maxlength = 8;
     $edit->fecha->insertValue = date('Y-m-d', mktime(0, 0, 0, date('n'), 0));
     $edit->fecha->calendar = false;
     $edit->codbanc = new dropdownField('Banco', 'codbanc');
     $edit->codbanc->style = 'width:480px';
     $edit->codbanc->mode = 'autohide';
     $edit->codbanc->rule = 'required';
     $edit->codbanc->option('', 'Seleccionar');
     $edit->codbanc->options("SELECT TRIM(codbanc) AS codbanc,CONCAT_WS(' ',codbanc,banco,numcuent) AS desca FROM banc WHERE tbanco<>'CAJ'");
     $edit->saldoi = new inputField('Saldo Inicial', 'saldoi');
     $edit->saldoi->rule = 'numeric|required';
     $edit->saldoi->insertValue = '0.0';
     $edit->saldoi->css_class = 'inputnum';
     $edit->saldoi->onkeyup = 'totalizar()';
     $edit->saldoi->size = 15;
     $edit->saldoi->maxlength = 18;
     $edit->saldof = new inputField('Saldo Final', 'saldof');
     $edit->saldof->insertValue = '0.0';
     $edit->saldof->rule = 'numeric|required';
     $edit->saldof->css_class = 'inputnum';
     $edit->saldof->onkeyup = 'totalizar()';
     $edit->saldof->size = 15;
     $edit->saldof->maxlength = 18;
     $edit->deposito = new inputField('Dep&oacute;sitos', 'deposito');
     $edit->deposito->rule = 'numeric';
     $edit->deposito->type = 'inputhidden';
     $edit->deposito->insertValue = '0.0';
     $edit->deposito->css_class = 'inputnum';
     $edit->deposito->size = 20;
     $edit->deposito->maxlength = 18;
     $edit->credito = new inputField('Notas de Cr&eacute;dito', 'credito');
     $edit->credito->rule = 'numeric';
     $edit->credito->type = 'inputhidden';
     $edit->credito->insertValue = '0.0';
     $edit->credito->css_class = 'inputnum';
     $edit->credito->size = 20;
     $edit->credito->maxlength = 18;
     $edit->cheque = new inputField('Cheques', 'cheque');
     $edit->cheque->rule = 'numeric';
     $edit->cheque->type = 'inputhidden';
     $edit->cheque->insertValue = '0.0';
     $edit->cheque->css_class = 'inputnum';
     $edit->cheque->size = 20;
     $edit->cheque->maxlength = 18;
     $edit->debito = new inputField('Notas de D&eacute;bito', 'debito');
     $edit->debito->rule = 'numeric';
     $edit->debito->type = 'inputhidden';
     $edit->debito->insertValue = '0.0';
     $edit->debito->css_class = 'inputnum';
     $edit->debito->size = 20;
     $edit->debito->maxlength = 18;
     $edit->cdeposito = new inputField('Dep&oacute;sitos', 'cdeposito');
     $edit->cdeposito->rule = 'numeric';
     $edit->cdeposito->insertValue = '0.0';
     $edit->cdeposito->css_class = 'inputnum';
     $edit->cdeposito->onkeyup = 'totalizar()';
     $edit->cdeposito->size = 12;
     $edit->cdeposito->maxlength = 18;
     $edit->ccredito = new inputField('Notas de Cr&eacute;dito', 'ccredito');
     $edit->ccredito->rule = 'numeric';
     $edit->ccredito->insertValue = '0.0';
     $edit->ccredito->css_class = 'inputnum';
     $edit->ccredito->onkeyup = 'totalizar()';
     $edit->ccredito->size = 12;
     $edit->ccredito->maxlength = 18;
     $edit->ccheque = new inputField('Cheques', 'ccheque');
     $edit->ccheque->rule = 'numeric';
     $edit->ccheque->insertValue = '0.0';
     $edit->ccheque->css_class = 'inputnum';
     $edit->ccheque->onkeyup = 'totalizar()';
     $edit->ccheque->size = 12;
     $edit->ccheque->maxlength = 18;
     $edit->cdebito = new inputField('Notas de D&eacute;bito', 'cdebito');
     $edit->cdebito->rule = 'numeric';
     $edit->cdebito->insertValue = '0.0';
     $edit->cdebito->css_class = 'inputnum';
     $edit->cdebito->onkeyup = 'totalizar()';
     $edit->cdebito->size = 12;
     $edit->cdebito->maxlength = 18;
     //$edit->status = new inputField('Estatus','status');
     //$edit->status->rule='';
     //$edit->status->size =3;
     //$edit->status->maxlength =1;
     $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario());
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     $edit->build();
     if ($edit->on_success()) {
         $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk);
         echo json_encode($rt);
         return true;
     }
     if ($edit->on_error()) {
         $rt = array('status' => 'B', 'mensaje' => preg_replace('/<[^>]*>/', '', $edit->error_string), 'pk' => null);
         echo json_encode($rt);
         $act = false;
         return true;
     }
     if ($edit->on_show()) {
         $conten['form'] =& $edit;
         $this->load->view('view_bconci', $conten);
     }
 }
Beispiel #2
0
    function dataeditdialog()
    {
        $this->rapyd->load('dataedit');
        $edit = new DataEdit('', 'scli');
        $edit->on_save_redirect = false;
        $edit->cid = 'sclidialog';
        $edit->pre_process('delete', '_pre_del');
        $edit->pre_process('insert', '_pre_ins');
        $edit->pre_process('update', '_pre_udp');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->rifci = new inputField('RIF/CI', 'sclidialogrifci');
        $edit->rifci->db_name = 'rifci';
        $edit->rifci->rule = 'trim|strtoupper|required|callback_chci';
        $edit->rifci->maxlength = 13;
        $edit->rifci->size = 13;
        $edit->nombre = new inputField('Nombre', 'sclidialognombre');
        $edit->nombre->db_name = 'nombre';
        $edit->nombre->rule = 'trim|strtoupper|required';
        $edit->nombre->size = 55;
        $edit->nombre->maxlength = 45;
        $edit->nombre->style = 'width:95%;';
        $edit->grupo = new dropdownField('Grupo', 'sclidialoggrupo');
        $edit->grupo->db_name = 'grupo';
        $edit->grupo->option('', 'Seleccione un grupo');
        $edit->grupo->options('SELECT TRIM(grupo) AS grupo, CONCAT(grupo," ",gr_desc) gr_desc FROM grcl ORDER BY gr_desc');
        $edit->grupo->rule = 'required';
        $edit->grupo->size = 6;
        $edit->grupo->maxlength = 4;
        $edit->grupo->style = 'width:220px';
        $edit->grupo->insertValue = $this->datasis->dameval('SELECT grupo FROM grcl WHERE gr_desc like "CONSUMIDOR FINAL%"');
        $edit->dire11 = new inputField('Direcci&oacute;n', 'sclidialogdire11');
        $edit->dire11->db_name = 'dire11';
        $edit->dire11->rule = 'trim';
        $edit->dire11->size = 90;
        $edit->dire11->maxlength = 40;
        $edit->dire11->style = 'width:95%;';
        $edit->telefono = new inputField('Tel&eacute;fonos', 'sclidialogtelefono');
        $edit->telefono->db_name = 'telefono';
        $edit->telefono->rule = 'trim';
        $edit->telefono->size = 22;
        $edit->telefono->maxlength = 30;
        $edit->ciudad1 = new dropdownField('Ciudad', 'sclidialogciudad1');
        $edit->ciudad1->db_name = 'ciudad1';
        $edit->ciudad1->rule = 'trim';
        $edit->ciudad1->option('', 'Seleccionar');
        $edit->ciudad1->options('SELECT TRIM(ciudad) AS codigo, ciudad FROM ciud ORDER BY ciudad');
        $edit->ciudad1->style = 'width:200px';
        $edit->ciudad1->insertValue = $this->datasis->traevalor('CIUDAD');
        $edit->tiva = new dropdownField('Tipo Fiscal', 'sclidialogtiva');
        $edit->tiva->db_name = 'tiva';
        $edit->tiva->option('N', 'No Contribuyente');
        $edit->tiva->option('C', 'Contribuyente');
        $edit->tiva->option('E', 'Especial');
        $edit->tiva->option('R', 'Regimen Exento');
        $edit->tiva->option('O', 'Otro');
        $edit->tiva->style = 'width:110px';
        $edit->tiva->insertValue = 'N';
        $edit->tiva->rule = 'required|enum[N,C,E,R,O]';
        $edit->zona = new dropdownField('Zona', 'sclidialogzona');
        $edit->zona->db_name = 'zona';
        $edit->zona->rule = 'trim|required';
        $edit->zona->option('', 'Seleccionar');
        $edit->zona->options('SELECT TRIM(codigo) AS codigo, CONCAT(codigo," ", nombre) nombre FROM zona ORDER BY nombre');
        $edit->zona->style = 'width:166px';
        $edit->zona->insertValue = $this->datasis->traevalor('ZONAXDEFECTO');
        $edit->email = new inputField('E-mail', 'sclidialogemail');
        $edit->email->db_name = 'email';
        $edit->email->rule = 'trim|valid_email';
        $edit->email->size = 40;
        $edit->email->maxlength = 100;
        $edit->tipo = new autoUpdateField('tipo', '1', '1');
        $edit->credito = new autoUpdateField('credito', 'N', 'N');
        $edit->limite = new autoUpdateField('limite', '0', '0');
        $script = '
		$(function() {
			$("#sclidialogrifci").focusout(function(){

				rif=$(this).val().toUpperCase();
				$(this).val(rif);
				$("#sclidialogrifci").val(rif);
				if(!chrif(rif)){
					alert("Al parecer el RIF colocado no es correcto, por favor verifique con el SENIAT.");
					return true;
				}else{
					$.ajax({
						type: "POST",
						url: "' . site_url('ajax/traerif') . '",
						dataType: "json",
						data: {rifci: rif},
						success: function(data){
							if(data.error==0){
								if($("#sclidialognombre").val()==""){
									$("#sclidialognombre").val(data.nombre);
								}
							}
						}
					});

					//Chequea si esta repetido
					$.ajax({
						type: "POST",
						url: "' . site_url('ajax/rifrep/C') . '",
						dataType: "json",
						data: {rifci: rif, codigo: ' . json_encode($edit->get_from_dataobjetct('cliente')) . '},
						success: function(data){
							if(data.rt){
								$.prompt(data.msj,{
									buttons: { Continuar: true },
									focus: 1,
									submit:function(e,v,m,f){
										$("#nombre").focus();
									}
								});
								$("#sclidialogrifci").unbind("focusout");
							}
						}
					});
					//Fin del chequeo repetido

				}
			});
		});

		function chrif(rif){
			rif.toUpperCase();
			var patt=/[EJPGV][0-9]{9} * /g;
			if(patt.test(rif)){
				var factor= new Array(4,3,2,7,6,5,4,3,2);
				var v=0;
				if(rif[0]=="V"){
					v=1;
				}else if(rif[0]=="E"){
					v=2;
				}else if(rif[0]=="J"){
					v=3;
				}else if(rif[0]=="P"){
					v=4;
				}else if(rif[0]=="G"){
					v=5;
				}
				acum=v*factor[0];
				for(i=1;i<9;i++){
					acum=acum+parseInt(rif[i])*factor[i];
				}
				acum=11-acum%11;
				if(acum>=10 || acum<=0){
					acum=0;
				}
				return (acum==parseInt(rif[9]));
			}else{
				return true;
			}
		}';
        $edit->script($script);
        $edit->build();
        if ($edit->on_show()) {
            echo $edit->output;
        }
        if ($edit->on_success()) {
            $data = array('id' => $edit->_dataobject->get('id'), 'cliente' => $edit->_dataobject->get('cliente'), 'nombre' => $edit->_dataobject->get('nombre'), 'rifci' => $edit->_dataobject->get('rifci'), 'tipo' => $edit->_dataobject->get('tipo'), 'direc' => $edit->_dataobject->get('dire11'), 'descuento' => 0);
            $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'data' => $data, 'pk' => $edit->_dataobject->pk);
            echo json_encode($rt);
        }
        if ($edit->on_error()) {
            $rt = array('status' => 'B', 'mensaje' => $edit->error_string, 'pk' => $edit->_dataobject->pk);
            echo json_encode($rt);
        }
    }
Beispiel #3
0
    function dataedit($cliente)
    {
        if (!$this->_exitescli($cliente)) {
            redirect($this->url . 'filterscli');
        }
        $this->rapyd->load('dataobject', 'dataedit');
        $this->rapyd->uri->keep_persistence();
        $this->load->helper('form');
        $do = new DataObject('pfac');
        $do->rel_one_to_many('itpfac', 'itpfac', array('numero' => 'numa'));
        $do->pointer('scli', 'scli.cliente=pfac.cod_cli', 'scli.tipo AS sclitipo', 'left');
        $do->rel_pointer('itpfac', 'sinv', 'itpfac.codigoa=sinv.codigo', 'sinv.descrip AS sinvdescrip,
			sinv.iva AS sinviva,
			sinv.pond AS sinvpond,
			sinv.mmargen AS sinvmmargen,
			sinv.ultimo sinvultimo,sinv.formcal AS sinvformcal,
			sinv.pm AS sinvpm,
			sinv.existen AS pexisten,
			sinv.marca AS pmarca,
			sinv.descrip AS pdesca,
			sinv.escala1  AS sinvescala1,
			sinv.pescala1 AS sinvpescala1,
			sinv.escala2  AS sinvescala2,
			sinv.pescala2 AS sinvpescala2,
			sinv.escala3  AS sinvescala3,
			sinv.pescala3 AS sinvpescala3');
        $do->order_by('itpfac', 'sinv.marca', ' ');
        $do->order_by('itpfac', 'sinv.descrip', ' ');
        $edit = new DataEdit('Pedidos', $do);
        $edit->back_url = site_url('ventas/pfaclitemayor/filteredgrid');
        //$edit->set_rel_title('itpfac', 'Producto <#o#>');
        $edit->pre_process('insert', '_pre_insert');
        $edit->pre_process('update', '_pre_update');
        $edit->pre_process('delete', '_pre_delete');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->fecha = new inputField('Fecha', 'fecha');
        $edit->fecha->insertValue = date('Y-m-d');
        //$edit->fecha->rule = 'required';
        $edit->fecha->mode = 'autohide';
        $edit->fecha->size = 10;
        $usr = $this->session->userdata('usuario');
        $vd = $this->datasis->dameval("SELECT vendedor FROM usuario WHERE us_codigo='{$usr}'");
        $edit->vd = new hiddenField('Vendedor', 'vd');
        $edit->vd->value = $vd;
        $edit->mmargen = new inputField('mmargen', 'mmargen');
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->size = 10;
        $edit->numero->mode = 'autohide';
        $edit->numero->maxlength = 8;
        $edit->numero->apply_rules = false;
        //necesario cuando el campo es clave y no se pide al usuario
        $edit->numero->when = array('show', 'modify');
        $edit->cliente = new hiddenField('Cliente', 'cod_cli');
        $edit->cliente->insertValue = $cliente;
        //$edit->cliente->options("SELECT cliente, nombre FROM scli WHERE vendedor='$vd' LIMIT 5");
        $edit->rifci = new inputField('RIF/CI', 'rifci');
        $edit->rifci->autocomplete = false;
        $edit->rifci->size = 15;
        $edit->rifci->type = 'inputhidden';
        $edit->direc = new inputField('Direcci&oacute;n', 'direc');
        $edit->direc->size = 40;
        $edit->direc->type = 'inputhidden';
        $edit->observa = new inputField('Observaciones', 'observa');
        $edit->observa->size = 25;
        $edit->observ1 = new inputField('Observaciones', 'observ1');
        $edit->observ1->size = 25;
        //Descuento por grupo y cliente
        $sel = array('a.mmargen', 'b.margen');
        $this->db->select($sel);
        $this->db->from('scli AS a');
        $this->db->join('zona AS b', 'a.zona=b.codigo', 'left');
        $this->db->where('a.cliente', $cliente);
        $qdes = $this->db->get();
        if ($qdes->num_rows() > 0) {
            $rdes = $qdes->row();
        } else {
            $rdes = new stdClass();
            $rdes->mmargen = 0;
            $rdes->margen = 0;
        }
        // Campos para el detalle
        $i = 0;
        $sel = array('a.codigo', 'a.descrip', 'a.existen', 'a.marca', 'a.iva', 'e.sinv_id', 'ROUND(IF(formcal="U",ultimo,IF(formcal="P",pond,GREATEST(ultimo,pond)))*(100+a.mmargen)/100,2) AS precio', 'IF(formcal="U",ultimo,IF(formcal="P",pond,GREATEST(ultimo,pond))) AS costo', 'a.mmargen', 'a.mmargenplus', 'c.margen AS DM', 'd.margen AS DG', 'a.escala1', 'a.pescala1', 'a.escala2', 'a.pescala2', 'a.escala3', 'a.pescala3');
        $this->db->distinct();
        $this->db->select($sel);
        $this->db->from('sinv AS a');
        $this->db->join('sinvfot AS e', 'a.id=e.sinv_id', 'left');
        $this->db->where('a.activo', 'S');
        $this->db->where('a.tipo', 'Articulo');
        $this->db->orderby('a.marca');
        $this->db->orderby('a.descrip');
        $numero = $edit->get_from_dataobjetct('numero');
        if ($numero !== false) {
            $dbnumero = $this->db->escape($numero);
            $this->db->join('itpfac AS b', 'a.codigo=b.codigoa AND b.numa=' . $dbnumero);
        }
        $this->db->join('marc AS c', 'a.marca=c.marca');
        $this->db->join('grup AS d', 'a.grupo=d.grupo');
        $renglones = $this->datasis->traevalor('PFACMAYRENGLONES', 'Limites de renglones en el pedido al mayor');
        if (empty($renglones)) {
            $renglones = 300;
        }
        $this->db->limit($renglones);
        $query = $this->db->get();
        foreach ($query->result() as $row) {
            $obj = 'codigoa_' . $i;
            $edit->{$obj} = new hiddenField('C&oacute;digo <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->size = 12;
            $edit->{$obj}->db_name = 'codigoa';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->rule = 'callback_chcodigoa';
            $edit->{$obj}->insertValue = $row->codigo;
            $obj = 'desca_' . $i;
            $desca = ucfirst(strtolower($row->descrip));
            if (!empty($row->sinv_id)) {
                $urldir = $this->config->slash_item('base_url') . 'images/foto.gif';
                $desca .= ' <img src="' . $urldir . '" onclick="verimage(\'' . $row->sinv_id . '\')">';
            }
            $edit->{$obj} = new freeField($obj, $obj, $desca);
            $edit->{$obj}->ind = $i;
            $obj = 'pexisten_' . $i;
            $edit->{$obj} = new freeField($obj, $obj, $row->existen);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->pointer = true;
            $obj = 'cana_' . $i;
            $edit->{$obj} = new inputField('Cantidad <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'cana';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->maxlength = 10;
            $edit->{$obj}->size = 5;
            $edit->{$obj}->autocomplete = false;
            $edit->{$obj}->style = "height:25px;font-size:14";
            $edit->{$obj}->onkeyup = "cescala('{$i}')";
            $edit->{$obj}->rule = "callback_chescala[{$i}]";
            $obj = 'pmarca_' . $i;
            $edit->{$obj} = new inputField('', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'pmarca';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->pointer = true;
            $edit->{$obj}->insertValue = $row->marca;
            $obj = 'preca_' . $i;
            $edit->{$obj} = new inputField('Precio <#o#>', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'preca';
            $edit->{$obj}->css_class = 'inputnum';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->type = 'inputhidden';
            $edit->{$obj}->insertValue = $row->precio;
            $edit->{$obj}->rule = 'positive|callback_chpreca[<#i#>]';
            $obj = 'itiva_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'iva';
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->insertValue = $row->iva;
            $obj = 'dxapli_' . $i;
            $edit->{$obj} = new autoUpdateField('dxapli', '0', '0');
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->ind = $i;
            $obj = 'dxm_' . $i;
            if ($row->DM > 0) {
                $edit->{$obj} = new checkboxField('dxm', $obj, $row->DM, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxm', '0', '0');
            }
            $edit->{$obj}->db_name = 'dxm';
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->rel_id = 'itpfac';
            $obj = 'dxg_' . $i;
            if ($row->DG > 0) {
                $edit->{$obj} = new checkboxField('dxg', $obj, $row->DG, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxg', '0', '0');
            }
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->db_name = 'dxg';
            $edit->{$obj}->rel_id = 'itpfac';
            $obj = 'dxz_' . $i;
            if ($rdes->margen > 0) {
                $edit->{$obj} = new checkboxField('dxz', $obj, $rdes->margen, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxz', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxz';
            $edit->{$obj}->ind = $i;
            $obj = 'dxc_' . $i;
            if ($rdes->mmargen > 0) {
                $edit->{$obj} = new checkboxField('dxe', $obj, $rdes->mmargen, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxe', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxc';
            $edit->{$obj}->ind = $i;
            $obj = 'dxp_' . $i;
            if ($row->mmargenplus > 0) {
                $edit->{$obj} = new checkboxField('dxp', $obj, $row->mmargenplus, '0');
                $edit->{$obj}->insertValue = 0;
                $edit->{$obj}->onchange = "cprecio('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxp', '0', '0');
            }
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxp';
            $edit->{$obj}->ind = $i;
            $p_es = 0;
            for ($u = 1; $u < 4; $u++) {
                $nom = "escala{$u}";
                $obj = "{$nom}_{$i}";
                $edit->{$obj} = new hiddenField('', $obj);
                $edit->{$obj}->insertValue = $row->{$nom};
                $edit->{$obj}->rel_id = 'itpfac';
                $edit->{$obj}->db_name = 'sinv' . $nom;
                $edit->{$obj}->ind = $i;
                $edit->{$obj}->pointer = true;
                $nom = "pescala{$u}";
                $obj = "{$nom}_{$i}";
                $edit->{$obj} = new hiddenField('', $obj);
                $edit->{$obj}->insertValue = $row->{$nom};
                $edit->{$obj}->rel_id = 'itpfac';
                $edit->{$obj}->db_name = 'sinv' . $nom;
                $edit->{$obj}->ind = $i;
                $edit->{$obj}->pointer = true;
                $p_es += $row->{$nom};
            }
            $gdxe = $edit->get_from_dataobjetct_rel('itpfac', 'dxe', $i);
            $obj = 'dxe_' . $i;
            if ($p_es > 0) {
                $gdxe = $edit->get_from_dataobjetct_rel('itpfac', 'dxe', $i);
                $edit->{$obj} = new checkboxField('dxe', $obj, $gdxe == false ? '0' : $gdxe, '0');
                $edit->{$obj}->onchange = "cescala('{$i}')";
            } else {
                $edit->{$obj} = new autoUpdateField('dxp', '0', '0');
            }
            //$edit->$obj->insertValue = 0;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'dxe';
            $edit->{$obj}->ind = $i;
            $obj = 'sinvmmargen_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = $row->mmargen;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'sinvmmargen';
            $edit->{$obj}->ind = $i;
            $edit->{$obj}->pointer = true;
            $obj = 'costo_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = $row->costo;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'costo';
            $edit->{$obj}->ind = $i;
            $obj = 'tota_' . $i;
            $edit->{$obj} = new hiddenField('', $obj);
            $edit->{$obj}->insertValue = 0;
            $edit->{$obj}->rel_id = 'itpfac';
            $edit->{$obj}->db_name = 'tota';
            $edit->{$obj}->ind = $i;
            $i++;
        }
        $sinvcana = $i;
        // fin de campos para detalle
        $edit->ivat = new inputField('Impuesto', 'iva');
        $edit->ivat->css_class = 'inputnum';
        $edit->ivat->type = 'inputhidden';
        $edit->ivat->readonly = true;
        $edit->ivat->size = 10;
        $edit->totals = new inputField('Sub-Total', 'totals');
        $edit->totals->css_class = 'inputnum';
        $edit->totals->type = 'inputhidden';
        $edit->totals->readonly = true;
        $edit->totals->size = 10;
        $edit->totalg = new inputField('Monto Total', 'totalg');
        $edit->totalg->css_class = 'inputnum';
        $edit->totalg->type = 'inputhidden';
        $edit->totalg->readonly = true;
        $edit->totalg->size = 10;
        $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
        $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
        $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario());
        $control = $this->rapyd->uri->get_edited_id();
        if ($edit->getstatus() == 'show') {
            $action = "javascript:window.location='" . site_url($this->url . 'filterscli') . "'";
            $edit->button('btn_add', 'Agregar', $action, 'TR');
        }
        $edit->buttons('save', 'undo', 'modify', 'delete', 'back');
        if ($this->genesal) {
            $edit->build();
            $conten['cana'] = $sinvcana;
            $conten['form'] =& $edit;
            $conten['title'] = heading('Pedidos No. ' . $edit->numero->value);
            $data['head'] = style('mayor/estilo.css');
            $data['script'] = script('jquery.js');
            $data['script'] .= phpscript('nformat.js');
            $data['content'] = $this->load->view('view_pfaclitemayor', $conten, true);
            $data['title'] = '';
            $this->load->view('view_ventanas_lite', $data);
        } else {
            $edit->on_save_redirect = false;
            $edit->build();
            if ($edit->on_success()) {
                echo 'Pedido Guardado';
            } elseif ($edit->on_error()) {
                echo html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
            }
        }
    }
Beispiel #4
0
 function dataedit()
 {
     $this->rapyd->load("dataedit");
     $edit = new DataEdit("Unidad", "unidad");
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->back_url = site_url("inventario/unidad/filteredgrid");
     $edit->unidades = new inputField("Unidad", 'unidades');
     $edit->unidades->size = 15;
     $edit->unidades->maxlength = 30;
     $edit->unidades->rule = "trim|strtoupper|required";
     $edit->buttons("modify", "save", "undo", "delete", "back");
     $edit->build();
     if ($this->genesal) {
         $edit->build();
         $data['content'] = $edit->output;
         $data['title'] = heading('Unidad');
         $data['head'] = $this->rapyd->get_head();
         $this->load->view('view_ventanas', $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));
         }
     }
 }
Beispiel #5
0
 function ncppro()
 {
     $this->rapyd->load('dataedit');
     $edit = new DataEdit('Nota de credito a proveedor', 'sprm');
     $edit->on_save_redirect = false;
     $edit->pre_process('insert', '_pre_ncppro_insert');
     $edit->pre_process('update', '_pre_ncppro_update');
     $edit->pre_process('delete', '_pre_ncppro_delete');
     $edit->post_process('insert', '_post_ncppro_insert');
     $edit->cod_prv = new inputField('Proveedor', 'cod_prv');
     $edit->cod_prv->rule = 'existesprv';
     $edit->cod_prv->size = 8;
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->type = 'inputhidden';
     $edit->nombre->in = 'cod_prv';
     $edit->sprvreteiva = new hiddenField('', 'sprvreteiva');
     $edit->codigo = new dropdownField('Motivo', 'codigo');
     $edit->codigo->option('', 'Seleccionar');
     $edit->codigo->options('SELECT TRIM(codigo) AS cod, nombre FROM botr WHERE tipo=\'P\' ORDER BY nombre');
     $edit->codigo->style = 'width:200px;';
     $edit->codigo->rule = 'required';
     $edit->fecha = new dateonlyField('Fecha', 'fecha');
     $edit->fecha->size = 12;
     $edit->fecha->maxlength = 8;
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->calendar = false;
     $edit->fecha->rule = 'chfecha|required';
     $edit->observa1 = new textareaField('Concepto:', 'observa1');
     $edit->observa1->cols = 70;
     $edit->observa1->rows = 2;
     $edit->observa1->style = 'width:100%;';
     $edit->observa2 = new textareaField('', 'observa2');
     $edit->observa2->cols = 70;
     $edit->observa2->rows = 2;
     $edit->observa2->style = 'width:100%;';
     $edit->observa2->when = array('show');
     $edit->nfiscal = new inputField('Control F&iacute;scal', 'nfiscal');
     $edit->nfiscal->rule = 'required';
     $edit->nfiscal->size = 15;
     $edit->nfiscal->maxlength = 17;
     $edit->serie = new inputField('N&uacute;mero', 'serie');
     $edit->serie->rule = 'required';
     $edit->serie->size = 15;
     $edit->serie->maxlength = 17;
     $edit->afecta = new inputField('#Fac.Afectada', 'afecta');
     $edit->afecta->rule = 'required';
     $edit->afecta->size = 15;
     $edit->afecta->maxlength = 12;
     $edit->fecapl = new dateonlyField('Fecha de emisi&oacute;n', 'fecapl');
     $edit->fecapl->size = 12;
     $edit->fecapl->maxlength = 8;
     $edit->fecapl->insertValue = date('Y-m-d');
     $edit->fecapl->calendar = false;
     $edit->fecapl->rule = 'chfecha|required';
     $edit->depto = new dropdownField('Departamento', 'depto');
     $edit->depto->option('', 'Seleccionar');
     $edit->depto->options('SELECT depto,CONCAT_WS(\'-\',depto,TRIM(descrip)) AS descrip FROM dpto WHERE tipo=\'G\' ORDER BY descrip');
     $edit->depto->style = 'width:200px;';
     $edit->depto->rule = 'required';
     $ivas = $this->datasis->ivaplica();
     $edit->ptasa = new inputField('', 'ptasa');
     $edit->ptasa->rule = 'numeric';
     $edit->ptasa->type = 'inputhidden';
     $edit->ptasa->insertValue = $ivas['tasa'];
     $edit->ptasa->showformat = 'decimal';
     $edit->preducida = new inputField('', 'preducida');
     $edit->preducida->rule = 'numeric';
     $edit->preducida->type = 'inputhidden';
     $edit->preducida->insertValue = $ivas['redutasa'];
     $edit->preducida->showformat = 'decimal';
     $edit->padicional = new inputField('', 'padicional');
     $edit->padicional->rule = 'numeric';
     $edit->padicional->type = 'inputhidden';
     $edit->padicional->insertValue = $ivas['sobretasa'];
     $edit->padicional->showformat = 'decimal';
     //bases de los impuestos
     $edit->montasa = new inputField('Montasa', 'montasa');
     $edit->montasa->rule = 'max_length[17]|numeric|positive';
     $edit->montasa->css_class = 'inputnum';
     $edit->montasa->size = 19;
     $edit->montasa->maxlength = 17;
     $edit->montasa->rule = 'condi_required';
     $edit->monredu = new inputField('Monredu', 'monredu');
     $edit->monredu->rule = 'max_length[17]|numeric|positive';
     $edit->monredu->css_class = 'inputnum';
     $edit->monredu->size = 19;
     $edit->monredu->maxlength = 17;
     $edit->monredu->rule = 'condi_required';
     $edit->monadic = new inputField('Monadic', 'monadic');
     $edit->monadic->rule = 'max_length[17]|numeric|positive';
     $edit->monadic->css_class = 'inputnum';
     $edit->monadic->size = 19;
     $edit->monadic->maxlength = 17;
     $edit->monadic->rule = 'condi_required';
     //fin de las bases de los impuestos
     $edit->tasa = new inputField('general', 'tasa');
     $edit->tasa->rule = 'max_length[17]|numeric';
     $edit->tasa->css_class = 'inputnum';
     $edit->tasa->size = 12;
     $edit->tasa->maxlength = 17;
     $edit->tasa->rule = 'condi_required|callback_chmontasa[G]';
     $edit->reducida = new inputField('reducida', 'reducida');
     $edit->reducida->rule = 'max_length[17]|numeric|positive';
     $edit->reducida->css_class = 'inputnum';
     $edit->reducida->size = 12;
     $edit->reducida->maxlength = 17;
     $edit->reducida->rule = 'condi_required|callback_chmontasa[R]';
     $edit->sobretasa = new inputField('adicional', 'sobretasa');
     $edit->sobretasa->rule = 'max_length[17]|numeric|positive';
     $edit->sobretasa->css_class = 'inputnum';
     $edit->sobretasa->size = 12;
     $edit->sobretasa->maxlength = 17;
     $edit->sobretasa->rule = 'condi_required|callback_chmontasa[A]|positive';
     $edit->exento = new inputField('Exento', 'exento');
     $edit->exento->rule = 'max_length[17]|numeric';
     $edit->exento->css_class = 'inputnum';
     $edit->exento->size = 19;
     $edit->exento->maxlength = 17;
     $edit->exento->rule = 'condi_required|positive';
     $edit->reteiva = new inputField('Ret. IVA', 'reteiva');
     $edit->reteiva->rule = 'max_length[17]|numeric';
     $edit->reteiva->css_class = 'inputnum';
     $edit->reteiva->size = 19;
     $edit->reteiva->maxlength = 17;
     $edit->reteiva->insertValue = '0';
     $edit->reteiva->rule = 'condi_required|callback_chobligatipo[NC]|positive';
     $edit->monto = new inputField('Total', 'monto');
     $edit->monto->rule = 'required|max_length[17]|numeric';
     $edit->monto->css_class = 'inputnum';
     $edit->monto->size = 19;
     $edit->monto->maxlength = 17;
     $edit->monto->type = 'inputhidden';
     //Campos comodines
     $edit->sprvreteiva = new hiddenField('', 'sprvreteiva');
     $edit->aplrete = new hiddenField('', 'aplrete');
     //Fin de los campos comodines
     $edit->tipo_doc = new autoUpdateField('tipo_doc', 'NC', 'NC');
     $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario());
     $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
     $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
     $arr_ptasa = array();
     $edit->apltasa = new dropdownField('', 'apltasa');
     $mSQL = 'SELECT fecha,tasa,redutasa,sobretasa FROM civa ORDER BY fecha DESC LIMIT 3';
     $query = $this->db->query($mSQL);
     foreach ($query->result() as $row) {
         $arr_ptasa[] = array(floatval($row->tasa), floatval($row->redutasa), floatval($row->sobretasa));
         $edit->apltasa->option($row->fecha, dbdate_to_human($row->fecha));
     }
     $edit->apltasa->onchange = 'chapltasa()';
     $edit->apltasa->style = 'width:100px;';
     $edit->apltasa->rule = 'required';
     $edit->build();
     if ($edit->on_success()) {
         $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk);
         echo json_encode($rt);
     }
     if ($edit->on_error()) {
         $rt = array('status' => 'B', 'mensaje' => preg_replace('/<[^>]*>/', '', $edit->error_string), 'pk' => null);
         echo json_encode($rt);
         $act = false;
         return true;
     }
     if ($edit->on_show()) {
         $conten['json_ptasa'] = json_encode($arr_ptasa);
         $conten['form'] =& $edit;
         $conten['title'] = heading('Nota de cr&eacute;dito a factura pagada a proveedor');
         $this->load->view('view_ncppro', $conten);
     }
 }
Beispiel #6
0
    function reporte()
    {
        header('Content-Type: text/html; charset=' . $this->config->item('charset'));
        $this->rapyd->load('dataedit');
        $this->rapyd->uri->keep_persistence();
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $edit = new DataEdit('', 'reportes');
        $id = $edit->_dataobject->pk['nombre'];
        $uri2 = anchor_popup('reportes/ver/' . $id, 'Probar reporte', $atts);
        $uri3 = anchor_popup('supervisor/mantenimiento/centinelas', 'Centinela', $atts);
        $edit->title(' ');
        $script = '
		$("#df1").submit(function(){
			$("#proteo").val(editor.getValue());

			$.post("' . site_url('supervisor/repomenu/gajax_proteo/update/' . $id) . '", {nombre: "' . $id . '", proteo: $("#proteo").val()},
				function(data){
					//alert("Reporte guardado" + data);
				}
			);
			return false;
		});

		function guarda() {
			$("#proteo").val(editor.getValue());
			$.post("' . site_url('supervisor/repomenu/gajax_proteo/update/' . $id) . '", {nombre: "' . $id . '", proteo: $("#proteo").val()},
				function(data){
					//alert("Reporte guardado" + data);
				}
			);
			return false;
		};

		function fcargar(){
			$.post("' . site_url('supervisor/repomenu/cargar/') . '", { nombre:"' . $id . '"},
			function(data){
				if (data){ $("#proteo").val(editor.setValue(data)); } else { alert("Archivo vacio");}
			});
			return false;
		};

		function fguardar(){
			$("#proteo").val(editor.getValue());
			$.post("' . site_url('supervisor/repomenu/guardar/') . '", {nombre: "' . $id . '", proteo: $("#proteo").val()},
			function(data){
				alert(data);
			});
			return false;
		};';
        $edit->script($script, 'modify');
        $edit->back_save = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_url = site_url('supervisor/repomenu/filteredgrid');
        $edit->proteo = new textareaField('', 'proteo');
        $edit->proteo->rows = 30;
        $edit->proteo->cols = 130;
        $edit->proteo->css_class = 'text-indent:100px;width:90%;11';
        //$edit->buttons('modify', 'save', 'undo', 'delete', 'back');
        //$accion=$this->datasis->jwinopen(site_url('reportes/ver/'.$id."'"));
        //$edit->button_status('btn_probar','Probar Reporte',$accion,'TL','modify');
        //$accion=$this->datasis->jwinopen(site_url('supervisor/mantenimiento/centinelas'));
        //$edit->button_status('btn_centinela','Centinelas',$accion,'TL','modify');
        //$edit->button_status('btn_guardar'  ,'Guardar a Archivo'   ,'fguardar()','TL','modify');
        //$edit->button_status('btn_cargar'   ,'Cargar desde Archivo','fcargar()' ,'TL','modify');
        $edit->build();
        $rt = array('status' => '', 'msj' => '', 'pk' => '');
        if ($edit->on_success()) {
            $rt['status'] = 'A';
            $rt['msj'] = 'Guardado';
            echo json_encode($rt);
        }
        if ($edit->on_error()) {
            $rt['status'] = 'B';
            $rt['msj'] = $edit->error_string;
            echo json_encode($rt);
        }
        //$this->rapyd->jquery[]='$("#proteo").tabby();';
        //$this->rapyd->jquery[]='$("#proteo").linedtextarea();';
        if ($edit->on_show()) {
            $data['back_url'] = $edit->back_url;
            $data['content'] = $edit->output;
            $data['title'] = $id;
            $data['head'] = $this->rapyd->get_head();
            $this->load->view('editorep', $data);
        }
    }
Beispiel #7
0
    function dataedit()
    {
        $this->pi18n->cargar('scli', 'dataedit');
        $this->rapyd->load('dataedit');
        $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Socio', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Direcci&oacute;n'), 'filtro' => array('cliente' => 'C&oacute;digo Socio', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'socio'), 'titulo' => 'Buscar Socio');
        $qformato = $this->datasis->formato_cpla();
        $mCPLA = array('tabla' => 'cpla', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'cuenta'), 'titulo' => 'Buscar Cuenta', 'where' => "codigo LIKE \"{$qformato}\"");
        $boton = $this->datasis->modbus($mSCLId);
        $bcpla = $this->datasis->modbus($mCPLA);
        $smenu['link'] = barra_menu('131');
        $consulrif = trim($this->datasis->traevalor('CONSULRIF'));
        $lcuenta = site_url('contabilidad/cpla/autocomplete/codigo');
        $lsocio = site_url('ventas/sclicol/autocomplete/cliente');
        $link20 = site_url('inventario/sclicol/scliexiste');
        $link21 = site_url('inventario/sclicol/sclicodigo');
        $script = '
<script type="text/javascript" >
$(function() {

	//Default Action
	$(".inputnum").numeric(".");
	$("#tiva").change(function () { anomfis(); }).change();
	$("#cuenta").autocomplete("' . $lcuenta . '",{
		delay:10,
		//minChars:2,
		matchSubset:1,
		matchContains:1,
		cacheLength:10,
		formatItem:formato,
		width:350,
		autoFill:true
	});

	$("#socio").autocomplete("' . $lsocio . '",{
		delay:10,
		matchSubset:1,
		matchContains:1,
		cacheLength:10,
		formatItem:formato,
		width:350,
		autoFill:true
	});
	//$(":input").enter2tab();
	$( "#maintabcontainer" ).tabs();
	numero=$("#rifci").val();
	c_crc(numero);
	valor=$("#docui").val();
	cg_docui(valor);
});

function formato(row) {
	return row[0] + "-" + row[1];
}

function anomfis(){
	vtiva=$("#tiva").val();
	if(vtiva=="C" || vtiva=="E" || vtiva=="R"){
		$("#tr_nomfis").show();
		$("#tr_riffis").show();
	}else{
		$("#nomfis").val("");
		$("#riffis").val("");
		$("#tr_nomfis").hide();
		$("#tr_riffis").hide();
	}
}

function v_rut(numero){
	numero=numero.replace(/\\D/g, "");
	var n;
	var o=0;
	var acum=0;
	var serie= new Array(71,67,59,53,47,43,41,37,29,23,19,17,13,7,3);
	for(i=numero.length;i>=0;i--){
		o=i-1;
		n=Number(numero.substring(o,i));
		acum+=n*serie.pop();
	}
	mo = acum % 11;

	if(mo==0)
		return mo;
	else if(mo==1)
		return mo;
	else
		return 11-mo;
}

function c_crc(numero){
	val=v_rut(numero.trim());
	$(\'#crc\').val(val);
}

function fusionar(mviejo){
	var yurl = "";
	//var mcodigo=jPrompt("Ingrese el Codigo a ");
	jPrompt("Codigo Nuevo","" ,"Codigo Nuevo", function(mcodigo){
		if( mcodigo==null ){
			jAlert("Cancelado por el usuario","Informacion");
		} else if( mcodigo=="" ) {
			jAlert("Cancelado,  Codigo vacio","Informacion");
		} else {
			//mcodigo=jQuery.trim(mcodig);
			//jAlert("Aceptado "+mcodigo);
			yurl = encodeURIComponent(mcodigo);
			$.ajax({
				url: "' . $link20 . '",
				global: false,
				type: "POST",
				data: ({ codigo : encodeURIComponent(mcodigo) }),
				dataType: "text",
				async: false,
				success: function(sino) {
					if (sino.substring(0,1)=="S"){
						jConfirm(
							"Ya existe el codigo <div style=\\"font-size: 200%;font-weight: bold \\">"+mcodigo+"</"+"div>"+sino.substring(1)+"<p>si prosigue se eliminara el producto anterior y<br/> todo el movimiento de este, pasara al codigo "+mcodigo+"</"+"p> <p style=\\"align: center;\\">Desea <strong>Fusionarlos?</"+"strong></"+"p>",
							"Confirmar Fusion",
							function(r){
							if (r) { sclicambia("S", mviejo, mcodigo); }
							}
						);
					} else {
						jConfirm(
							"Sustitur el codigo actual  por: <center><h2 style=\\"background: #ddeedd\\">"+mcodigo+"</"+"h2></"+"center> <p>Al cambiar de codigo el producto, todos los<br/> movimientos y estadisticas se cambiaran<br/> correspondientemente.</"+"p> ",
							"Confirmar cambio de codigo",
							function(r) {
								if (r) { sclicambia("N", mviejo, mcodigo); }
							}
						)
					}
				},
				error: function(h,t,e) { jAlert("Error..codigo="+yurl+" ",e) } 
			});
		}
	})
};

function sclicambia( mtipo, mviejo, mcodigo ) {
	$.ajax({
		url: "' . $link21 . '",
		global: false,
		type: "POST",
		data: ({ tipo:  mtipo,
			 viejo: mviejo,
			 codigo: encodeURIComponent(mcodigo) }),
		dataType: "text",
		async: false,
		success: function(sino) {
			jAlert("Cambio finalizado "+sino,"Finalizado Exitosamente")
		},
		error: function(h,t,e) {jAlert("Error..","Finalizado con Error" )
		}
	});
	
	if( mtipo=="N" ) {
		location.reload(true);
	} else {
		location.replace("' . site_url("inventario/sinv/filteredgrid") . '");
	}
}

function cg_docui(valor){
	if(valor!="R"){
		$("#tr_nombre2").show();
		$("#tr_apellido1").show();
		$("#tr_apellido2").show();
	}else{
		$("#tr_nombre2").hide();
		$("#tr_apellido1").hide();
		$("#tr_apellido2").hide();
	}
	
}
</script>';
        $edit = new DataEdit('Clientes', 'scli');
        $edit->back_url = site_url('ventas/sclicol/filteredgrid');
        //$edit->script($script, 'create');
        //$edit->script($script, 'modify');
        $edit->pre_process('delete', '_pre_del');
        $edit->pre_process('insert', '_pre_ins');
        $edit->pre_process('update', '_pre_ins');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->cliente = new inputField('C&oacute;digo', 'cliente');
        $edit->cliente->rule = 'trim|strtoupper|callback_chexiste';
        $edit->cliente->mode = 'autohide';
        $edit->cliente->size = 9;
        $edit->cliente->maxlength = 5;
        $edit->docui = new dropdownField('Tipo de Documento', 'docui');
        $edit->docui->option('', 'Seleccionar');
        $edit->docui->option('R', 'RUT');
        $edit->docui->option('C', 'Cedula');
        $edit->docui->option('P', 'Pasaporte');
        $edit->docui->option('T', 'Tarjeta de identidad');
        $edit->docui->option('E', 'Extrangero');
        $edit->docui->onchange = 'cg_docui(this.value)';
        $edit->docui->rule = 'required';
        $edit->docui->style = 'width:160px';
        $edit->crc = new inputField('C&oacute;digo de Validaci&oacute;n', 'crc');
        $edit->crc->rule = 'trim|strtoupper|required';
        $edit->crc->size = 2;
        $edit->crc->maxlength = 1;
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->rule = 'trim|strtoupper|required';
        $edit->nombre->size = 55;
        $edit->nombre->maxlength = 45;
        $edit->nombre->style = 'width:100%;';
        $edit->nombre->when = array('show');
        $edit->nombre1 = new inputField('Nombre', 'nombre1');
        $edit->nombre1->rule = 'trim|strtoupper|required';
        $edit->nombre1->size = 55;
        $edit->nombre1->maxlength = 45;
        $edit->nombre1->style = 'width:100%;';
        $edit->nombre2 = new inputField('Segundo Nombre', 'nombre2');
        $edit->nombre2->rule = 'trim|strtoupper';
        $edit->nombre2->size = 55;
        $edit->nombre2->maxlength = 45;
        $edit->nombre2->style = 'width:100%;';
        $edit->apellido1 = new inputField('Primer Apellido', 'apellido1');
        $edit->apellido1->rule = 'trim|strtoupper|callback_chnomb|condi_required';
        $edit->apellido1->size = 55;
        $edit->apellido1->maxlength = 45;
        $edit->apellido1->style = 'width:100%;';
        $edit->apellido2 = new inputField('Segundo Apellido', 'apellido2');
        $edit->apellido2->rule = 'trim|strtoupper';
        $edit->apellido2->size = 55;
        $edit->apellido2->maxlength = 45;
        $edit->apellido2->style = 'width:100%;';
        $edit->contacto = new inputField('Contacto', 'contacto');
        $edit->contacto->rule = 'trim';
        $edit->contacto->size = 55;
        $edit->contacto->maxlength = 40;
        $edit->contacto->style = 'width:100%;';
        $edit->grupo = new dropdownField('Grupo', 'grupo');
        $edit->grupo->option('', 'Seleccione un grupo');
        $edit->grupo->options('SELECT grupo, CONCAT(grupo," ",gr_desc) gr_desc FROM grcl ORDER BY gr_desc');
        $edit->grupo->rule = 'required';
        $edit->grupo->style = 'width:160px';
        $edit->grupo->insertValue = $this->datasis->dameval('SELECT grupo FROM grcl WHERE gr_desc like "CONSUMIDOR FINAL%"');
        $edit->rifci = new inputField($this->pi18n->msj('rifci', 'RIF o C.I.'), 'rifci');
        $edit->rifci->rule = 'trim|strtoupper|required|callback_chci';
        $edit->rifci->maxlength = 13;
        $edit->rifci->onkeyup = 'c_crc(this.value)';
        $edit->rifci->size = 14;
        $obj = "dire11";
        $edit->{$obj} = new inputField('Oficina', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->size = 45;
        $edit->{$obj}->maxlength = 40;
        $edit->{$obj}->style = 'width:95%;';
        $obj = "dire12";
        $edit->{$obj} = new inputField('', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->size = 45;
        $edit->{$obj}->maxlength = 40;
        $edit->{$obj}->style = 'width:95%;';
        $obj = "ciudad1";
        $edit->{$obj} = new dropdownField('Ciudad', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->option('', 'Seleccionar');
        $edit->{$obj}->options('SELECT ciudad codigo, ciudad FROM ciud ORDER BY ciudad');
        $edit->{$obj}->style = 'width:200px';
        $edit->{$obj}->insertValue = $this->datasis->traevalor("CIUDAD");
        $obj = "dire21";
        $edit->{$obj} = new inputField('Envio', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->size = 45;
        $edit->{$obj}->maxlength = 40;
        $edit->{$obj}->style = 'width:95%;';
        $obj = "dire22";
        $edit->{$obj} = new inputField('', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->size = 45;
        $edit->{$obj}->maxlength = 40;
        $edit->{$obj}->style = 'width:95%;';
        $obj = "ciudad2";
        $edit->{$obj} = new dropdownField('Ciudad', $obj);
        $edit->{$obj}->rule = 'trim';
        $edit->{$obj}->option('', 'Seleccionar');
        $edit->{$obj}->options('SELECT ciudad codigo, ciudad FROM ciud ORDER BY ciudad');
        $edit->{$obj}->style = 'width:200px';
        $edit->repre = new inputField('Representante', 'repre');
        $edit->repre->rule = 'trim';
        $edit->repre->maxlength = 30;
        $edit->repre->size = 30;
        $edit->cirepre = new inputField('C&eacute;dula de Rep.', 'cirepre');
        $edit->cirepre->rule = 'trim|strtoupper|callback_chci';
        $edit->cirepre->maxlength = 13;
        $edit->cirepre->size = 14;
        $edit->socio = new inputField('Socio del cliente', 'socio');
        $edit->socio->rule = 'trim';
        $edit->socio->size = 8;
        $edit->socio->maxlength = 5;
        $edit->socio->append($boton);
        $edit->tiva = new dropdownField('Tipo F&iacute;scal', 'tiva');
        $edit->tiva->option('', 'Seleccionar');
        $edit->tiva->option('S', 'Regimen Simplificado');
        $edit->tiva->option('C', 'Regimen Com&uacute;n');
        $edit->tiva->option('G', 'Gran contribuyente');
        $edit->tiva->option('A', 'Autoretenedor');
        $edit->tiva->option('O', 'Otros');
        //$edit->tiva->options($arr_tiva);
        $edit->tiva->style = 'width:160px';
        $edit->tiva->insertValue = 'N';
        //$edit->tiva->rule='required|callback_chdfiscal';
        $edit->riffis = new inputField('RIF F&iacute;scal', 'riffis');
        $edit->riffis->size = 13;
        $edit->riffis->maxlength = 10;
        $edit->zona = new dropdownField('Zona', 'zona');
        $edit->zona->rule = 'trim|required';
        $edit->zona->option('', 'Seleccionar');
        $edit->zona->options('SELECT codigo, CONCAT(codigo," ", nombre) nombre FROM zona ORDER BY nombre');
        $edit->zona->style = 'width:166px';
        $edit->zona->insertValue = $this->datasis->traevalor("ZONAXDEFECTO");
        $edit->pais = new inputField('Pa&iacute;s', 'pais');
        $edit->pais->rule = 'trim';
        $edit->pais->size = 20;
        $edit->pais->maxlength = 30;
        $edit->email = new inputField('E-mail', 'email');
        $edit->email->rule = 'trim|valid_email';
        $edit->email->size = 20;
        $edit->email->maxlength = 100;
        $edit->cuenta = new inputField('Contable', 'cuenta');
        $edit->cuenta->rule = 'trim|existecpla';
        $edit->cuenta->append($bcpla);
        $edit->cuenta->size = 15;
        $edit->cuenta->maxlength = 15;
        $edit->cuenta->insertValue = $this->datasis->dameval('SELECT cuenta FROM grcl WHERE gr_desc like "CONSUMIDOR FINAL%"');
        $edit->telefono = new inputField('Tel&eacute;fonos', 'telefono');
        $edit->telefono->rule = 'trim';
        $edit->telefono->size = 20;
        $edit->telefono->maxlength = 30;
        $edit->telefon2 = new inputField('Fax', 'telefon2');
        $edit->telefon2->rule = 'trim';
        $edit->telefon2->size = 20;
        $edit->telefon2->maxlength = 25;
        $edit->tipo = new dropdownField('Tipo ', 'tipo');
        $edit->tipo->options(array('1' => 'Precio 1', '2' => 'Precio 2', '3' => 'Precio 3', '4' => 'Precio 4', '0' => 'Inactivo'));
        $edit->tipo->style = 'width:90px';
        $edit->formap = new inputField('D&iacute;as', 'formap');
        $edit->formap->css_class = 'inputnum';
        $edit->formap->rule = 'trim|integer';
        $edit->formap->maxlength = 10;
        $edit->formap->size = 6;
        $edit->limite = new inputField('L&iacute;mite', 'limite');
        $edit->limite->css_class = 'inputnum';
        $edit->limite->rule = 'trim|numeric';
        $edit->limite->maxlength = 12;
        $edit->limite->size = 10;
        $edit->vendedor = new dropdownField('Vendedor', 'vendedor');
        $edit->vendedor->option('', 'Ninguno');
        $edit->vendedor->options("SELECT vendedor, CONCAT(vendedor,'-',nombre) AS nom FROM vend WHERE tipo IN ('V','A') ORDER BY vendedor");
        $edit->vendedor->style = 'width:250px';
        $edit->porvend = new inputField('Comisi&oacute;n%', 'porvend');
        $edit->porvend->css_class = 'inputnum';
        $edit->porvend->rule = 'trim|numeric';
        $edit->porvend->size = 4;
        $edit->porvend->maxlength = 5;
        $edit->cobrador = new dropdownField('Cobrador', 'cobrador');
        $edit->cobrador->option('', 'Ninguno');
        $edit->cobrador->options("SELECT vendedor, CONCAT(vendedor,'-',nombre) nombre FROM vend WHERE tipo IN ('C','A') ORDER BY vendedor");
        $edit->cobrador->style = 'width:250px';
        $edit->porcobr = new inputField('Comisi&oacute;n%', 'porcobr');
        $edit->porcobr->css_class = 'inputnum';
        $edit->porcobr->rule = 'trim|numeric';
        $edit->porcobr->size = 4;
        $edit->porcobr->maxlength = 5;
        $edit->observa = new textareaField('Observaci&oacute;n', 'observa');
        $edit->observa->rule = 'trim';
        $edit->observa->cols = 70;
        $edit->observa->rows = 3;
        $edit->mensaje = new inputField('Mensaje', 'mensaje');
        $edit->mensaje->rule = 'trim';
        $edit->mensaje->size = 50;
        $edit->mensaje->maxlength = 40;
        $edit->mmargen = new inputField("Margen al Mayor", 'mmargen');
        $edit->mmargen->css_class = 'inputnum';
        $edit->mmargen->size = 10;
        $edit->mmargen->maxlength = 10;
        $edit->buttons('modify', 'save', 'undo', 'delete', 'back');
        if ($this->genesal) {
            $edit->build();
            $style = '
<style type="text/css">
.maintabcontainer {width: 780px; margin: 5px auto;}
</style>';
            $conten['pais'] = $this->pi18n->pais;
            $conten['form'] =& $edit;
            $data['content'] = $this->load->view('view_sclicol', $conten, true);
            $data['content'] .= $this->pi18n->fallas();
            $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true);
            if ($this->pi18n->pais == 'COLOMBIA') {
                $data['title'] = heading('Clientes');
            } else {
                $data['title'] = heading('(' . $edit->cliente->value . ') ' . substr($edit->nombre->value, 0, 30));
            }
            $data['script'] = script('jquery.js');
            $data['script'] .= script('jquery-ui.js');
            $data['script'] .= script('jquery.alerts.js');
            $data['script'] .= script('plugins/jquery.numeric.pack.js');
            $data['script'] .= script('plugins/jquery.floatnumber.js');
            $data['script'] .= script('plugins/jquery.autocomplete.js');
            $data['script'] .= script('plugins/jquery.blockUI.js');
            //$data["script"]  .= script("sinvmaes.js");
            $data['script'] .= $script;
            $data['style'] = style("jquery.alerts.css");
            $data['style'] .= style("redmond/jquery-ui.css");
            $data['style'] .= style('jquery.autocomplete.css');
            $data['style'] .= $style;
            $data['head'] = $this->rapyd->get_head();
            $this->load->view('view_ventanas', $data);
        } else {
            $edit->on_save_redirect = false;
            $edit->build();
            if ($edit->on_success()) {
                $rt = 'Cliente Guardado';
            } elseif ($edit->on_error()) {
                $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
            }
            return $rt;
        }
    }