Beispiel #1
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ó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é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 #2
0
    function dataedit()
    {
        $this->rapyd->load('dataedit');
        $edit = new DataEdit($this->t**s, 'rnoti');
        $viene = $this->uri->segment(4);
        if ($viene == 'modify') {
            $viene = '';
        }
        if ($viene == 'create') {
            $viene = '';
        }
        $edit->on_save_redirect = false;
        $scli = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'contacto' => 'Contacto'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'codcliente', 'nombre' => 'nomcliente'), 'titulo' => 'Buscar Cliente');
        $cboton = $this->datasis->modbus($scli);
        $sinv = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Codigo', 'descrip' => 'Descripcion', 'barras' => 'Barras'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripcion'), 'retornar' => array('codigo' => 'codprod', 'descrip' => 'descprod', 'garantia' => 'garantia'), 'titulo' => 'Buscar Inventario');
        $sboton = $this->datasis->modbus($sinv);
        $edit->back_url = site_url($this->url . 'filteredgrid');
        $script = ' 
		$(function() {
			$("#fecha"    ).datepicker({dateFormat:"dd/mm/yy"});
			$("#fechafact").datepicker({dateFormat:"dd/mm/yy"});
		});';
        $edit->script($script, 'create');
        $edit->script($script, 'modify');
        $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->serial = new inputField('Serial', 'serial');
        $edit->serial->size = 20;
        $edit->serial->maxlength = 35;
        if (!empty($viene)) {
            $edit->serial->mode = 'autohide';
        }
        $estado = $edit->get_from_dataobjetct('estado');
        $edit->reporte = new inputField('Reporte', 'reporte');
        $edit->reporte->rule = '';
        $edit->reporte->size = 22;
        $edit->reporte->maxlength = 20;
        if (!empty($viene)) {
            $edit->reporte->mode = 'autohide';
        }
        $edit->codcliente = new inputField('Cliente', 'codcliente');
        $edit->codcliente->size = 6;
        $edit->codcliente->maxlength = 5;
        $edit->codcliente->append($cboton);
        if (!empty($viene)) {
            $edit->codcliente->mode = 'autohide';
        }
        $edit->nomcliente = new inputField('Nombre', 'nomcliente');
        $edit->nomcliente->readonly = true;
        $edit->nomcliente->size = 40;
        $edit->nomcliente->maxlength = 45;
        if (!empty($viene)) {
            $edit->nomcliente->mode = 'autohide';
        }
        $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->calendar = false;
        $edit->fecha->rule = 'chfecha';
        $edit->fecha->maxlength = 8;
        $edit->codprod = new inputField('Codigo', 'codprod');
        $edit->codprod->rule = '';
        $edit->codprod->size = 15;
        $edit->codprod->maxlength = 15;
        $edit->codprod->append($sboton);
        if (!empty($viene)) {
            $edit->codprod->mode = 'autohide';
        }
        $edit->descprod = new inputField('Descripcion', 'descprod');
        $edit->descprod->size = 35;
        $edit->descprod->maxlength = 45;
        $edit->descprod->readonly = true;
        if (!empty($viene)) {
            $edit->descprod->mode = 'autohide';
        }
        $edit->fechafact = new dateonlyField('Fecha venta', 'fechafact');
        $edit->fechafact->rule = 'chfecha';
        $edit->fechafact->size = 10;
        $edit->fechafact->maxlength = 8;
        $edit->fechafact->calendar = false;
        if (!empty($viene)) {
            $edit->fechafact->mode = 'autohide';
        }
        $edit->numfact = new inputField('Factura', 'numfact');
        $edit->numfact->rule = 'max_length[8]';
        $edit->numfact->size = 10;
        $edit->numfact->maxlength = 8;
        if (!empty($viene)) {
            $edit->numfact->mode = 'autohide';
        }
        $edit->reporte = new inputField('Reporte', 'reporte');
        $edit->reporte->rule = '';
        $edit->reporte->size = 22;
        $edit->reporte->maxlength = 20;
        if (!empty($viene)) {
            $edit->reporte->mode = 'autohide';
        }
        $edit->garantia = new inputField('Garantia', 'garantia');
        $edit->garantia->rule = '';
        $edit->garantia->size = 4;
        $edit->garantia->maxlength = 2;
        $edit->garantia->readonly = true;
        if (!empty($viene)) {
            $edit->garantia->mode = 'autohide';
        }
        $edit->falla = new textareaField('Falla', 'falla');
        $edit->falla->rule = '';
        $edit->falla->cols = 60;
        $edit->falla->rows = 4;
        $edit->observacion = new textareaField('Observacion', 'observacion');
        $edit->observacion->rule = '';
        $edit->observacion->cols = 60;
        $edit->observacion->rows = 4;
        $edit->frecep = new dateonlyField('Fecha Recepcion', 'frecep');
        $edit->frecep->rule = 'chfecha';
        $edit->frecep->size = 10;
        $edit->frecep->maxlength = 8;
        $edit->frecep->calendar = false;
        $tempo = $edit->get_from_dataobjetct('frecep');
        if (empty($tempo)) {
            $edit->frecep->updateValue = date('Y-m-d');
        }
        $edit->frecep->readonly = true;
        $edit->estado = new inputField('Estado', 'estado');
        $edit->estado->rule = '';
        $edit->estado->size = 22;
        $edit->estado->maxlength = 20;
        $edit->diagnostico = new textareaField('Diagnostico', 'diagnostico');
        $edit->diagnostico->cols = 60;
        $edit->diagnostico->rows = 4;
        $edit->fechadiag = new dateonlyField('Fecha', 'fechadiag');
        $edit->fechadiag->rule = 'chfecha';
        $edit->fechadiag->size = 10;
        $edit->fechadiag->maxlength = 10;
        $edit->fechadiag->calendar = false;
        $tempo = $edit->get_from_dataobjetct('fechadiag');
        if (empty($tempo)) {
            $edit->fechadiag->updateValue = date('Y-m-d');
        }
        $edit->fechadiag->readonly = true;
        $edit->repara = new textareaField('Reparacion', 'repara');
        $edit->repara->cols = 60;
        $edit->repara->rows = 4;
        $edit->frepara = new dateonlyField('Fecha', 'frepara');
        $edit->frepara->rule = 'chfecha';
        $edit->frepara->size = 10;
        $edit->frepara->maxlength = 8;
        $edit->frepara->calendar = false;
        $tempo = $edit->get_from_dataobjetct('frepara');
        if (empty($tempo)) {
            $edit->frepara->updateValue = date('Y-m-d');
        }
        $edit->frepara->readonly = true;
        $edit->entrega = new textareaField('Entrega', 'entrega');
        $edit->entrega->cols = 60;
        $edit->entrega->rows = 4;
        $edit->fentrega = new dateonlyField('Fecha', 'fentrega');
        $edit->fentrega->rule = 'chfecha';
        $edit->fentrega->size = 10;
        $edit->fentrega->maxlength = 8;
        $edit->fentrega->calendar = false;
        $tempo = $edit->get_from_dataobjetct('fentrega');
        if (empty($tempo)) {
            $edit->fentrega->updateValue = date('Y-m-d');
        }
        $edit->fentrega->readonly = true;
        $edit->build();
        if ($edit->on_success()) {
            $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk);
            echo json_encode($rt);
        } else {
            //echo $edit->output;
            if (empty($estado)) {
                $estado = 'NOTIFICADO';
            }
            if ($viene == 'recibir') {
                $estado = 'RECIBIDO';
            }
            if ($viene == 'revisar') {
                $estado = 'REVISADO';
            }
            if ($viene == 'reparar') {
                $estado = 'REPARADO';
            }
            if ($viene == 'entregar') {
                $estado = 'ENTREGADO';
            }
            $conten['form'] =& $edit;
            $conten['estado'] = $estado;
            $conten['origen'] = $viene;
            $conten['script'] = '';
            $this->load->view('view_rnoti', $conten);
        }
    }
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 dataprint($st, $uid)
    {
        $this->rapyd->load('dataedit');
        $edit = new DataEdit('Imprimir ingreso', 'otin');
        //$id=$edit->get_from_dataobjetct('id');
        $sfacforma = $this->datasis->traevalor('FORMATOSFAC', 'Especifica el metodo a ejecutar para descarga de formato de factura en Proteo Ej. descargartxt...');
        if (empty($sfacforma)) {
            $sfacforma = 'descargar';
        }
        $url = site_url('formatos/' . $sfacforma . '/OTINND/' . $uid);
        if (isset($this->back_url)) {
            $edit->back_url = site_url($this->back_url);
        } else {
            $edit->back_url = site_url('ajax/reccierraventana/N');
        }
        $edit->back_save = true;
        $edit->back_delete = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_cancel_delete = true;
        //$edit->on_save_redirect   = false;
        $edit->post_process('update', '_post_print_update');
        $edit->pre_process('insert', '_pre_print_insert');
        $edit->pre_process('delete', '_pre_print_delete');
        $edit->container = new containerField('impresion', 'La descarga se realizara en algunos segundos, en caso de no hacerlo haga click ' . anchor('formatos/' . $sfacforma . '/OTINND/' . $uid, 'aqui'));
        $edit->nfiscal = new inputField('N&uacute;mero f&iacute;scal', 'nfiscal');
        $edit->nfiscal->rule = 'max_length[12]|required';
        $edit->nfiscal->size = 14;
        $edit->nfiscal->maxlength = 12;
        $edit->nfiscal->autocomplete = false;
        $edit->tipo_doc = new inputField('Factura', 'tipo_doc');
        $edit->tipo_doc->mode = 'autohide';
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->mode = 'autohide';
        $edit->numero->in = 'tipo_doc';
        $edit->fecha = new dateField('Fecha', 'fecha');
        $edit->fecha->mode = 'autohide';
        $edit->cod_cli = new inputField('Cliente', 'cod_cli');
        $edit->cod_cli->mode = 'autohide';
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->mode = 'autohide';
        $edit->nombre->in = 'cod_cli';
        $edit->rifci = new inputField('Rif/Ci', 'rifci');
        $edit->rifci->mode = 'autohide';
        $total = $edit->get_from_dataobjetct('totalg');
        $edit->totalg = new freeField('<b>Monto a pagar</b>', 'monto', '<b id="vh_monto" style="font-size:2em">' . nformat($total) . '</b>');
        $edit->buttons('save', 'undo');
        $edit->build();
        if ($st == 'modify') {
            $script = '<script type="text/javascript" >
			$(function() {
				setTimeout(\'window.location="' . $url . '"\',100);
			});
			</script>';
        } else {
            $script = '';
        }
        $data['content'] = $edit->output;
        $data['head'] = $this->rapyd->get_head();
        $data['script'] = script('jquery.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $data['script'] .= $script;
        $data['title'] = heading($this->t**s);
        $this->load->view('view_ventanas', $data);
    }
Beispiel #5
0
    function dataedit()
    {
        $this->rapyd->load('dataedit', 'datadetails');
        $scriptadd = ";\n\t\t\t\$('#cod_cli').autocomplete({\n\t\t\t\tdelay: 600,\n\t\t\t\tautoFocus: true,\n\t\t\t\tsource: function( req, add){\n\t\t\t\t\t\$.ajax({\n\t\t\t\t\t\turl:  '" . site_url('ajax/buscascli') . "',\n\t\t\t\t\t\ttype: 'POST',\n\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\tdata: {'q':req.term},\n\t\t\t\t\t\tsuccess:\n\t\t\t\t\t\t\tfunction(data){\n\t\t\t\t\t\t\t\tvar sugiere = [];\n\t\t\t\t\t\t\t\tif(data.length==0){\n\t\t\t\t\t\t\t\t\t\$('#nombre').val('');\n\t\t\t\t\t\t\t\t\t\$('#nombre_val').text('');\n\n\t\t\t\t\t\t\t\t\t\$('#rif').val('');\n\t\t\t\t\t\t\t\t\t\$('#rif_val').text('');\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\$.each(data,\n\t\t\t\t\t\t\t\t\t\tfunction(i, val){\n\t\t\t\t\t\t\t\t\t\t\tsugiere.push( val );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tadd(sugiere);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tminLength: 1,\n\t\t\t\tselect: function( event, ui ) {\n\t\t\t\t\t\$('#cod_cli').attr('readonly', 'readonly');\n\t\t\t\t\t\$('#sclinombre').val(ui.item.nombre);\n\t\t\t\t\t\$('#sclinombre_val').text(ui.item.nombre);\n\t\t\t\t\t\$('#sclirifci').val(ui.item.rifci);\n\t\t\t\t\t\$('#sclirifci_val').text(ui.item.rifci);\n\t\t\t\t\t\$('#cod_cli').val(ui.item.cod_cli);\n\t\t\t\t\tsetTimeout(function() {  \$('#cod_cli').removeAttr('readonly'); }, 1500);\n\t\t\t\t}\n\t\t\t});";
        $do = new DataObject('medhisto');
        $do->pointer('scli', 'scli.cliente=medhisto.cod_cli', 'scli.nombre AS sclinombre, scli.rifci AS sclirifci', 'left');
        $edit = new DataEdit('', $do);
        $edit->on_save_redirect = false;
        $edit->back_url = site_url($this->url . 'filteredgrid');
        $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->numero = new inputField('Historia Nro', 'numero');
        $edit->numero->rule = '';
        $edit->numero->size = 22;
        $edit->numero->maxlength = 20;
        $edit->numero->readonly = true;
        $edit->numero->mode = 'autohide';
        $edit->numero->when = array('modify');
        //$edit->numero->hidden = true;
        $edit->cod_cli = new inputField('Cliente', 'cod_cli');
        $edit->cod_cli->rule = 'required|existescli';
        $edit->cod_cli->size = 8;
        $edit->cod_cli->maxlength = 50;
        $edit->sclinombre = new inputField('Nombre del cliente', 'sclinombre');
        $edit->sclinombre->size = 25;
        $edit->sclinombre->maxlength = 40;
        $edit->sclinombre->readonly = true;
        $edit->sclinombre->autocomplete = false;
        $edit->sclinombre->pointer = true;
        $edit->sclinombre->rule = 'required';
        $edit->sclinombre->type = 'inputhidden';
        $edit->sclirifci = new inputField('RIF/CI', 'sclirifci');
        $edit->sclirifci->autocomplete = false;
        $edit->sclirifci->readonly = true;
        $edit->sclirifci->size = 15;
        $edit->sclirifci->pointer = true;
        $edit->sclirifci->in = 'cod_cli';
        $edit->sclirifci->type = 'inputhidden';
        $edit->identifica = new inputField('Nro. de identificaci&oacute;n del paciente', 'identifica');
        $edit->identifica->rule = 'strtoupper|unique';
        $edit->identifica->size = 30;
        $edit->identifica->maxlength = 50;
        $edit->identifica->append("C&eacute;dula, pasaporte, partida u otro");
        /*
        		$edit->nombre = new inputField('Nombre del paciente','nombre');
        		$edit->nombre->rule='strtoupper|required';
        		$edit->nombre->size =52;
        		$edit->nombre->maxlength =50;
        */
        $edit->ingreso = new dateonlyField('Ingreso', 'ingreso');
        $edit->ingreso->rule = 'required|chfecha';
        $edit->ingreso->calendar = false;
        $edit->ingreso->size = 10;
        $edit->ingreso->maxlength = 8;
        $edit->ingreso->insertValue = date('Y-m-d');
        /*
        		$edit->referido = new dropdownField('Referido por', 'referido');
        		$edit->referido->style='width:250px';
        		$edit->referido->option('','Seleccionar');
        		$edit->referido->options('SELECT codigo,nombre FROM medrec WHERE tipo="ME" ORDER BY nombre');
        		$edit->referido->rule='required';
        */
        //**************************************************************
        // Inicio detalle
        //
        $i = 0;
        $sel = array('a.id', 'a.nombre', 'a.tipo', 'a.tipoadc');
        $this->db->from('medhtab AS a');
        $this->db->where('a.grupo', '1');
        if ($edit->getstatus() !== 'create') {
            $historia = $edit->get_from_dataobjetct('numero');
            $dbhistoria = $this->db->escape($historia);
            $this->db->join('medhvisita AS b', "a.id=b.tabula AND b.historia = {$dbhistoria}", 'left');
            $sel[] = 'b.descripcion AS value';
            $sel[] = 'b.id AS itid';
        }
        $this->db->select($sel);
        $this->db->order_by('a.indice');
        $query = $this->db->get();
        foreach ($query->result() as $row) {
            $obj = 'descripcion_' . $i;
            $nobj = 'itdetalle[' . $row->id . ']';
            $par = array('tipo' => $row->tipo, 'nombre' => ucfirst(strtolower($row->nombre)), 'obj' => $nobj, 'tipoadc' => $row->tipoadc);
            $rt = $this->_tabuladorfield($par);
            $scriptadd .= $rt[1];
            if (!isset($row->value)) {
                $row->value = '';
            }
            $value = isset($_POST['itdetalle'][$row->id]) ? $_POST['itdetalle'][$row->id] : $row->value;
            $edit->{$obj} = $rt[0];
            $edit->{$obj}->db_name = '-';
            $edit->{$obj}->data = null;
            $edit->{$obj}->value = $value;
            $edit->{$obj}->insertValue = $value;
            $edit->{$obj}->updateValue = $value;
            $edit->{$obj}->pointer = true;
            $edit->{$obj}->group = 'Datos B&aacute;sicos';
            if (!isset($row->itid)) {
                $row->itid = '';
            }
            $value = isset($_POST['itid'][$row->id]) ? $_POST['itid'][$row->id] : $row->itid;
            $obj = 'itid_' . $i;
            $edit->{$obj} = new hiddenField('', 'itid[' . $row->id . ']');
            $edit->{$obj}->db_name = '-';
            $edit->{$obj}->value = $value;
            $edit->{$obj}->insertValue = $value;
            $edit->{$obj}->updateValue = $value;
            $edit->{$obj}->pointer = true;
            $edit->{$obj}->data = null;
            $edit->{$obj}->in = 'descripcion_' . $i;
            $i++;
        }
        //**************************************************************
        // Fin de campos para detalle
        //
        $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'));
        $script = '
		$(function() {
			$("#ingreso").datepicker({dateFormat:"dd/mm/yy"});
			$("#nacio").datepicker({dateFormat:"dd/mm/yy"});
			$(".inputnum").numeric(".");
			' . $scriptadd . '
		});';
        $edit->script($script, 'modify');
        $edit->script($script, 'create');
        $edit->build();
        if ($edit->on_success()) {
            $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk);
            echo json_encode($rt);
        } else {
            echo $edit->output;
        }
    }
Beispiel #6
0
 function montoscxp()
 {
     $this->rapyd->load('dataedit');
     //$this->rapyd->uri->keep_persistence();
     $control = $this->rapyd->uri->get_edited_id();
     //$ffecha=$edit->get_from_dataobjetct('fecha');
     $ffecha = false;
     $alicuota = $this->datasis->ivaplica($ffecha == false ? null : $ffecha);
     $edit = new DataEdit('Compras', 'scst');
     $edit->pre_process('insert', '_pre_cxp_insert');
     $edit->pre_process('update', '_pre_cxp_update');
     $edit->pre_process('delete', '_pre_cxp_delete');
     $edit->post_process('update', '_post_cxp_update');
     $edit->on_save_redirect = false;
     //Para CXP
     $edit->cexento = new inputField('Excento', 'cexento');
     $edit->cexento->size = 15;
     $edit->cexento->autocomplete = false;
     $edit->cexento->showformat = 'decimal';
     $edit->cexento->onkeyup = 'ctotales()';
     $edit->cexento->rule = 'numeric';
     $edit->cexento->css_class = 'inputnum';
     $edit->cgenera = new inputField('Base imponible tasa General', 'cgenera');
     $edit->cgenera->size = 15;
     $edit->cgenera->onkeyup = 'cal_iva(' . $alicuota['tasa'] . ',\'civagen\',this.value)';
     $edit->cgenera->css_class = 'inputnum';
     $edit->cgenera->showformat = 'decimal';
     $edit->cgenera->rule = 'numeric';
     $edit->cgenera->autocomplete = false;
     $edit->civagen = new inputField('Monto alicuota tasa General', 'civagen');
     $edit->civagen->size = 10;
     $edit->civagen->autocomplete = false;
     $edit->civagen->showformat = 'decimal';
     $edit->civagen->onkeyup = 'cal_base(' . $alicuota['tasa'] . ',\'cgenera\',this.value)';
     $edit->civagen->rule = 'numeric';
     $edit->civagen->css_class = 'inputnum';
     $edit->creduci = new inputField('Base imponible tasa Reducida', 'creduci');
     $edit->creduci->size = 15;
     $edit->creduci->autocomplete = false;
     $edit->creduci->showformat = 'decimal';
     $edit->creduci->onkeyup = 'cal_iva(' . $alicuota['redutasa'] . ',\'civared\',this.value)';
     $edit->creduci->rule = 'numeric';
     $edit->creduci->css_class = 'inputnum';
     $edit->civared = new inputField('Monto alicuota tasa Reducida', 'civared');
     $edit->civared->size = 10;
     $edit->civared->autocomplete = false;
     $edit->civared->showformat = 'decimal';
     $edit->civared->onkeyup = 'cal_base(' . $alicuota['redutasa'] . ',\'creduci\',this.value)';
     $edit->civared->css_class = 'inputnum';
     $edit->cadicio = new inputField('Base imponible tasa Adicional', 'cadicio');
     $edit->cadicio->size = 15;
     $edit->cadicio->autocomplete = false;
     $edit->cadicio->showformat = 'decimal';
     $edit->cadicio->onkeyup = 'cal_iva(' . $alicuota['sobretasa'] . ',\'civaadi\',this.value)';
     $edit->cadicio->css_class = 'inputnum';
     $edit->civaadi = new inputField('Monto alicuota tasa Adicional', 'civaadi');
     $edit->civaadi->size = 10;
     $edit->civaadi->autocomplete = false;
     $edit->civaadi->showformat = 'decimal';
     $edit->civaadi->rule = 'numeric';
     $edit->civaadi->onkeyup = 'cal_base(' . $alicuota['sobretasa'] . ',\'cadicio\',this.value)';
     $edit->civaadi->css_class = 'inputnum';
     $edit->cstotal = new hiddenField('Sub-total', 'cstotal');
     $edit->cstotal->size = 20;
     $edit->cstotal->rule = 'numeric';
     $edit->cstotal->css_class = 'inputnum';
     $edit->riva = new inputField('Retenci&oacute;n IVA', 'reteiva');
     $edit->riva->size = 10;
     $edit->riva->showformat = 'decimal';
     $edit->riva->rule = 'numeric';
     $edit->riva->autocomplete = false;
     $edit->riva->css_class = 'inputnum';
     $contribu = $this->datasis->traevalor('CONTRIBUYENTE');
     $rif = $this->datasis->traevalor('RIF');
     if (!($contribu == 'ESPECIAL' && strtoupper($rif[0]) != 'V')) {
         $edit->riva->when = array('show');
     }
     $edit->cimpuesto = new hiddenField('Total Impuesto', 'cimpuesto');
     $edit->cimpuesto->size = 10;
     $edit->cimpuesto->rule = 'numeric';
     $edit->cimpuesto->autocomplete = false;
     $edit->cimpuesto->css_class = 'inputnum';
     $edit->ctotal = new hiddenField('Total', 'ctotal');
     $edit->ctotal->size = 20;
     $edit->ctotal->rule = 'numeric';
     $edit->ctotal->css_class = 'inputnum';
     //Fin de CxP
     $edit->build();
     if ($edit->on_success()) {
         $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk);
         echo json_encode($rt);
     } else {
         $conten['form'] =& $edit;
         $conten['alicuota'] = $alicuota;
         $proveed = $edit->get_from_dataobjetct('proveed');
         $conten['priva'] = $this->datasis->dameval('SELECT reteiva FROM sprv WHERE proveed=' . $this->db->escape($proveed));
         $conten['priva'] = $conten['priva'] / 100;
         $data['content'] = $this->load->view('view_compras_cmontos', $conten);
     }
 }
