function dataedit($status = '', $numero = '')
 {
     //$this->datasis->modulo_id(116,1);
     $this->rapyd->load('dataobject', 'datadetails');
     $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Cóodigo', 'nombre' => 'Nombre', 'rif' => 'Rif', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'Código', 'nombre' => 'Nombre', 'rif' => 'Rif'), 'retornar' => array('proveed' => 'cod_prov', 'nombre' => 'nombrep', 'reteiva' => 'reteiva_prov'), 'script' => array('cal_total()'), 'titulo' => 'Buscar Beneficiario');
     $bSPRV2 = $this->datasis->modbus($mSPRV, "sprv");
     $do = new DataObject("odirect");
     $do->pointer('sprv', 'sprv.proveed = odirect.cod_prov', 'sprv.nombre as nombrep, sprv.rif rifp', 'LEFT');
     $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     $do->rel_pointer('itodirect', 'v_presaldo', 'itodirect.codigoadm=v_presaldo.codigoadm AND itodirect.fondo=v_presaldo.fondo AND itodirect.partida=v_presaldo.codigo ', "v_presaldo.denominacion as pdenominacion");
     if ($status == "create" && !empty($numero)) {
         $do->load($numero);
         $do->set('status', 'C1');
         $do->unset_pk();
     }
     $edit = new DataDetails($this->t**s, $do);
     $edit->back_url = site_url($this->url . "filteredgrid/index");
     $edit->set_rel_title('itodirect', 'Rubro <#o#>');
     $edit->pre_process('update', '_valida');
     $edit->pre_process('insert', '_valida');
     $edit->pre_process('delete', '_pre_delete');
     $edit->post_process('insert', '_post');
     $edit->post_process('update', '_post');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $edit->numero = new inputField("N&uacute;mero", "numero");
     $edit->numero->rule = 'unique';
     if ($this->datasis->traevalor('USANODIRECT') == 'S') {
         $edit->numero->when = array('show');
     } else {
         $edit->numero->when = array('show', 'create', 'modify');
     }
     $edit->tipo = new hiddenField("Orden de ", "tipo");
     $edit->tipo->value = "Contrato";
     $edit->fecha = new dateonlyField("Fecha", "fecha");
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->size = 12;
     $lsnc = '<a href="javascript:consulsprv();" title="Proveedor" onclick="">Consulta/Agrega BENEFICIARIO</a>';
     $edit->cod_prov = new inputField("Beneficiario", 'cod_prov');
     $edit->cod_prov->db_name = "cod_prov";
     $edit->cod_prov->size = 4;
     $edit->cod_prov->append($bSPRV2);
     $edit->cod_prov->append($lsnc);
     $edit->cod_prov->rule = "required";
     $edit->nombrep = new inputField("Nombre", 'nombrep');
     $edit->nombrep->size = 30;
     //$edit->nombrep->readonly = true;
     $edit->nombrep->pointer = true;
     $edit->rifp = new inputField("RIF", "rifp");
     $edit->rifp->size = 10;
     $edit->rifp->pointer = true;
     $edit->rifp->db_name = 'rifp';
     //if($status=='P')
     //$edit->rif->readonly = true;
     $edit->reteiva_prov = new inputField("% R.IVA", "reteiva_prov");
     $edit->reteiva_prov->size = 2;
     $edit->reteiva_prov->readonly = true;
     $edit->reteiva_prov->when = array('modify', 'create');
     $edit->reteiva_prov->onchange = 'cal_total();';
     $edit->observa = new textAreaField("Concepto", 'observa');
     $edit->observa->cols = 70;
     $edit->observa->rows = 3;
     $edit->tipoc = new dropdownField("Tipo de Pago", "tipoc");
     $edit->tipoc->option("OT", "Otro");
     $edit->tipoc->option("FA", "Fondo en anticipo");
     $edit->factura = new inputField("Factura", "factura");
     $edit->factura->size = 15;
     //$edit->factura->rule ="callback_chexiste_factura";
     //$edit->factura->rule="required";
     $edit->controlfac = new inputField("Control Fiscal", "controlfac");
     $edit->controlfac->size = 15;
     //$edit->controlfac->rule="required";
     $edit->fechafac = new dateonlyField("Fecha de Factura", "fechafac");
     $edit->fechafac->insertValue = date('Y-m-d');
     $edit->fechafac->size = 12;
     //$edit->fechafac->rule="required";
     $edit->simptimbre = new checkboxField("1X1000", "simptimbre", "S", "N");
     $edit->simptimbre->insertValue = "N";
     $edit->simptimbre->onchange = 'cal_timbre();';
     $edit->simpmunicipal = new checkboxField("I.Municipal", "simpmunicipal", "S", "N");
     $edit->simpmunicipal->insertValue = "N";
     $edit->simpmunicipal->onchange = 'cal_municipal();';
     $edit->imptimbre = new inputField("Impuesto 1X1000", 'imptimbre');
     $edit->imptimbre->size = 8;
     $edit->imptimbre->css_class = 'inputnum';
     $edit->imptimbre->onchange = 'cal_total();';
     $edit->fondo = new dropdownField("F. Financiamiento", "fondo");
     $edit->fondo->rule = 'required';
     $edit->fondo->db_name = 'fondo';
     $edit->fondo->options("SELECT tipo,tipo a  FROM presupuesto WHERE tipo<>'' GROUP BY tipo ORDER BY tipo desc");
     $edit->fondo->style = "width:100px;";
     $edit->total = new inputField("Monto a Pagar", 'total');
     $edit->total->size = 8;
     $edit->total->css_class = 'inputnum';
     $edit->impmunicipal = new inputField("Impuesto Municipal", 'impmunicipal');
     $edit->impmunicipal->size = 8;
     $edit->impmunicipal->css_class = 'inputnum';
     $edit->impmunicipal->onchange = 'cal_total();';
     $edit->subtotal = new inputField("Total Base Imponible", 'subtotal');
     $edit->subtotal->css_class = 'inputnum';
     $edit->subtotal->size = 8;
     //$edit->subtotal->readonly=true;
     $edit->iva = new inputField("IVA", 'iva');
     $edit->iva->css_class = 'inputnum';
     $edit->iva->size = 8;
     $edit->iva->readonly = true;
     $edit->ivaa = new inputField("IVA Adicional", 'ivaa');
     $edit->ivaa->css_class = 'inputnum';
     $edit->ivaa->size = 8;
     $edit->ivaa->onchange = 'cal_total();';
     $edit->ivag = new inputField("IVA General", 'ivag');
     $edit->ivag->css_class = 'inputnum';
     $edit->ivag->size = 8;
     $edit->ivag->onchange = 'cal_total();';
     $edit->ivar = new inputField("IVA Reducido", 'ivar');
     $edit->ivar->css_class = 'inputnum';
     $edit->ivar->size = 8;
     $edit->ivar->onchange = 'cal_total();';
     $edit->exento = new inputField("Exento", 'exento');
     $edit->exento->css_class = 'inputnum';
     $edit->exento->size = 8;
     $edit->exento->onchange = 'cal_total();';
     $edit->reteiva = new inputField("Retencion IVA", 'reteiva');
     $edit->reteiva->css_class = 'inputnum';
     $edit->reteiva->size = 8;
     $edit->reteiva->onchange = 'cal_total();';
     $edit->creten = new dropdownField("Codigo ISLR", "creten");
     $edit->creten->options("SELECT codigo,CONCAT_WS(' ',codigo,activida) FROM rete ORDER BY codigo");
     $edit->creten->style = "width:300px;";
     $edit->creten->onchange = 'cal_total();';
     $edit->reten = new inputField("Retenci&oacute;n ISLR", 'reten');
     $edit->reten->css_class = 'inputnum';
     $edit->reten->size = 8;
     $edit->reten->onchange = 'cal_total();';
     $edit->otrasrete = new inputField("Otras Deducciones", 'otrasrete');
     $edit->otrasrete->css_class = 'inputnum';
     $edit->otrasrete->size = 8;
     $edit->otrasrete->insertValue = 0;
     $edit->otrasrete->onchange = 'cal_total();';
     $edit->total2 = new inputField("Total", 'total2');
     $edit->total2->css_class = 'inputnum';
     $edit->total2->size = 8;
     $edit->multiple = new dropDownField("Factura Multiple", 'multiple');
     $edit->multiple->option('N', 'NO');
     $edit->itocompra = new inputField("(<#o#>) Descripci&oacute;n", "ocompra_<#i#>");
     $edit->itocompra->db_name = 'ocompra';
     $edit->itocompra->size = 15;
     $edit->itocompra->rel_id = 'itodirect';
     //$edit->itocompra->readonly =true;
     $edit->itocompra->type = 'inputhidden';
     $edit->itcodigoadm = new inputField("Estructura\tAdministrativa", "itcodigoadm_<#i#>");
     $edit->itcodigoadm->type = 'inputhidden';
     $edit->itcodigoadm->db_name = 'codigoadm';
     $edit->itcodigoadm->rel_id = 'itodirect';
     $edit->itcodigoadm->rule = 'required';
     $edit->itcodigoadm->autocomplete = false;
     $edit->itpartida = new inputField("(<#o#>) Partida", "partida_<#i#>");
     //$edit->itpartida->rule='|required';
     $edit->itpartida->type = 'inputhidden';
     $edit->itpartida->db_name = 'partida';
     $edit->itpartida->rel_id = 'itodirect';
     $edit->itpartida->autocomplete = false;
     //$edit->itpartida->readonly =true;
     $edit->itdenominacion = new inputField("(<#o#>) Descripci&oacute;n", "denominacion_<#i#>");
     $edit->itdenominacion->db_name = 'pdenominacion';
     $edit->itdenominacion->type = 'inputhidden';
     $edit->itdenominacion->rel_id = 'itodirect';
     $edit->itdenominacion->pointer = true;
     $edit->itdenominacion->readonly = true;
     $edit->itprecio = new inputField("(<#o#>) Precio", "precio_<#i#>");
     $edit->itprecio->css_class = 'inputnum';
     $edit->itprecio->db_name = 'precio';
     $edit->itprecio->rel_id = 'itodirect';
     $edit->itprecio->rule = 'callback_positivo';
     $edit->itprecio->onchange = 'cal_importe(<#i#>);';
     $edit->itprecio->size = 8;
     $edit->status = new dropdownField("Estado", "status");
     $edit->status->option("C", "Por Elaborar");
     $edit->status->option("C2", "Causado");
     $edit->status->option("C1", "Por Causar");
     $edit->status->option("C3", "Pagado");
     $edit->status->option("CA", "Anulada");
     $edit->status->style = "width:150px";
     $edit->status->mode = 'autohide';
     $status = $edit->get_from_dataobjetct('status');
     if ($status == 'C1') {
         $action = "javascript:window.location='" . site_url($this->url . 'actualizar/' . $edit->rapyd->uri->get_edited_id()) . "'";
         $edit->button_status("btn_status", 'Causar', $action, "TR", "show");
         $action = "javascript:btn_anulaf('" . $edit->rapyd->uri->get_edited_id() . "')";
         if ($this->datasis->puede(156)) {
             $edit->button_status("btn_anular", 'Anular', $action, "TR", "show");
         }
         $edit->buttons("modify", "save", "delete");
     } elseif ($status == 'C2') {
         $action = "javascript:window.location='" . site_url('presupuesto/opago/modconc/odirect/modify/' . $edit->rapyd->uri->get_edited_id()) . "'";
         $edit->button_status("btn_moconc", 'Modificar Concepto', $action, "TR", "show");
         //$action = "javascript:window.location='" .site_url($this->url.'reversar/'.$edit->rapyd->uri->get_edited_id()). "'";
         //$edit->button_status("btn_rever",'Reversar',$action,"TR","show");
         $action = "javascript:btn_anulaf('" . $edit->rapyd->uri->get_edited_id() . "')";
         if ($this->datasis->puede(156)) {
             $edit->button_status("btn_anular", 'Anular', $action, "TR", "show");
         }
     } elseif ($status == 'C3') {
         $multiple = $edit->get_from_dataobjetct('multiple');
         if ($multiple == "N") {
             $action = "javascript:window.location='" . site_url($this->url . 'camfac/dataedit/modify/' . $edit->rapyd->uri->get_edited_id()) . "'";
             $edit->button_status("btn_camfac", 'Modificar Factura', $action, "TR", "show");
         }
     } elseif ($status == "C") {
         $edit->buttons("modify", "save", "delete");
     } elseif ($status == "CA") {
         $edit->buttons("delete");
     } else {
         $edit->buttons("save");
     }
     $edit->buttons("undo", "back", "add_rel");
     $edit->build();
     //SELECT codigo,base1,tari1,pama1 FROM rete
     $query = $this->db->query('SELECT codigo,base1,tari1,pama1 FROM rete');
     $rt = array();
     foreach ($query->result_array() as $row) {
         $pivot = array('base1' => $row['base1'], 'tari1' => $row['tari1'], 'pama1' => $row['pama1']);
         $rt['_' . $row['codigo']] = $pivot;
     }
     $rete = json_encode($rt);
     $conten['rete'] = $rete;
     $ivaplica = $this->ivaplica2();
     $conten['ivar'] = $ivaplica['redutasa'];
     $conten['ivag'] = $ivaplica['tasa'];
     $conten['ivaa'] = $ivaplica['sobretasa'];
     $conten['imptimbre'] = $this->datasis->traevalor('IMPTIMBRE');
     $conten['impmunicipal'] = $this->datasis->traevalor('IMPMUNICIPAL');
     $smenu['link'] = barra_menu('129');
     $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true);
     $conten["form"] =& $edit;
     $data['content'] = $this->load->view('view_opagoc', $conten, true);
     //$data['content'] = $edit->output;
     $data['title'] = "{$this->t**s}";
     $data["head"] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }
