Esempio n. 1
0
    function dataedit()
    {
        $this->rapyd->load('dataobject', 'datadetails');
        $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigoa_<#i#>', 'descrip' => 'desca_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Art&iacute;culo', 'where' => '`activo` = "S"');
        $btn = $this->datasis->p_modbus($modbus, '<#i#>');
        $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Direcci&oacute;n', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'C&oacute;digo Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli', 'nombre' => 'nombre', 'rifci' => 'rifci', 'dire11' => 'direc', 'tipo' => 'sclitipo'), 'titulo' => 'Buscar Cliente');
        $boton = $this->datasis->modbus($mSCLId);
        $do = new DataObject('sfac');
        $do->rel_one_to_many('sitems', 'sitems', array('id' => 'id_sfac'));
        $do->rel_one_to_many('sfpa', 'sfpa', array('numero', 'transac'));
        $do->pointer('scli', 'scli.cliente=sfac.cod_cli', 'scli.tipo AS sclitipo', 'left');
        $do->rel_pointer('sitems', 'sinv', 'sitems.codigoa=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo');
        $edit = new DataDetails('Facturas', $do);
        $edit->back_url = !empty($this->back_url) ? $this->back_url : site_url('ventas/sfac/index');
        $edit->set_rel_title('sitems', 'Producto <#o#>');
        $edit->set_rel_title('sfpa', 'Forma de pago <#o#>');
        $edit->pre_process('insert', '_pre_insert');
        $edit->pre_process('update', '_pre_update');
        $edit->pre_process('delete', '_pre_delete');
        $edit->post_process('insert', '_post_insert');
        $edit->post_process('update', '_post_update');
        $edit->post_process('delete', '_post_delete');
        $edit->sclitipo = new hiddenField('', 'sclitipo');
        $edit->sclitipo->db_name = 'sclitipo';
        $edit->sclitipo->pointer = true;
        $edit->sclitipo->insertValue = 1;
        $edit->fecha = new DateonlyField('Fecha', 'fecha', 'd/m/Y');
        $edit->fecha->insertValue = date('Y-m-d');
        $edit->fecha->rule = 'required';
        $edit->fecha->mode = 'autohide';
        $edit->fecha->size = 10;
        $edit->tipo_doc = new dropdownField('Documento', 'tipo_doc');
        $edit->tipo_doc->option('F', 'Factura');
        $edit->tipo_doc->option('D', 'Devoluci&oacute;n');
        $edit->tipo_doc->style = 'width:120px;';
        $edit->tipo_doc->size = 5;
        $edit->tipo_doc->rule = 'required';
        $edit->vd = new dropdownField('Vendedor', 'vd');
        $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor');
        $edit->vd->style = 'width:120px;';
        $edit->vd->insertValue = $this->secu->getvendedor();
        $edit->almacen = new dropdownField('Almac&eacute;n', 'almacen');
        $edit->almacen->options('SELECT ubica,ubides FROM caub WHERE gasto="N" ORDER BY ubides');
        $edit->almacen->rule = 'required';
        $alma = $this->secu->getalmacen();
        if (strlen($alma) <= 0) {
            $alma = $this->datasis->traevalor('ALMACEN');
        }
        $edit->almacen->insertValue = $alma;
        $edit->almacen->style = 'width:120px;';
        $edit->numero = new inputField('N&uacute;mero', 'numero');
        $edit->numero->size = 10;
        $edit->numero->mode = 'autohide';
        $edit->numero->maxlength = 8;
        $edit->numero->apply_rules = false;
        //necesario cuando el campo es clave y no se pide al usuario
        $edit->numero->when = array('show', 'modify');
        $edit->factura = new inputField('Factura', 'factura');
        $edit->factura->size = 10;
        $edit->factura->mode = 'autohide';
        $edit->factura->maxlength = 8;
        $edit->factura->rule = 'condi_required|callback_chfactura';
        $edit->peso = new inputField('Peso', 'peso');
        $edit->peso->css_class = 'inputnum';
        $edit->peso->readonly = true;
        $edit->peso->size = 10;
        $edit->cliente = new inputField('Cliente', 'cod_cli');
        $edit->cliente->size = 6;
        $edit->cliente->autocomplete = false;
        $edit->cliente->rule = 'required|existescli';
        //$edit->cliente->append($boton);
        $edit->nombre = new hiddenField('Nombre', 'nombre');
        $edit->nombre->size = 25;
        $edit->nombre->maxlength = 40;
        $edit->nombre->readonly = true;
        $edit->nombre->autocomplete = false;
        $edit->nombre->rule = 'required';
        $edit->upago = new hiddenField('Ultimo pago de servicio', 'upago');
        $edit->upago->readonly = true;
        $edit->upago->autocomplete = false;
        $edit->rifci = new hiddenField('RIF/CI', 'rifci');
        $edit->rifci->autocomplete = false;
        $edit->rifci->readonly = true;
        $edit->rifci->size = 15;
        $edit->direc = new hiddenField('Direcci&oacute;n', 'direc');
        $edit->direc->readonly = true;
        $edit->direc->size = 40;
        $edit->cajero = new dropdownField('Cajero', 'cajero');
        $edit->cajero->options('SELECT cajero,nombre FROM scaj ORDER BY nombre');
        $edit->cajero->rule = 'required|cajerostatus';
        $edit->cajero->style = 'width:120px;';
        $edit->cajero->insertValue = $this->secu->getcajero();
        $edit->descuento = new hiddenField('Desc.', 'descuento');
        $edit->descuento->insertValue = '0';
        //***********************************
        //  Campos para el detalle 1 sitems
        //***********************************
        $edit->codigoa = new inputField('C&oacute;digo <#o#>', 'codigoa_<#i#>');
        $edit->codigoa->size = 12;
        $edit->codigoa->db_name = 'codigoa';
        $edit->codigoa->rel_id = 'sitems';
        $edit->codigoa->rule = 'required';
        $edit->desca = new inputField('Descripci&oacute;n <#o#>', 'desca_<#i#>');
        $edit->desca->size = 36;
        $edit->desca->db_name = 'desca';
        $edit->desca->maxlength = 50;
        $edit->desca->readonly = true;
        $edit->desca->rel_id = 'sitems';
        $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>');
        $edit->cana->db_name = 'cana';
        $edit->cana->css_class = 'inputnum';
        $edit->cana->rel_id = 'sitems';
        $edit->cana->maxlength = 10;
        $edit->cana->size = 6;
        $edit->cana->rule = 'required|positive|callback_chcanadev[<#i#>]';
        $edit->cana->autocomplete = false;
        $edit->cana->onkeyup = 'importe(<#i#>)';
        $edit->cana->showformat = 'decimal';
        $edit->cana->disable_paste = true;
        $edit->preca = new inputField('Precio <#o#>', 'preca_<#i#>');
        $edit->preca->db_name = 'preca';
        $edit->preca->css_class = 'inputnum';
        $edit->preca->rel_id = 'sitems';
        $edit->preca->size = 10;
        $edit->preca->rule = 'required|positive|callback_chpreca[<#i#>]';
        $edit->preca->readonly = true;
        $edit->preca->showformat = 'decimal';
        $edit->detalle = new hiddenField('', 'detalle_<#i#>');
        $edit->detalle->db_name = 'detalle';
        $edit->detalle->rel_id = 'sitems';
        $edit->tota = new inputField('Importe <#o#>', 'tota_<#i#>');
        $edit->tota->db_name = 'tota';
        $edit->tota->type = 'inputhidden';
        $edit->tota->size = 10;
        $edit->tota->css_class = 'inputnum';
        $edit->tota->rel_id = 'sitems';
        $edit->tota->showformat = 'decimal';
        for ($i = 1; $i < 4; $i++) {
            $obj = 'precio' . $i;
            $edit->{$obj} = new hiddenField('Precio <#o#>', $obj . '_<#i#>');
            $edit->{$obj}->db_name = 'sinv' . $obj;
            $edit->{$obj}->rel_id = 'sitems';
            $edit->{$obj}->pointer = true;
        }
        $edit->precio4 = new hiddenField('', 'precio4_<#i#>');
        $edit->precio4->db_name = 'precio4';
        $edit->precio4->rel_id = 'sitems';
        $edit->combo = new hiddenField('', 'combo_<#i#>');
        $edit->combo->db_name = 'combo';
        $edit->combo->rel_id = 'sitems';
        $edit->itiva = new hiddenField('', 'itiva_<#i#>');
        $edit->itiva->db_name = 'iva';
        $edit->itiva->rel_id = 'sitems';
        $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>');
        $edit->sinvpeso->db_name = 'sinvpeso';
        $edit->sinvpeso->rel_id = 'sitems';
        $edit->sinvpeso->pointer = true;
        $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>');
        $edit->sinvtipo->db_name = 'sinvtipo';
        $edit->sinvtipo->rel_id = 'sitems';
        $edit->sinvtipo->pointer = true;
        //************************************************
        //fin de campos para detalle,inicio detalle2 sfpa
        //************************************************
        $edit->tipo = new dropdownField('Tipo <#o#>', 'tipo_<#i#>');
        $edit->tipo->option('', 'CREDITO');
        $edit->tipo->options('SELECT tipo, nombre FROM tarjeta WHERE activo=\'S\' ORDER BY nombre');
        $edit->tipo->db_name = 'tipo';
        $edit->tipo->rel_id = 'sfpa';
        $edit->tipo->insertValue = 'EF';
        $edit->tipo->style = 'width:150px;';
        $edit->tipo->onchange = 'sfpatipo(<#i#>)';
        //$edit->tipo->rule     = 'required';
        $edit->sfpafecha = new dateonlyField('Fecha', 'sfpafecha_<#i#>');
        $edit->sfpafecha->rel_id = 'sfpa';
        $edit->sfpafecha->db_name = 'fecha';
        $edit->sfpafecha->size = 10;
        $edit->sfpafecha->maxlength = 8;
        $edit->sfpafecha->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->numref = new inputField('Numero <#o#>', 'num_ref_<#i#>');
        $edit->numref->size = 12;
        $edit->numref->db_name = 'num_ref';
        $edit->numref->rel_id = 'sfpa';
        $edit->numref->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->banco = new dropdownField('Banco <#o#>', 'banco_<#i#>');
        $edit->banco->option('', 'Ninguno');
        $edit->banco->options('SELECT cod_banc,nomb_banc
			FROM tban
			WHERE cod_banc<>\'CAJ\'
		UNION ALL
			SELECT codbanc,CONCAT_WS(\' \',TRIM(banco),numcuent)
			FROM banc
			WHERE tbanco <> \'CAJ\' ORDER BY nomb_banc');
        $edit->banco->db_name = 'banco';
        $edit->banco->rel_id = 'sfpa';
        $edit->banco->style = 'width:180px;';
        $edit->banco->rule = 'condi_required|callback_chtipo[<#i#>]';
        $edit->monto = new inputField('Monto <#o#>', 'monto_<#i#>');
        $edit->monto->db_name = 'monto';
        $edit->monto->css_class = 'inputnum';
        $edit->monto->rel_id = 'sfpa';
        $edit->monto->size = 10;
        $edit->monto->rule = 'required|mayorcero';
        $edit->monto->showformat = 'decimal';
        //************************************************
        // Fin detalle 2 (sfpa)
        //************************************************
        $edit->ivat = new hiddenField('I.V.A', 'iva');
        $edit->ivat->css_class = 'inputnum';
        $edit->ivat->readonly = true;
        $edit->ivat->size = 10;
        $edit->totals = new hiddenField('Sub-Total', 'totals');
        $edit->totals->css_class = 'inputnum';
        $edit->totals->readonly = true;
        $edit->totals->size = 10;
        $edit->totalg = new hiddenField('Total', 'totalg');
        $edit->totalg->css_class = 'inputnum';
        $edit->totalg->readonly = true;
        $edit->totalg->size = 10;
        $edit->observa = new inputField('Observacion', 'observa');
        $edit->nfiscal = new inputField('No.Fiscal', 'nfiscal');
        $edit->observ1 = new inputField('Observacion', 'observ1');
        $edit->zona = new inputField('Zona', 'zona');
        $edit->ciudad = new inputField('Ciudad', 'ciudad');
        $edit->exento = new inputField('Exento', 'exento');
        $edit->maqfiscal = new inputField('Mq.Fiscal', 'maqfiscal');
        $edit->referen = new inputField('Referencia', 'referen');
        $edit->pfac = new hiddenField('Presupuesto', 'pfac');
        $edit->reiva = new inputField('Retencion de IVA', 'reiva');
        $edit->creiva = new inputField('Comprobante', 'creiva');
        $edit->freiva = new inputField('Fecha', 'freiva');
        $edit->ereiva = new inputField('Emision', 'ereiva');
        $edit->manual = new hiddenField('Manual', 'manual');
        $edit->manual->insertValue = 'N';
        $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario'));
        $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd'));
        $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s'));
        if ($edit->_status == 'show') {
            $print_url = site_url('ventas/sfac_add/dataprint/modify') . $edit->pk_URI();
            $action = "javascript:window.location='{$print_url}'";
            $edit->button('btn_print', 'Imprimir', $action, 'TR');
        }
        $edit->buttons('save', 'back', 'add_rel');
        if (!empty($this->_url)) {
            $edit->_process_uri = $this->_url;
        }
        if (!empty($this->back_url)) {
            $edit->buttons('undo');
        }
        if ($this->genesal) {
            $edit->build();
            $conten['form'] =& $edit;
            $data['style'] = style('redmond/jquery-ui.css');
            //$data['style']  .= style('gt_grid.css');
            //$data['style']  .= style('impromptu.css');
            $data['script'] = script('jquery.js');
            $data['script'] .= script('jquery-ui.js');
            $data['script'] .= script("jquery-impromptu.js");
            $data['script'] .= script("plugins/jquery.blockUI.js");
            $data['script'] .= script('plugins/jquery.numeric.pack.js');
            $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
            $data['script'] .= phpscript('nformat.js');
            $data['script'] .= script('plugins/jquery.floatnumber.js');
            $data['script'] .= script('gt_msg_en.js');
            $data['script'] .= script('gt_grid_all.js');
            $data['content'] = $this->load->view('view_sfac_add', $conten, true);
            $data['head'] = $this->rapyd->get_head();
            $data['title'] = heading($this->titp);
            $this->load->view('view_ventanas', $data);
        } else {
            $edit->on_save_redirect = false;
            $edit->build();
            if ($edit->on_success()) {
                $this->claves = $edit->_dataobject->pk;
                $this->claves['numero'] = $edit->_dataobject->get('numero');
                $this->claves['tipo_doc'] = $edit->_dataobject->get('tipo_doc');
                $rt = 'Venta Guardada ' . $this->datasis->dameval("SELECT id FROM sfac WHERE numero=" . $edit->_dataobject->get('numero') . " AND tipo_doc='F'");
            } elseif ($edit->on_error()) {
                $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string));
            }
            return $rt;
        }
    }
Esempio n. 2
0
 function dataedit()
 {
     $this->rapyd->load('dataobject', 'datadetails');
     $monedalocal = 'Bs';
     $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Producto en inventario', 'script' => array('post_sinv_modbus("<#i#>")'));
     $btn = $this->datasis->p_modbus($modbus, '<#i#>');
     $sprv = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor', 'where' => 'tipo IN (3,4)', 'script' => array('post_sprv_modbus()'));
     $boton = $this->datasis->modbus($sprv);
     $aran = array('tabla' => 'aran', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n', 'tarifa' => 'Tarifas'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'codaran_<#i#>', 'tarifa' => 'arancel_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Aranceles', 'script' => array('aranpresis(<#i#>)'));
     $aran = $this->datasis->p_modbus($aran, '<#i#>');
     $asprv = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'agente', 'nombre' => 'nomage'), 'titulo' => 'Buscar Proveedor', 'script' => array('post_sprv_modbus()'));
     $aboton = $this->datasis->modbus($asprv, 'agsprv');
     $script = "\n\t\tfunction post_add_itstra(id){\n\t\t\t\$('#cantidad_'+id).numeric(" . ");\n\t\t\treturn true;\n\t\t}\n\t\tfunction formato(row) {\n\t\t\treturn row[0] + " - " + row[1];\n\t\t}";
     $do = new DataObject('ordi');
     $do->rel_one_to_many('itordi', 'itordi', 'numero');
     $edit = new DataDetails('ordi', $do);
     $_status = $do->get('status');
     $_control = $do->get('control');
     if ($_status == 'C') {
         $dbcontrol = $this->db->escape($_control);
         $scstcana = $this->datasis->dameval('SELECT COUNT(*) FROM scst WHERE tipo_doc<>\'XX\' AND control=' . $dbcontrol);
         if (empty($scstcana)) {
             $_id = $do->get('id');
             $this->db->simple_query('UPDATE ordi SET status="A", control=NULL WHERE id=' . $_id);
             $do->set('control', '');
             $do->set('status', 'A');
         }
     }
     $edit->back_url = site_url('import/ordi/filteredgrid');
     $edit->set_rel_title('itstra', 'Producto <#o#>');
     $edit->script($script, 'create');
     $edit->script($script, 'modify');
     $edit->pre_process('insert', '_pre_insert');
     $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->numero = new inputField('N&uacute;mero', 'numero');
     $edit->numero->mode = 'autohide';
     $edit->numero->size = 10;
     //$edit->numero->apply_rules=false; //necesario cuando el campo es clave y no se pide al usuario
     $edit->numero->when = array('show', 'modify');
     $edit->dua = new inputField('Declaraci&oacute;n &uacute;nica de aduana', 'dua');
     $edit->dua->size = 10;
     $edit->fecha = new dateonlyField('Fecha de Factura', 'fecha');
     $edit->fecha->insertValue = date('Y-m-d');
     $edit->fecha->maxlength = 8;
     $edit->fecha->size = 10;
     /*$edit->status = new dropdownField('Estatus', 'status');
     		$edit->status->option('A','Abierto');
     		$edit->status->option('C','Cerrado');
     		$edit->status->option('E','Eliminado');
     		$edit->status->rule  = 'required';
     		$edit->status->style = 'width:120px';*/
     $edit->proveed = new inputField('Proveedor', 'proveed');
     $edit->proveed->rule = 'trim|required|existesprv';
     $edit->proveed->maxlength = 5;
     $edit->proveed->size = 7;
     $edit->proveed->append($boton);
     $edit->nombre = new inputField('Nombre', 'nombre');
     $edit->nombre->rule = 'trim';
     $edit->nombre->maxlength = 40;
     $edit->nombre->size = 40;
     $edit->nombre->type = 'inputhidden';
     $edit->agente = new inputField('Agente aduanal', 'agente');
     $edit->agente->rule = 'trim|existesprv|required';
     $edit->agente->maxlength = 5;
     $edit->agente->size = 7;
     $edit->agente->append($aboton);
     $edit->nomage = new inputField('Nombre de agente', 'nomage');
     $edit->nomage->rule = 'trim';
     $edit->nomage->maxlength = 40;
     $edit->nomage->size = 40;
     $edit->nomage->type = 'inputhidden';
     $arr = array('montofob' => 'Total factura extranjera $');
     foreach ($arr as $obj => $etiq) {
         $edit->{$obj} = new inputField($etiq, $obj);
         $edit->{$obj}->rule = 'trim';
         $edit->{$obj}->maxlength = 20;
         $edit->{$obj}->size = 10;
         $edit->{$obj}->css_class = 'inputnum';
         $edit->{$obj}->autocomplete = false;
         $edit->{$obj}->showformat = 'decimal';
         $edit->{$obj}->type = 'inputhidden';
     }
     $arr = array('gastosi' => 'Gastos Internacionales $', 'montocif' => 'Monto FOB+gastos Internacionales $', 'gastosn' => 'Gastos Nacionales ' . $monedalocal, 'montotot' => 'Monto CIF + Gastos Nacionales ' . $monedalocal, 'montoiva' => 'Monto del iva ' . $monedalocal);
     foreach ($arr as $obj => $etiq) {
         $edit->{$obj} = new inputField($etiq, $obj);
         $edit->{$obj}->rule = 'trim';
         $edit->{$obj}->maxlength = 20;
         $edit->{$obj}->size = 10;
         $edit->{$obj}->css_class = 'inputnum';
         $edit->{$obj}->autocomplete = false;
         $edit->{$obj}->showformat = 'decimal';
         $edit->{$obj}->when = array('show');
     }
     $edit->arribo = new dateonlyField('Fecha de Llegada', 'arribo');
     $edit->arribo->rule = 'chfecha';
     $edit->arribo->maxlength = 8;
     $edit->arribo->size = 10;
     $edit->factura = new inputField('Nro. Factura', 'factura');
     $edit->factura->rule = 'trim';
     $edit->factura->maxlength = 20;
     $edit->factura->size = 10;
     $edit->factura->autocomplete = false;
     $edit->cambioofi = new inputField('Cambio Oficial', 'cambioofi');
     $edit->cambioofi->css_class = 'inputnum';
     $edit->cambioofi->rule = 'trim|required';
     $edit->cambioofi->maxlength = 17;
     $edit->cambioofi->size = 10;
     $edit->cambioofi->autocomplete = false;
     $edit->cambioofi->insertValue = 6.3;
     $edit->cambioofi->showformat = 'decimal';
     $edit->cambioreal = new inputField('Cambio Real', 'cambioreal');
     $edit->cambioreal->css_class = 'inputnum';
     $edit->cambioreal->rule = 'trim|required';
     $edit->cambioreal->maxlength = 17;
     $edit->cambioreal->size = 10;
     $edit->cambioreal->autocomplete = false;
     $edit->cambioreal->showformat = 'decimal';
     $edit->peso = new inputField('Peso Total', 'peso');
     $edit->peso->css_class = 'inputnum';
     $edit->peso->rule = 'trim';
     $edit->peso->maxlength = 12;
     $edit->peso->size = 10;
     $edit->peso->showformat = 'decimal';
     $edit->peso->when = array('show');
     $edit->condicion = new textareaField('Condiciones', 'condicion');
     $edit->condicion->rule = 'trim';
     $edit->condicion->cols = 37;
     $edit->condicion->rows = 3;
     $edit->estimadif = new inputField('Diferencia en estimaci&oacute;n', 'estimadif');
     $edit->estimadif->css_class = 'inputnum';
     $edit->estimadif->maxlength = 12;
     $edit->estimadif->size = 10;
     $edit->estimadif->showformat = 'decimal';
     $edit->estimadif->when = array('show');
     //*********************
     //comienza el detalle
     //*********************
     $edit->codigo = new inputField('C&oacute;digo <#o#>', 'codigo_<#i#>');
     $edit->codigo->db_name = 'codigo';
     $edit->codigo->rule = 'trim|required|existesinv';
     $edit->codigo->rel_id = 'itordi';
     $edit->codigo->maxlength = 15;
     $edit->codigo->size = 10;
     $edit->codigo->append($btn);
     $edit->codigo->autocomplete = false;
     $edit->descrip = new inputField('Descripci&oacute;n <#o#>', 'descrip_<#i#>');
     $edit->descrip->db_name = 'descrip';
     $edit->descrip->rel_id = 'itordi';
     $edit->descrip->maxlength = 35;
     $edit->descrip->size = 30;
     $edit->descrip->autocomplete = false;
     $edit->descrip->type = 'inputhidden';
     $edit->cantidad = new inputField('Cantidad <#o#>', 'cantidad_<#i#>');
     $edit->cantidad->db_name = 'cantidad';
     $edit->cantidad->css_class = 'inputnum';
     $edit->cantidad->rel_id = 'itordi';
     $edit->cantidad->rule = 'numeric|mayorcero|required';
     $edit->cantidad->maxlength = 10;
     $edit->cantidad->size = 7;
     $edit->cantidad->autocomplete = false;
     $edit->cantidad->showformat = 'decimal';
     $arr = array('costofob' => 'costofob', 'importefob' => 'importefob');
     foreach ($arr as $obj => $db) {
         $edit->{$obj} = new inputField(ucfirst("{$obj} <#o#>"), "{$obj}_<#i#>");
         $edit->{$obj}->db_name = $db;
         $edit->{$obj}->css_class = 'inputnum';
         $edit->{$obj}->rel_id = 'itordi';
         $edit->{$obj}->rule = 'trim|mayorcero|required';
         $edit->{$obj}->maxlength = 20;
         $edit->{$obj}->size = 10;
         $edit->{$obj}->autocomplete = false;
         $edit->{$obj}->showformat = 'decimal';
         if ($obj == 'importefob') {
             $edit->{$obj}->type = 'inputhidden';
         }
     }
     $edit->codaran = new inputField('Codaran <#o#>', 'codaran_<#i#>');
     $edit->codaran->db_name = 'codaran';
     $edit->codaran->rel_id = 'itordi';
     $edit->codaran->rule = 'trim|required';
     $edit->codaran->maxlength = 15;
     $edit->codaran->size = 10;
     //$edit->codaran->readonly = true;
     $edit->codaran->append($aran);
     $edit->arancel = new inputField('arancel <#o#>', 'arancel_<#i#>');
     $edit->arancel->db_name = 'arancel';
     $edit->arancel->css_class = 'inputnum';
     $edit->arancel->rel_id = 'itordi';
     $edit->arancel->rule = 'trim';
     $edit->arancel->maxlength = 7;
     $edit->arancel->size = 5;
     $edit->arancel->readonly = true;
     $edit->arancel->autocomplete = false;
     $edit->arancel->showformat = 'decimal';
     $edit->arancel->type = 'inputhidden';
     //Termina el detalle
     $edit->ordeni = new autoUpdateField('status', 'A', 'A');
     $stat = $edit->_dataobject->get('status');
     if ($stat != 'C') {
         $accion = "javascript:window.location='" . site_url('import/ordi/cargarordi/' . $edit->_dataobject->pk['numero']) . "'";
         $edit->button_status('btn_cargar', 'Cargar', $accion, 'BR', 'show');
         $action = "javascript:window.location='" . site_url('import/ordi/calcula/' . $edit->_dataobject->pk['numero']) . "'";
         $edit->button_status('btn_recalculo', 'Calcular valores', $action, 'BR', 'show');
         $action = "javascript:window.location='" . site_url('import/ordi/arancif/' . $edit->_dataobject->pk['numero']) . "'";
         $edit->button_status('btn_arancif', 'Reajustar los aranceles', $action, 'BR', 'show');
         $edit->buttons('modify', 'save', 'delete', 'add_rel');
     } else {
         $id = $edit->get_from_dataobjetct('numero');
         $this->db->where('ordeni', $id);
         $this->db->from('ordiestima');
         if ($this->db->count_all_results() > 0) {
             $accion = "javascript:window.location='" . site_url('import/ordi/gserestima' . $edit->pk_URI()) . "'";
             $edit->button_status('btn_ginpo', 'Agregar gasto real', $accion, 'BR', 'show');
         }
     }
     $accion = "javascript:window.location='" . site_url('import/limport/liqui/' . $edit->_dataobject->pk['numero']) . "'";
     $edit->button_status('btn_liqui', 'Descargar Caldeco', $accion, 'BR', 'show');
     $accion = "javascript:window.location='" . site_url('formatos/ver/ORDI' . $edit->pk_URI()) . "'";
     $edit->button_status('btn_imprime', 'Imprimir', $accion, 'BR', 'show');
     $edit->buttons('undo', 'back');
     $edit->build();
     $auto_aran = site_url('import/ordi/autocomplete/codaran');
     //$this->rapyd->jquery[]='$(".inputnum").numeric(".");';
     if ($edit->_status == 'show') {
         $conten['peroles'][] = $this->_showgeri($edit->_dataobject->pk['numero'], $stat);
         $conten['peroles'][] = $this->_showgeser($edit->_dataobject->pk['numero'], $stat);
         $conten['peroles'][] = $this->_showordiva($edit->_dataobject->pk['numero'], $stat);
         //$conten['peroles'][] = $this->_showordiestima($edit->_dataobject->pk['numero'],$stat);
         $crm = $edit->_dataobject->get('crm');
         if (!empty($crm)) {
             $adici = array($edit->_dataobject->pk['numero']);
             $this->prefijo = 'crm_';
             $conten['peroles'][] = Contenedor::_showAdjuntos($crm, 'import/ordi/adjuntos', $adici);
             $conten['peroles'][] = Contenedor::_showEventos($crm, 'import/ordi/eventos', $adici);
             $conten['peroles'][] = Contenedor::_showComentarios($crm, 'import/ordi/comentarios', $adici);
         }
     }
     $conten['form'] =& $edit;
     $data['content'] = $this->load->view('view_ordi', $conten, true);
     $data['style'] = style('redmond/jquery-ui.css');
     $data['script'] = script('jquery.js');
     $data['script'] .= script('jquery-ui.js');
     $data['script'] .= script('plugins/jquery.floatnumber.js');
     $data['script'] .= script('plugins/jquery.numeric.pack.js');
     $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js');
     $data['script'] .= phpscript('nformat.js');
     $data['head'] = $this->rapyd->get_head();
     $data['title'] = heading('Importaciones');
     $this->load->view('view_ventanas', $data);
 }