Beispiel #7
0
    function dataprint($st, $uid)
    {
        $this->rapyd->load('dataedit');
        $sfacforma = $this->datasis->traevalor('FORMATOSFAC');
        if (empty($sfacforma)) {
            $sfacforma = 'descargar';
        }
        $url = site_url('formatos/' . $sfacforma . '/CCLINC/' . $uid);
        $edit = new DataEdit('Imprimir Nota de Cr&eacute;dito', 'smov');
        //$id=$edit->get_from_dataobjetct('id');
        $edit->back_url = site_url('ajax/reccierraventana/N');
        $edit->back_save = true;
        $edit->back_delete = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_cancel_delete = true;
        //$edit->on_save_redirect   = false;
        $edit->post_process('update', '_post_print_update');
        $edit->pre_process('insert', '_pre_print_insert');
        $edit->pre_process('delete', '_pre_print_delete');
        $edit->container = new containerField('impresion', 'La descarga se realizara en algunos segundos, en caso de no hacerlo haga click ' . anchor('formatos/' . $sfacforma . '/CCLINC/' . $uid, 'aqui'));
        $edit->tipo_doc = new inputField('Nota de Cr&eacute;dito', 'tipo_doc');
        $edit->tipo_doc->mode = 'autohide';
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->mode = 'autohide';
        $edit->numero->in = 'tipo_doc';
        $edit->fecha = new dateField('Fecha', 'fecha');
        $edit->fecha->mode = 'autohide';
        $edit->cod_cli = new inputField('Cliente', 'cod_cli');
        $edit->cod_cli->mode = 'autohide';
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->mode = 'autohide';
        $edit->nombre->in = 'cod_cli';
        //$edit->rifci = new inputField('Rif/Ci','rifci');
        //$edit->rifci->mode='autohide';
        $edit->nfiscal = new inputField('Nro. Control', 'nfiscal');
        $edit->nfiscal->rule = 'max_length[15]|strtoupper|required';
        $edit->nfiscal->size = 16;
        $edit->nfiscal->maxlength = 15;
        $chkval = false;
        $mmsj = 'Dato sugerido por el sistema, no esta guardado';
        $tipo = $edit->get_from_dataobjetct('tipo_doc');
        $dbtipo = $this->db->escape($tipo);
        $dbcajero = $this->db->escape($edit->get_from_dataobjetct('cajero'));
        $numfis = trim($edit->get_from_dataobjetct('nfiscal'));
        $fiscal = $this->datasis->traevalor('IMPFISCAL', 'Indica si se usa o no impresoras fiscales, esto activa opcion para cierre X y Z');
        if ($fiscal == 'S') {
            if (empty($numfis)) {
                $num = $this->datasis->dameval("SELECT MAX(nfiscal) FROM sfac WHERE cajero={$dbcajero} AND tipo_doc={$dbtipo} AND MID(numero,1,1)!='_'");
                if ($tipo == 'NC') {
                    $nums = trim($this->datasis->dameval("SELECT MAX(nfiscal) AS nf FROM smov WHERE tipo_doc IN ('NC') AND fecha=CURDATE() AND nfiscal IS NOT NULL"));
                    if ($nums > $num) {
                        $num = $nums;
                    }
                }
                if (!empty($num)) {
                    $nn = $num + 1;
                    $edit->nfiscal->updateValue = str_pad($nn, 8, '0', STR_PAD_LEFT);
                    $edit->nfiscal->style = 'background-color:#FFDD00';
                }
            }
            $edit->maqfiscal = new inputField('Serial m&aacute;quina f&iacute;scal', 'maqfiscal');
            $edit->maqfiscal->rule = 'max_length[15]|strtoupper|required';
            $edit->maqfiscal->size = 16;
            $edit->maqfiscal->maxlength = 15;
            $smaqfiscal = trim($edit->get_from_dataobjetct('maqfiscal'));
            if (empty($smaqfiscal)) {
                $maqfiscal = $this->datasis->dameval("SELECT maqfiscal FROM sfac WHERE cajero={$dbcajero} AND tipo_doc={$dbtipo} AND MID(numero,1,1)!='_' ORDER BY id DESC LIMIT 1");
                $edit->maqfiscal->updateValue = trim($maqfiscal);
                $edit->maqfiscal->style = 'background-color:#FFDD00';
                $edit->maqfiscal->title = $mmsj;
                $chkval = true;
            }
        } else {
            if (empty($numfis)) {
                $numf = trim($this->datasis->dameval("SELECT MAX(nfiscal) AS nf FROM sfac WHERE cajero={$dbcajero} AND tipo_doc<>'X' AND MID(numero,1,1)!='_' AND fecha=CURDATE()"));
                $nums = trim($this->datasis->dameval("SELECT MAX(nfiscal) AS nf FROM smov WHERE tipo_doc IN ('NC','FC') AND fecha=CURDATE() AND nfiscal IS NOT NULL"));
                if ($numf > $nums) {
                    $num = $numf;
                } else {
                    $num = $nums;
                }
                if (!empty($num)) {
                    $arr_num = explode('-', $num);
                    $last = count($arr_num) - 1;
                    if ($last >= 0) {
                        if (is_numeric($arr_num[$last])) {
                            $long = strlen($arr_num[$last]);
                            $arr_num[$last] = $arr_num[$last] + 1;
                            $arr_num[$last] = str_pad($arr_num[$last], $long, '0', STR_PAD_LEFT);
                            $nn = implode('-', $arr_num);
                            $edit->nfiscal->updateValue = $nn;
                            $edit->nfiscal->style = 'background-color:#FFDD00';
                            $edit->nfiscal->title = $mmsj;
                            $chkval = true;
                        }
                    }
                }
            }
        }
        $edit->buttons('save');
        $edit->build();
        if ($st == 'modify') {
            $script = '<script type="text/javascript" >
			$(function() {
				setTimeout(\'window.location="' . $url . '"\',100);
			});
			</script>';
        } else {
            $script = '';
        }
        $data['content'] = $edit->output;
        $data['head'] = $this->rapyd->get_head();
        $data['script'] = script('jquery.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js');
        $data['script'] .= $script;
        $data['title'] = heading($this->t**s);
        $this->load->view('view_ventanas_sola', $data);
    }
Beispiel #8
0
    function dataprint($st, $uid)
    {
        $referen = $this->datasis->dameval('SELECT referen FROM sfac WHERE id=' . $this->db->escape($uid));
        if ($referen == 'P') {
            redirect('formatos/descargar/FACTURA/' . $uid);
        }
        $multiforma = $this->datasis->traevalor('MULTIFORMATO', 'Da la posibilidad de que el usuario elija PDF o TXT al momento de imprimri una factura,si es S su valor FORMATOSFAC es irrelevante.');
        $sfacforma = $this->datasis->traevalor('FORMATOSFAC', 'Especifica el metodo a ejecutar para descarga de formato de factura en Proteo Ej. descargartxt...');
        if (empty($sfacforma)) {
            $sfacforma = 'descargar';
        }
        $_url = 'formatos/' . $sfacforma . '/FACTURA/' . $uid;
        $url = site_url($_url);
        $sfacimpven = trim($this->datasis->traevalor('SFACIMPVEN', 'Especifica si muestra o no la pantalla que pide control fiscal (S/N)'));
        if ($sfacimpven == 'N') {
            redirect($_url);
        }
        $this->rapyd->load('dataedit');
        $edit = new DataEdit('Imprimir factura', 'sfac');
        if (isset($this->back_url)) {
            $edit->back_url = site_url($this->back_url);
        } else {
            $edit->back_url = site_url('ajax/reccierraventana/N');
        }
        $edit->back_save = true;
        $edit->back_delete = true;
        $edit->back_cancel = true;
        $edit->back_cancel_save = true;
        $edit->back_cancel_delete = true;
        $edit->post_process('update', '_post_print_update');
        $edit->pre_process('insert', '_pre_print_insert');
        $edit->pre_process('delete', '_pre_print_delete');
        $manual = $this->datasis->dameval('SELECT manual FROM sfac WHERE id=' . $this->db->escape($uid));
        if ($manual != 'S' && $multiforma != 'S') {
            $edit->container = new containerField('impresion', 'La descarga se realizara en algunos segundos, en caso de no hacerlo haga click ' . anchor('formatos/' . $sfacforma . '/FACTURA/' . $uid, 'aqui'));
        } elseif ($multiforma == 'S') {
            $edit->container = new containerField('impresion', 'Elija el formato: ' . anchor('formatos/descargar/FACTURA/' . $uid, 'PDF') . ' ' . anchor('formatos/descargartxt/FACTURA/' . $uid, 'TXT'));
        } else {
            $edit->container = new containerField('impresion', 'Haga click ' . anchor('formatos/descargar/FACTURA/' . $uid, 'aqui') . ' para descargar el comprobante de registro');
        }
        $edit->nfiscal = new inputField('Control f&iacute;scal', 'nfiscal');
        $edit->nfiscal->rule = 'max_length[12]|required';
        $edit->nfiscal->size = 16;
        $edit->nfiscal->maxlength = 12;
        $edit->nfiscal->autocomplete = false;
        if ($manual == 'S') {
            $edit->nromanual = new inputField('N&uacute;mero de factura manual', 'nromanual');
            $edit->nromanual->rule = 'max_length[14]|required';
            $edit->nromanual->size = 18;
            $edit->nromanual->maxlength = 14;
            $edit->nromanual->autocomplete = false;
        }
        $usr = $this->secu->usuario();
        $dbusr = $this->db->escape($usr);
        $chkval = false;
        $dbid = intval($uid);
        $mmsj = 'Dato sugerido por el sistema, no esta guardado';
        $tipo = $edit->get_from_dataobjetct('tipo_doc');
        $dbtipo = $this->db->escape($tipo);
        $dbcajero = $this->db->escape($edit->get_from_dataobjetct('cajero'));
        $numfis = trim($edit->get_from_dataobjetct('nfiscal'));
        $fiscal = $this->datasis->traevalor('IMPFISCAL', 'Indica si se usa o no impresoras fiscales, esto activa opcion para cierre X y Z');
        if ($fiscal == 'S' && $manual != 'S') {
            if (empty($numfis)) {
                $num = $this->datasis->dameval("SELECT nfiscal FROM sfac WHERE cajero={$dbcajero} AND usuario={$dbusr} AND tipo_doc={$dbtipo} AND MID(numero,1,1)!='_' AND id<>{$dbid} ORDER BY numero DESC LIMIT 1");
                if ($tipo == 'D') {
                    $nums = trim($this->datasis->dameval("SELECT nfiscal AS nf FROM smov WHERE tipo_doc IN ('NC') AND fecha=CURDATE() AND id<>{$dbid}  ORDER BY numero DESC LIMIT 1"));
                    if (intval($nums) > intval($num)) {
                        $num = $nums;
                    }
                }
                if (!empty($num)) {
                    $nn = $num + 1;
                    $edit->nfiscal->updateValue = str_pad($nn, 8, '0', STR_PAD_LEFT);
                    $edit->nfiscal->style = 'background-color:#FFDD00';
                    $chkval = true;
                }
            }
            $edit->maqfiscal = new inputField('Serial m&aacute;quina f&iacute;scal', 'maqfiscal');
            $edit->maqfiscal->rule = 'max_length[15]|strtoupper';
            $edit->maqfiscal->size = 16;
            $edit->maqfiscal->maxlength = 15;
            $smaqfiscal = trim($edit->get_from_dataobjetct('maqfiscal'));
            if (empty($smaqfiscal)) {
                $maqfiscal = $this->datasis->dameval("SELECT maqfiscal FROM sfac WHERE cajero={$dbcajero} AND usuario={$dbusr} AND tipo_doc={$dbtipo} AND MID(numero,1,1)!='_' AND id<>{$dbid} ORDER BY id DESC LIMIT 1");
                $edit->maqfiscal->updateValue = trim($maqfiscal);
                if (!empty($maqfiscal)) {
                    $edit->maqfiscal->style = 'background-color:#FFDD00';
                    $edit->maqfiscal->title = $mmsj;
                    $chkval = true;
                }
            }
            if ($tipo == 'D') {
                $edit->dmaqfiscal = new inputField('Serial m&aacute;quina f&iacute;scal de la factura de or&iacute;gen', 'dmaqfiscal');
                $edit->dmaqfiscal->rule = 'max_length[15]|strtoupper';
                $edit->dmaqfiscal->size = 16;
                $edit->dmaqfiscal->maxlength = 15;
                $dmaqfiscal = trim($edit->get_from_dataobjetct('dmaqfiscal'));
                if (empty($dmaqfiscal)) {
                    $dbnumero = $this->db->escape($edit->get_from_dataobjetct('factura'));
                    $mfiscal = $this->datasis->dameval("SELECT maqfiscal FROM sfac WHERE numero={$dbnumero} AND usuario={$dbusr} AND tipo_doc='F'");
                    $edit->dmaqfiscal->updateValue = $mfiscal;
                    if (!empty($mfiscal)) {
                        $edit->dmaqfiscal->style = 'background-color:#FFDD00';
                        $edit->dmaqfiscal->title = $mmsj;
                        $chkval = true;
                    }
                }
            }
        } elseif ($manual != 'S') {
            $numfis = trim($edit->get_from_dataobjetct('nfiscal'));
            if (empty($numfis)) {
                $numf = trim($this->datasis->dameval("SELECT MAX(nfiscal) AS nf FROM sfac WHERE cajero={$dbcajero} AND tipo_doc<>'X' AND MID(numero,1,1)!='_' AND fecha=CURDATE()"));
                $nums = trim($this->datasis->dameval("SELECT MAX(nfiscal) AS nf FROM smov WHERE tipo_doc IN ('NC','FC') AND fecha=CURDATE() AND nfiscal IS NOT NULL"));
                if ($numf > $nums) {
                    $num = $numf;
                } else {
                    $num = $nums;
                }
                if (!empty($num)) {
                    $arr_num = explode('-', $num);
                    $last = count($arr_num) - 1;
                    if ($last >= 0) {
                        if (is_numeric($arr_num[$last])) {
                            $long = strlen($arr_num[$last]);
                            $arr_num[$last] = $arr_num[$last] + 1;
                            $arr_num[$last] = str_pad($arr_num[$last], $long, '0', STR_PAD_LEFT);
                            $nn = implode('-', $arr_num);
                            $edit->nfiscal->updateValue = $nn;
                            $edit->nfiscal->style = 'background-color:#FFDD00';
                            $edit->nfiscal->title = $mmsj;
                            $chkval = true;
                        }
                    }
                }
            }
        }
        $edit->tipo_doc = new inputField('Factura', 'tipo_doc');
        $edit->tipo_doc->mode = 'autohide';
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->mode = 'autohide';
        $edit->numero->in = 'tipo_doc';
        $edit->fecha = new dateField('Fecha', 'fecha');
        $edit->fecha->mode = 'autohide';
        $edit->cod_cli = new inputField('Cliente', 'cod_cli');
        $edit->cod_cli->mode = 'autohide';
        $edit->nombre = new inputField('Nombre', 'nombre');
        $edit->nombre->mode = 'autohide';
        $edit->nombre->in = 'cod_cli';
        $edit->rifci = new inputField('Rif/Ci', 'rifci');
        $edit->rifci->mode = 'autohide';
        $total = $edit->get_from_dataobjetct('totalg');
        $edit->totalg = new freeField('<b>Monto a pagar</b>', 'monto', '<b id="vh_monto" style="font-size:2em">' . nformat($total) . '</b>');
        $ccopia = intval($this->datasis->dameval('SELECT COUNT(*) AS cana FROM formatos WHERE nombre=\'FACTURA\' AND proteo LIKE \'%$copia%\''));
        $nfiscal = $edit->get_from_dataobjetct('nfiscal');
        if (!empty($nfiscal) && $ccopia > 0) {
            $edit->container2 = new containerField('copia', '<p style="font-size:0.8em; text-align:center;margin:0">Si desea una copia con encabezado haga click ' . anchor('formatos/descargar/FACTURA/' . $uid . '/COPIA', 'aqui') . '</p>');
        }
        $edit->buttons('save');
        $edit->build();
        $tipo_doc = $edit->get_from_dataobjetct('tipo_doc');
        if ($tipo_doc == 'F') {
            $maestra = $edit->get_from_dataobjetct('maestra');
            $numero = $edit->get_from_dataobjetct('numero');
            $dbnumero = $this->db->escape($numero);
            $dbmaestra = $this->db->escape($maestra);
            if (!empty($maestra) && $maestra != $numero) {
                $ww = "numero={$dbmaestra} OR maestra={$dbmaestra}";
            } else {
                $ww = "maestra={$dbnumero}";
            }
            $mSQL = "SELECT id,numero,nfiscal FROM sfac WHERE {$ww} ORDER BY numero LIMIT 100";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $cont = '';
                $ft = true;
                foreach ($query->result() as $row) {
                    if ($row->numero == $numero) {
                        continue;
                    }
                    if (empty($row->nfiscal)) {
                        $adi = ' *';
                        if ($ft) {
                            //$edit->back_save = false;
                            $edit->back_url = $edit->back_uri = $edit->_postprocess_uri = $this->url . 'dataprint/modify/' . $row->id;
                            $ft = false;
                        }
                    } else {
                        $adi = ' (' . $row->nfiscal . ')';
                    }
                    $cont .= ' ' . anchor($this->url . 'dataprint/modify/' . $row->id, $row->numero . $adi) . br();
                }
                if (!empty($cont)) {
                    $edit->free = new freeField('Facturas relacionadas', 'maestro', $cont);
                }
            }
            $edit->build();
        }
        $script = '<script type="text/javascript" >

			$(function(){
				$("form").bind("submit", function(){
					window.onbeforeunload = function (){ };
				});
			';
        if ($st == 'modify' && $manual != 'S' && $multiforma != 'S') {
            $script .= '
				setTimeout(
					function(){
						window.location="' . $url . '";';
            //if($chkval){
            //	$script.= '
            //	 window.onbeforeunload = function(){
            //		return "No se ha guardado los campos resaltados, seguro desea salir?";
            //	};';
            //}
            $script .= '}
				,100);';
        }
        $script .= "\n" . '}); </script>';
        $data['content'] = $edit->output;
        $data['head'] = $this->rapyd->get_head();
        $data['script'] = script('jquery.js');
        $data['script'] .= script('plugins/jquery.numeric.pack.js');
        $data['script'] .= script('plugins/jquery.floatnumber.js');
        $data['script'] .= $script;
        $data['title'] = heading($this->t**s);
        $this->load->view('view_ventanas', $data);
    }