Example #2
0
 function dataedit($status = '', $numero = '')
 {
     //$this->datasis->modulo_id(116,1);
     $this->rapyd->load('dataobject', 'datadetails');
     $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;odigo', 'nombre' => 'Nombre', 'rif' => 'Rif', 'contacto' => 'Contacto'), 'filtro' => array('proveed' => 'C&oacute;digo', 'nombre' => 'Nombre', 'rif' => 'Rif'), 'retornar' => array('proveed' => 'cod_prov', 'nombre' => 'nombrep', 'reteiva' => 'reteiva_prov'), 'script' => array('cal_total()'), 'titulo' => 'Buscar Beneficiario');
     $bSPRV = $this->datasis->p_modbus($mSPRV, "<#i#>");
     $bSPRV2 = $this->datasis->modbus($mSPRV, "sprv");
     $modbus = array('tabla' => 'v_presaldoante', 'columnas' => array('codigoadm' => 'Est. Admin', 'codigo' => 'Partida', 'denominacion' => 'Denominaci&oacute;n', 'saldo' => 'Saldo'), 'filtro' => array('codigoadm' => 'Est. Admin', 'codigo' => 'Partida', 'denominacion' => 'Denominaci&oacute;n'), 'retornar' => array('codigoadm' => 'itcodigoadm_<#i#>', 'codigo' => 'partida_<#i#>'), 'where' => 'fondo = <#fondo#> AND codigo LIKE "4.%"', 'p_uri' => array(4 => '<#i#>', 5 => '<#fondo#>'), 'titulo' => 'Busqueda de partidas');
     //$btn=$this->datasis->p_modbus($modbus,'<#i#>');
     $btn = $this->datasis->p_modbus($modbus, '<#i#>/<#fondo#>');
     $btn = '<img src="/tortuga/assets/default/images/system-search.png"  alt="Busqueda de partidas" title="Busqueda de partidas" border="0" onclick="modbusdepen(<#i#>)"/>';
     $mNOMINA = array('tabla' => 'nomina', 'columnas' => array('nomi' => 'N&uacute;mero', 'denomi' => 'Descripcion', 'total' => 'Total'), 'filtro' => array('nomi' => 'N&uacute;mero', 'denomi' => 'Descripcion', 'total' => 'Total'), 'retornar' => array('nomi' => 'nomina', 'denomi' => 'denomin', 'total' => 'retenomina'), 'titulo' => 'Buscar Nominas');
     $bNOMINA = $this->datasis->p_modbus($mNOMINA, "nomina");
     $do = new DataObject("odirect");
     $do->pointer('sprv', 'sprv.proveed = odirect.cod_prov', 'sprv.nombre as nombrep, sprv.rif rif', 'LEFT');
     $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero'));
     if ($status == "create" && !empty($numero)) {
         $do->load($numero);
         $do->set('status', 'N1');
         $do->unset_pk();
         /*$do->set('numero', '');
         		$do->pk    =array('numero'=>'');
         		//$do->loaded=0;
         		for($i=0;$i < $do->count_rel('itodirect');$i++){
         			$do->set_rel('itodirect','id'    ,'',$i);
         			$do->set_rel('itodirect','numero','',$i);
         		}
         		*/
     }
     $edit = new DataDetails($this->t**s, $do);
     $edit->back_url = site_url($this->url . "filteredgrid/index");
     $edit->set_rel_title('itodirect', 'Rubro <#o#>');
     $edit->pre_process('update', '_valida');
     $edit->pre_process('insert', '_valida');
     $edit->post_process('insert', '_post');
     $edit->post_process('update', '_post');
     $edit->post_process('insert', '_post_insert');
     $edit->post_process('update', '_post_update');
     $edit->post_process('delete', '_post_delete');
     $ivaplica = $this->ivaplica2();
     $edit->numero = new inputField("N&uacute;mero", "numero");
     $edit->numero->mode = "autohide";
     if ($this->datasis->traevalor('USANODIRECT') == 'S') {
         $edit->numero->when = array('show');
     } else {
         $edit->numero->when = array('show', 'create');
     }
     $edit->tipo = new dropdownField("Orden de ", "tipo");
     $edit->tipo->option("Compra", "Compra");
     $edit->tipo->option("Servicio", "Servicio");
     $edit->tipo->option("T", "Transferencia");
     $edit->tipo->option("N", "Nomina");
     $edit->tipo->style = "width:100px;";
     $edit->fecha = new dateonlyField("Fecha", "fecha");
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->size = 12;
     $edit->uejecutora = new dropdownField("Unidad Ejecutora", "uejecutora");
     $edit->uejecutora->option("", "Seccionar");
     $edit->uejecutora->options("SELECT codigo, nombre FROM uejecutora ORDER BY nombre");
     //$edit->uejecutora->onchange = "get_uadmin();";
     $edit->uejecutora->rule = "required";
     $edit->uejecutora->style = "width:200px";
     $lsnc = '<a href="javascript:consulsprv();" title="Proveedor" onclick="">Consulta/Agrega BENEFICIARIO</a>';
     $edit->cod_prov = new inputField("Beneficiario", 'cod_prov');
     $edit->cod_prov->db_name = "cod_prov";
     $edit->cod_prov->size = 4;
     $edit->cod_prov->append($bSPRV2);
     $edit->cod_prov->append($lsnc);
     $edit->cod_prov->rule = "required";
     $edit->nombrep = new inputField("Nombre", 'nombrep');
     $edit->nombrep->size = 30;
     //$edit->nombrep->readonly = true;
     $edit->nombrep->pointer = true;
     $edit->rif = new inputField("RIF", "rif");
     $edit->rif->size = 10;
     $edit->rif->pointer = true;
     if ($status == 'P') {
         $edit->rif->readonly = true;
     }
     $edit->reteiva_prov = new inputField("% R.IVA", "reteiva_prov");
     $edit->reteiva_prov->size = 2;
     //$edit->reteiva_prov->mode="autohide";
     $edit->reteiva_prov->when = array('modify', 'create');
     $edit->observa = new textAreaField("Observaciones", 'observa');
     $edit->observa->cols = 70;
     $edit->observa->rows = 3;
     $edit->factura = new inputField("Factura", "factura");
     $edit->factura->size = 15;
     //$edit->factura->rule ="callback_chexiste_factura";
     //$edit->factura->rule="required";
     $edit->controlfac = new inputField("Control Fiscal", "controlfac");
     $edit->controlfac->size = 15;
     //$edit->controlfac->rule="required";
     $edit->fechafac = new dateonlyField("Fecha de Factura", "fechafac");
     $edit->fechafac->insertValue = date('Y-m-d');
     $edit->fechafac->size = 12;
     //$edit->fechafac->rule="required";
     $edit->simptimbre = new checkboxField("1X1000", "simptimbre", "S", "N");
     $edit->simptimbre->insertValue = "N";
     $edit->simptimbre->onchange = 'cal_timbre();';
     $edit->simpmunicipal = new checkboxField("I.Municipal", "simpmunicipal", "S", "N");
     $edit->simpmunicipal->insertValue = "N";
     $edit->simpmunicipal->onchange = 'cal_municipal();';
     $edit->imptimbre = new inputField("Impuesto 1X1000", 'imptimbre');
     $edit->imptimbre->size = 8;
     $edit->imptimbre->css_class = 'inputnum';
     $edit->imptimbre->value = 0;
     $unsolofondo = $this->datasis->traevalor('UNSOLOFONDO', 'S', 'Indica si se utiliza una sola fuente de financiamiento');
     if ($unsolofondo == 'S') {
         $edit->fondo = new dropdownField("F. Financiamiento", "fondo");
         $edit->fondo->rule = 'required';
         $edit->fondo->db_name = 'fondo';
         $edit->fondo->options("SELECT tipo,tipo a  FROM presupuesto WHERE tipo<>'' GROUP BY tipo ORDER BY tipo desc");
         $edit->fondo->style = "width:100px;";
     }
     $edit->total = new inputField("Monto a Pagar", 'total');
     $edit->total->size = 8;
     $edit->total->css_class = 'inputnum';
     $edit->total->value = 0;
     $edit->retenomina = new inputField("Deducciones Nomina", 'retenomina');
     $edit->retenomina->size = 8;
     $edit->retenomina->css_class = 'inputnum';
     $edit->retenomina->onchange = 'cal_total();';
     $edit->retenomina->value = 0;
     $edit->impmunicipal = new inputField("Impuesto Municipal", 'impmunicipal');
     $edit->impmunicipal->size = 8;
     $edit->impmunicipal->css_class = 'inputnum';
     $edit->impmunicipal->value = 0;
     $edit->subtotal = new inputField("Total Base Imponible", 'subtotal');
     $edit->subtotal->css_class = 'inputnum';
     $edit->subtotal->size = 8;
     $edit->subtotal->readonly = true;
     $edit->iva = new inputField("IVA", 'iva');
     $edit->iva->css_class = 'inputnum';
     $edit->iva->size = 8;
     $edit->iva->readonly = true;
     $edit->iva->value = 0;
     $edit->ivaa = new inputField("IVA Adicional", 'ivaa');
     $edit->ivaa->css_class = 'inputnum';
     $edit->ivaa->size = 8;
     $edit->ivaa->value = 0;
     $edit->ivag = new inputField("IVA General", 'ivag');
     $edit->ivag->css_class = 'inputnum';
     $edit->ivag->size = 8;
     $edit->ivag->value = 0;
     $edit->ivar = new inputField("IVA Reducido", 'ivar');
     $edit->ivar->css_class = 'inputnum';
     $edit->ivar->size = 8;
     $edit->ivar->value = 0;
     $edit->exento = new inputField("Exento", 'exento');
     $edit->exento->css_class = 'inputnum';
     $edit->exento->size = 8;
     $edit->exento->value = 0;
     $edit->mivaa = new inputField("Base " . $ivaplica['sobretasa'] . "%: ", 'mivaa');
     $edit->mivaa->size = 12;
     $edit->mivaa->css_class = 'inputnum';
     $edit->mivaa->rule = 'numeric';
     $edit->mivaa->onchange = 'cal_mivaa();';
     $edit->mivaa->value = 0;
     $edit->mivag = new inputField("Base " . $ivaplica['tasa'] . "%: ", 'mivag');
     $edit->mivag->size = 12;
     $edit->mivag->css_class = 'inputnum';
     $edit->mivag->rule = 'numeric';
     $edit->mivag->onchange = 'cal_mivag();';
     $edit->mivag->value = 0;
     $edit->mivar = new inputField("Base " . $ivaplica['redutasa'] . "%: ", 'mivar');
     $edit->mivar->size = 12;
     $edit->mivar->css_class = 'inputnum';
     $edit->mivar->rule = 'numeric';
     $edit->mivar->onchange = 'cal_mivar();';
     $edit->mivar->value = 0;
     $edit->mexento = new inputField("Exento a Retener: ", 'mexento');
     $edit->mexento->size = 12;
     $edit->mexento->css_class = 'inputnum';
     $edit->mexento->rule = 'numeric';
     $edit->mexento->onchange = 'cal_total();';
     $edit->mexento->value = 0;
     $edit->reteiva = new inputField("Retencion IVA", 'reteiva');
     $edit->reteiva->css_class = 'inputnum';
     $edit->reteiva->size = 8;
     $edit->reteiva->value = 0;
     $edit->creten = new dropdownField("Codigo ISLR", "creten");
     $edit->creten->options("SELECT codigo,CONCAT_WS(' ',codigo,activida) FROM rete ORDER BY codigo");
     $edit->creten->style = "width:300px;";
     $edit->creten->onchange = 'cal_total();';
     $edit->reten = new inputField("Retenci&oacute;n ISLR", 'reten');
     $edit->reten->css_class = 'inputnum';
     $edit->reten->size = 8;
     $edit->reten->value = 0;
     $edit->otrasrete = new inputField("Otras Deducciones", 'otrasrete');
     $edit->otrasrete->css_class = 'inputnum';
     $edit->otrasrete->size = 8;
     $edit->otrasrete->insertValue = 0;
     $edit->otrasrete->onchange = 'cal_total();';
     $edit->otrasrete->value = 0;
     $edit->amortiza = new inputField("Amortizacion", "amortiza");
     $edit->amortiza->size = 8;
     $edit->amortiza->value = 0;
     $edit->amortiza->onchange = 'cal_total();';
     $edit->total2 = new inputField("Total", 'total2');
     $edit->total2->css_class = 'inputnum';
     $edit->total2->size = 8;
     $edit->multiple = new dropdownField("Factura Multiple", 'multiple');
     $edit->multiple->option("N", "NO");
     $edit->multiple->option("S", "SI");
     $edit->multiple->style = "width:50px;";
     $edit->itesiva = new dropdownField("P.IVA", "itesiva_<#i#>");
     $edit->itesiva->rule = 'required';
     $edit->itesiva->db_name = 'esiva';
     $edit->itesiva->rel_id = 'itodirect';
     $edit->itesiva->option("N", "No");
     $edit->itesiva->option("S", "Si");
     $edit->itesiva->option("A", "Auto");
     $edit->itesiva->style = "width:45px;";
     if ($unsolofondo != 'S') {
         $edit->itfondo = new dropdownField("Fondo", "itfondo_<#i#>");
         $edit->itfondo->size = 10;
         $edit->itfondo->rule = 'required';
         $edit->itfondo->db_name = 'fondo';
         $edit->itfondo->rel_id = 'itodirect';
         $edit->itfondo->options("SELECT tipo,tipo a  FROM presupuesto WHERE tipo<>'' GROUP BY tipo ORDER BY tipo desc");
         $edit->itfondo->style = "width:100px;";
     }
     $edit->itcodigoadm = new inputField("Estructura\tAdministrativa", "itcodigoadm_<#i#>");
     $edit->itcodigoadm->size = 10;
     $edit->itcodigoadm->db_name = 'codigoadm';
     $edit->itcodigoadm->rel_id = 'itodirect';
     $edit->itcodigoadm->rule = 'required';
     $edit->itcodigoadm->autocomplete = false;
     $edit->itpartida = new inputField("(<#o#>) Partida", "partida_<#i#>");
     //$edit->itpartida->rule='|required';
     $edit->itpartida->size = 15;
     $edit->itpartida->append($btn);
     $edit->itpartida->db_name = 'partida';
     $edit->itpartida->rel_id = 'itodirect';
     $edit->itpartida->autocomplete = false;
     //$edit->itpartida->readonly =true;
     //$edit->itordinal = new inputField("(<#o#>) Ordinal", "ordinal_<#i#>");
     //$edit->itordinal->db_name  ='ordinal';
     //$edit->itordinal->maxlength=3;
     //$edit->itordinal->size     =5;
     //$edit->itordinal->rel_id   ='itodirect';
     $edit->itdescripcion = new inputField("(<#o#>) Descripci&oacute;n", "descripcion_<#i#>");
     $edit->itdescripcion->db_name = 'descripcion';
     $edit->itdescripcion->maxlength = 80;
     $edit->itdescripcion->size = 15;
     //$edit->itdescripcion->rule     = 'required';
     $edit->itdescripcion->rel_id = 'itodirect';
     $edit->itunidad = new dropdownField("(<#o#>) Unidad", "unidad_<#i#>");
     $edit->itunidad->db_name = 'unidad';
     //$edit->itunidad->rule   = 'required';
     $edit->itunidad->rel_id = 'itodirect';
     $edit->itunidad->options("SELECT unidades AS id,unidades FROM unidad ORDER BY unidades");
     $edit->itunidad->style = "width:60px";
     $edit->itcantidad = new inputField("(<#o#>) Cantidad", "cantidad_<#i#>");
     $edit->itcantidad->css_class = 'inputnum';
     $edit->itcantidad->db_name = 'cantidad';
     $edit->itcantidad->rel_id = 'itodirect';
     $edit->itcantidad->rule = 'numeric';
     $edit->itcantidad->onchange = 'cal_importe(<#i#>);';
     $edit->itcantidad->size = 5;
     $edit->itprecio = new inputField("(<#o#>) Precio", "precio_<#i#>");
     $edit->itprecio->css_class = 'inputnum';
     $edit->itprecio->db_name = 'precio';
     $edit->itprecio->rel_id = 'itodirect';
     $edit->itprecio->rule = 'callback_positivo';
     $edit->itprecio->onchange = 'cal_importe(<#i#>);';
     $edit->itprecio->size = 8;
     $edit->itusaislr = new dropdownField("(<#o#>) Islr", "usaislr_<#i#>");
     $edit->itusaislr->db_name = 'usaislr';
     $edit->itusaislr->rel_id = 'itodirect';
     $edit->itusaislr->insertValue = "N";
     $edit->itusaislr->onchange = 'cal_total();';
     $edit->itusaislr->option("N", "No");
     $edit->itusaislr->option("S", "Si");
     $edit->itusaislr->style = "width:45px";
     //$edit->itusaislr = new checkboxField("(<#o#>) Islr", "usaislr_<#i#>","Y","N");
     //$edit->itusaislr->db_name     = 'usaislr';
     //$edit->itusaislr->rel_id      = 'itodirect';
     //$edit->itusaislr->insertValue = "N";
     //$edit->itusaislr->when        = array("modify","create");
     //$edit->itusaislr->onchange ='cal_total();';
     $edit->itislr = new inputField("(<#o#>) Islr", "islr_<#i#>");
     $edit->itislr->css_class = 'inputnum';
     $edit->itislr->db_name = 'islr';
     $edit->itislr->rel_id = 'itodirect';
     $edit->itislr->rule = 'numeric';
     $edit->itislr->readonly = true;
     $edit->itislr->size = 5;
     $edit->itiva = new dropdownField("(<#o#>) IVA", "iva_<#i#>");
     $edit->itiva->db_name = 'iva';
     $edit->itiva->rel_id = 'itodirect';
     $edit->itiva->onchange = 'cal_importe(<#i#>);';
     $edit->itiva->options($this->_ivaplica());
     $edit->itiva->option("0", "Exento");
     $edit->itiva->style = "width:80px";
     $edit->itimporte = new inputField("(<#o#>) Importe", "importe_<#i#>");
     $edit->itimporte->css_class = 'inputnum';
     $edit->itimporte->db_name = 'importe';
     $edit->itimporte->rel_id = 'itodirect';
     $edit->itimporte->rule = 'numeric';
     //$edit->itimporte->readonly =true;
     $edit->itimporte->size = 8;
     $edit->itimporte->onchange = 'cal_importep(<#i#>);';
     $edit->status = new dropdownField("Estado", "status");
     $edit->status->option("", "");
     $edit->status->option("N2", "Actualizado");
     $edit->status->option("N1", "Sin Actualizar");
     $edit->status->option("N3", "Pagado");
     $edit->status->when = array('show');
     $edit->status->style = "width:150px";
     $status = $edit->get_from_dataobjetct('status');
     if ($status == 'N1') {
         $action = "javascript:window.location='" . site_url($this->url . 'actualizar/' . $edit->rapyd->uri->get_edited_id()) . "'";
         $edit->button_status("btn_status", 'Actualizar', $action, "TR", "show");
         $action = "javascript:btn_anulaf('" . $edit->rapyd->uri->get_edited_id() . "')";
         $edit->button_status("btn_anular", 'Anular', $action, "TR", "show");
         $edit->buttons("modify", "save");
     } elseif ($status == 'N2') {
         $action = "javascript:window.location='" . site_url('presupuesto/opago/modconc/odirect/modify/' . $edit->rapyd->uri->get_edited_id()) . "'";
         $edit->button_status("btn_moconc", 'Modificar Concepto', $action, "TR", "show");
         //$action = "javascript:window.location='" .site_url($this->url.'reversar/'.$edit->rapyd->uri->get_edited_id()). "'";
         //$edit->button_status("btn_rever",'Reversar',$action,"TR","show");
         $action = "javascript:btn_anulaf('" . $edit->rapyd->uri->get_edited_id() . "')";
         $edit->button_status("btn_anular", 'Anular', $action, "TR", "show");
     } elseif ($status == 'N3') {
         $multiple = $edit->get_from_dataobjetct('multiple');
         if ($multiple == "N") {
             $action = "javascript:window.location='" . site_url($this->url . 'camfac/dataedit/modify/' . $edit->rapyd->uri->get_edited_id()) . "'";
             $edit->button_status("btn_camfac", 'Modificar Factura', $action, "TR", "show");
         }
     } elseif ($status == "N") {
         $edit->buttons("modify", "save");
     } else {
         $edit->buttons("save");
     }
     $edit->buttons("undo", "back", "add_rel", "add");
     $edit->build();
     //SELECT codigo,base1,tari1,pama1 FROM rete
     $query = $this->db->query('SELECT codigo,base1,tari1,pama1 FROM rete');
     $rt = array();
     foreach ($query->result_array() as $row) {
         $pivot = array('base1' => $row['base1'], 'tari1' => $row['tari1'], 'pama1' => $row['pama1']);
         $rt['_' . $row['codigo']] = $pivot;
     }
     $rete = json_encode($rt);
     $conten['rete'] = $rete;
     $ivaplica = $this->ivaplica2();
     $conten['ivar'] = $ivaplica['redutasa'];
     $conten['ivag'] = $ivaplica['tasa'];
     $conten['ivaa'] = $ivaplica['sobretasa'];
     $conten['imptimbre'] = $this->datasis->traevalor('IMPTIMBRE');
     $conten['impmunicipal'] = $this->datasis->traevalor('IMPMUNICIPAL');
     $smenu['link'] = barra_menu('121');
     $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true);
     $conten["form"] =& $edit;
     $data['content'] = $this->load->view('view_opagoante', $conten, true);
     //$data['content'] = $edit->output;
     $data['title'] = "{$this->t**s}";
     $data["head"] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }