function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $tipo_rete = $this->datasis->traevalor('CONTRIBUYENTE'); $rif = $this->datasis->traevalor('RIF'); $fields = $this->db->field_data('gser'); $url_pk = $this->uri->segment_array(); $coun = 0; $pk = array(); foreach ($fields as $field) { if ($field->primary_key == 1) { $coun++; $pk[] = $field->name; } } $values = array_slice($url_pk, -$coun); $claves = array_combine(array_reverse($pk), $values); $query = "UPDATE gitser AS a\n\t\t\tJOIN gser AS b on a.numero=b.numero and a.fecha = b.fecha and a.proveed = b.proveed\n\t\t\tSET a.idgser=b.id\n\t\t\tWHERE a.id=" . $claves['id'] . " "; $this->db->simple_query($query); $mSPRV = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Coodigo', 'nombre' => 'Nombre', 'rif' => 'Rif'), 'filtro' => array('proveed' => 'Codigo', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre', 'tipo' => 'sprvtipo', 'reteiva' => 'sprvreteiva'), 'script' => array('post_sprv_modbus()'), 'titulo' => 'Buscar Proveedor'); $bSPRV = $this->datasis->modbus($mSPRV); $do = new DataObject('gser'); $do->pointer('sprv', 'sprv.proveed=gser.proveed', 'sprv.tipo AS sprvtipo, sprv.reteiva AS sprvreteiva', 'left'); $do->rel_one_to_many('gitser', 'gitser', array('id' => 'idgser')); $do->rel_one_to_many('gereten', 'gereten', array('id' => 'idd')); $do->where_rel_one_to_many('gereten', array('gereten.origen', 'GSER')); //$do->rel_pointer('rete','rete','gereten.codigorete=rete.codigo','rete.pama1 AS retepama1'); $edit = new DataDetails('Gastos', $do); if ($edit->_status == 'show') { $edit->back_url = site_url('finanzas/gser/filteredgrid'); } else { $edit->back_url = site_url('finanzas/gser/agregar'); } $edit->set_rel_title('gitser', 'Gasto <#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->tipo_doc = new dropdownField('Documento', 'tipo_doc'); $edit->tipo_doc->style = 'width:80px'; $edit->tipo_doc->option('FC', 'Factura'); $edit->tipo_doc->option('ND', 'N. Debito'); if ($edit->_status == 'show') { $edit->tipo_doc->option('XX', 'Anulado'); $edit->tipo_doc->option('AD', 'Amortizacion'); $edit->tipo_doc->option('GA', 'Gasto de Nomina'); } $edit->ffactura = new DateonlyField('Fecha', 'ffactura', 'd/m/Y'); $edit->ffactura->insertValue = date('Y-m-d'); $edit->ffactura->size = 12; $edit->ffactura->rule = 'required'; $edit->ffactura->calendar = false; $edit->fecha = new DateonlyField('Registro', 'fecha'); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 12; $edit->fecha->rule = 'required'; $edit->fecha->calendar = false; $edit->vence = new DateonlyField('Vence', 'vence', 'd/m/Y'); $edit->vence->insertValue = date('Y-m-d'); $edit->vence->size = 12; $edit->vence->calendar = false; $edit->compra = new inputField('Doc.Asociado', 'compra'); $edit->compra->rule = 'max_length[8]'; $edit->compra->size = 10; $edit->compra->maxlength = 8; $edit->afecta = new inputField('Doc.Afectado', 'afecta'); $edit->afecta->rule = ''; $edit->afecta->size = 10; $edit->numero = new inputField('Documento Nro.', 'serie'); $edit->numero->size = 10; $edit->numero->maxlength = 12; $edit->numero->autocomplete = false; $edit->numero->rule = 'condi_required|callback_chnumero|callback_chdupli'; $edit->proveed = new inputField('Proveedor', 'proveed'); $edit->proveed->size = 6; $edit->proveed->append($bSPRV); $edit->proveed->rule = 'existesprv|required'; $edit->tercero = new inputField('Facturado a nombre de Tercero', 'tercero'); $edit->tercero->size = 6; //$edit->tercero->append($bSPRV); $edit->tercero->rule = ''; $edit->reteter = new inputField('Ret IVA Bs', 'reteter'); $edit->reteter->rule = 'numeric|positive'; $edit->reteter->size = 10; $edit->reteter->maxlength = 10; $edit->reteter->css_class = 'inputnum'; $edit->reteter->showformat = 'decimal'; $edit->reteter->autocomplete = false; $edit->nfiscal = new inputField('Control Fiscal', 'nfiscal'); $edit->nfiscal->size = 10; $edit->nfiscal->autocomplete = false; $edit->nfiscal->maxlength = 20; $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->size = 30; $edit->nombre->maxlength = 40; $edit->nombre->type = 'inputhidden'; $edit->nombre->rule = 'required'; $edit->sprvtipo = new hiddenField('', 'sprvtipo'); $edit->sprvtipo->db_name = 'sclitipo'; $edit->sprvtipo->pointer = true; $edit->sprvreteiva = new hiddenField('', 'sprvreteiva'); $edit->sprvreteiva->db_name = 'sprvreteiva'; $edit->sprvreteiva->insertValue = $tipo_rete == 'ESPECIAL' && strtoupper($rif[0]) != 'V' ? '75' : '0'; $edit->sprvreteiva->pointer = true; $edit->totpre = new inputField('Sub.Total', 'totpre'); $edit->totpre->size = 10; $edit->totpre->css_class = 'inputnum'; $edit->totpre->readonly = true; $edit->totpre->showformat = 'decimal'; $edit->totpre->type = 'inputhidden'; $edit->totbruto = new inputField('Total', 'totbruto'); $edit->totbruto->size = 10; $edit->totbruto->css_class = 'inputnum'; $edit->totbruto->showformat = 'decimal'; $edit->totbruto->type = 'inputhidden'; $edit->totiva = new inputField('Total IVA', 'totiva'); $edit->totiva->css_class = 'inputnum'; $edit->totiva->size = 10; $edit->totiva->showformat = 'decimal'; $edit->totiva->type = 'inputhidden'; $edit->reteica = new inputField('Ret. ICA', 'reteica'); $edit->reteica->css_class = 'inputnum'; $edit->reteica->when = array('show'); $edit->reteica->size = 10; $edit->reteica->showformat = 'decimal'; $edit->retesimple = new inputField('Ret', 'retesimple'); $edit->retesimple->css_class = 'inputnum'; $edit->retesimple->when = array('show'); $edit->retesimple->size = 10; $edit->retesimple->showformat = 'decimal'; $edit->codb1 = new dropdownField('Caja/Banco', 'codb1'); $edit->codb1->option('', 'Ninguno'); $edit->codb1->options("SELECT TRIM(codbanc) AS ind, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>'00' ORDER BY codbanc"); $edit->codb1->rule = 'max_length[5]|callback_chcodb|condi_required'; $edit->codb1->style = 'width:120px'; $edit->codb1->onchange = "esbancaja(this.value)"; $edit->fondo = new dropdownField('Fondo', 'fondo'); $edit->fondo->option('', 'Ninguno'); $edit->fondo->options("SELECT TRIM(codbanc) AS ind, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>'00' AND tbanco='FO' ORDER BY codbanc"); $edit->fondo->style = 'width:160px'; $edit->tipo1 = new dropdownField('Tipo', 'tipo1'); $edit->tipo1->option('', 'Ninguno'); $edit->tipo1->option('C', 'Cheque'); $edit->tipo1->option('D', 'N.Debito'); $edit->tipo1->rule = 'condi_required|callback_chtipoe'; $edit->tipo1->style = 'width:70px'; $edit->cheque1 = new inputField('Número', 'cheque1'); $edit->cheque1->rule = 'condi_required|callback_chobliganumerog'; $edit->cheque1->size = 12; $edit->cheque1->maxlength = 20; $edit->benefi = new inputField('Beneficiario', 'benefi'); $edit->benefi->size = 39; $edit->benefi->maxlength = 40; $edit->monto1 = new inputField('Contado', 'monto1'); $edit->monto1->rule = 'numeric|positive'; $edit->monto1->size = 10; $edit->monto1->css_class = 'inputnum'; $edit->monto1->onkeyup = 'contado()'; $edit->monto1->rule = 'condi_required|callback_chmontocontado|positive'; $edit->monto1->autocomplete = false; $edit->monto1->showformat = 'decimal'; $edit->credito = new inputField('Monto a Crédito', 'credito'); $edit->credito->rule = 'numeric|positive'; $edit->credito->size = 10; $edit->credito->showformat = 'decimal'; $edit->credito->css_class = 'inputnum'; $edit->credito->onkeyup = 'ccredito()'; $edit->credito->autocomplete = false; //$edit->credito->readonly=true; $edit->reten = new inputField('Ret. ISLR', 'reten'); $edit->reten->rule = 'numeric|positive'; $edit->reten->size = 10; $edit->reten->maxlength = 10; $edit->reten->css_class = 'inputnum'; //$edit->reten->when=array('show'); $edit->reten->showformat = 'decimal'; $edit->reten->type = 'inputhidden'; $edit->reteiva = new inputField('Ret de IVA', 'reteiva'); $edit->reteiva->rule = 'numeric|positive'; $edit->reteiva->size = 10; $edit->reteiva->maxlength = 10; $edit->reteiva->rule = 'callback_chreteiva'; $edit->reteiva->onchange = 'totalizar()'; $edit->reteiva->css_class = 'inputnum'; $edit->reteiva->showformat = 'decimal'; $edit->reteiva->autocomplete = false; //$edit->reteiva->onkeyup="reteiva()"; $edit->cnd = new checkboxField('IVA Deducible', 'cnd', 'S', 'N'); $edit->cnd->insertValue = 'S'; $edit->reteica = new inputField('Ret. ICA', 'reteica'); $edit->reteica->size = 10; $edit->reteica->maxlength = 10; //$edit->reteica->rule = 'callback_chreteiva'; $edit->reteica->css_class = 'inputnum'; $edit->reteica->when = array('show'); $edit->totneto = new inputField('Monto Neto', 'totneto'); $edit->totneto->rule = 'numeric|positive'; $edit->totneto->size = 10; $edit->totneto->maxlength = 10; $edit->totneto->css_class = 'inputnum'; $edit->totneto->readonly = true; $edit->totneto->showformat = 'decimal'; //$edit->totneto->type='inputhidden'; $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd')); $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s')); //************************************************************** // Campos para el detalle 1 // $edit->codigo = new inputField('Codigo <#o#>', 'codigo_<#i#>'); $edit->codigo->size = 7; $edit->codigo->db_name = 'codigo'; //$edit->codigo->append($btn); $edit->codigo->rule = 'required|existemgas'; $edit->codigo->rel_id = 'gitser'; $edit->descrip = new inputField('Descripcion <#o#>', 'descrip_<#i#>'); $edit->descrip->size = 40; $edit->descrip->db_name = 'descrip'; $edit->descrip->maxlength = 50; $edit->descrip->rel_id = 'gitser'; $edit->precio = new inputField('Precio <#o#>', 'precio_<#i#>'); $edit->precio->db_name = 'precio'; $edit->precio->css_class = 'inputnum'; $edit->precio->size = 10; $edit->precio->rule = 'required|positive'; $edit->precio->rel_id = 'gitser'; $edit->precio->autocomplete = false; $edit->precio->onkeyup = 'importe(<#i#>)'; $edit->precio->showformat = 'decimal'; $ivas = $this->datasis->ivaplica(); $edit->tasaiva = new dropdownField('IVA <#o#>', 'tasaiva_<#i#>'); $edit->tasaiva->option($ivas['tasa'], $ivas['tasa'] . '%'); $edit->tasaiva->option($ivas['redutasa'], $ivas['redutasa'] . '%'); $edit->tasaiva->option($ivas['sobretasa'], $ivas['sobretasa'] . '%'); $edit->tasaiva->option('0', '0.00%'); $edit->tasaiva->db_name = 'tasaiva'; $edit->tasaiva->rule = 'positive'; $edit->tasaiva->style = "30px"; $edit->tasaiva->rel_id = 'gitser'; $edit->tasaiva->onchange = 'importe(<#i#>)'; $edit->iva = new inputField('importe <#o#>', 'iva_<#i#>'); $edit->iva->db_name = 'iva'; $edit->iva->css_class = 'inputnum'; $edit->iva->rel_id = 'gitser'; $edit->iva->size = 8; $edit->iva->rule = 'positive|callback_chretiva'; $edit->iva->onkeyup = 'valida(<#i#>)'; $edit->iva->showformat = 'decimal'; $edit->iva->type = 'inputhidden'; $edit->importe = new inputField('importe <#o#>', 'importe_<#i#>'); $edit->importe->db_name = 'importe'; $edit->importe->css_class = 'inputnum'; $edit->importe->rel_id = 'gitser'; $edit->importe->size = 10; $edit->importe->onkeyup = 'valida(<#i#>)'; $edit->importe->showformat = 'decimal'; $edit->importe->type = 'inputhidden'; $edit->departa = new dropdownField('Departamento <#o#>', 'departa_<#i#>'); $edit->departa->option('', 'Seleccionar'); $edit->departa->options("SELECT TRIM(depto) AS codigo, CONCAT_WS('-',depto,TRIM(descrip)) AS label FROM dpto WHERE tipo IN ('G','A') ORDER BY depto"); $edit->departa->db_name = 'departa'; $edit->departa->rule = 'required'; $edit->departa->style = 'width:70px'; $edit->departa->rel_id = 'gitser'; $edit->departa->onchange = "gdeparta(this.value)"; $edit->sucursal = new dropdownField('Sucursal <#o#>', 'sucursal_<#i#>'); $edit->sucursal->options("SELECT codigo,codigo AS sucursal FROM sucu ORDER BY codigo"); $edit->sucursal->db_name = 'sucursal'; $edit->sucursal->rule = 'required'; $edit->sucursal->style = 'width:40px'; $edit->sucursal->title = 'Sucursal'; $edit->sucursal->rel_id = 'gitser'; $edit->sucursal->onchange = "gsucursal(this.value)"; $edit->cargo = new dropdownField('Cargo <#o#>', 'cargo_<#i#>'); $edit->cargo->option('', 'Seleccionar'); $edit->cargo->options("SELECT id, CONCAT(codigo,' ',nombre) nombre FROM usol WHERE activo='S' ORDER BY codigo"); $edit->cargo->db_name = 'gcargo'; $edit->cargo->style = 'width:50px'; $edit->cargo->title = 'Cargo'; $edit->cargo->rel_id = 'gitser'; $edit->cargo->onchange = "gcargo(this.value)"; //================= Fin de campos para detalle ================= //************************************************************** // Campos para el detalle reten // $edit->itorigen = new autoUpdateField('origen', 'GSER', 'GSER'); $edit->itorigen->rel_id = 'gereten'; $edit->codigorete = new dropdownField('', 'codigorete_<#i#>'); $edit->codigorete->option('', 'Seleccionar'); $edit->codigorete->options('SELECT TRIM(codigo) AS codigo,TRIM(CONCAT_WS("-",tipo,codigo,activida)) AS activida FROM rete ORDER BY tipo,codigo'); $edit->codigorete->db_name = 'codigorete'; $edit->codigorete->rule = 'max_length[4]'; $edit->codigorete->style = 'width: 300px'; $edit->codigorete->rel_id = 'gereten'; $edit->codigorete->onchange = 'post_codigoreteselec(<#i#>,this.value)'; $edit->base = new inputField('base', 'base_<#i#>'); $edit->base->db_name = 'base'; $edit->base->rule = 'max_length[10]|numeric|positive'; $edit->base->css_class = 'inputnum'; $edit->base->size = 12; $edit->base->autocomplete = false; $edit->base->rel_id = 'gereten'; $edit->base->maxlength = 10; $edit->base->onkeyup = 'importerete(<#i#>)'; $edit->base->showformat = 'decimal'; $edit->porcen = new inputField('porcen', 'porcen_<#i#>'); $edit->porcen->db_name = 'porcen'; $edit->porcen->rule = 'max_length[5]|numeric|positive'; $edit->porcen->css_class = 'inputnum'; $edit->porcen->size = 7; $edit->porcen->rel_id = 'gereten'; $edit->porcen->readonly = true; $edit->porcen->maxlength = 5; $edit->porcen->showformat = 'decimal'; $edit->porcen->type = 'inputhidden'; $edit->monto = new inputField('monto', 'monto_<#i#>'); $edit->monto->db_name = 'monto'; $edit->monto->rule = 'max_length[10]|numeric|positive'; $edit->monto->css_class = 'inputnum'; $edit->monto->rel_id = 'gereten'; $edit->monto->size = 12; $edit->monto->readonly = true; $edit->monto->maxlength = 8; $edit->monto->showformat = 'decimal'; $edit->monto->type = 'inputhidden'; $edit->terceroi = new checkboxField('terceroi', 'terceroi_<#i#>', 'S', 'N'); $edit->terceroi->insertValue = 'N'; $edit->terceroi->rel_id = 'gereten'; $edit->terceroi->db_name = 'tercero'; //******************************** // Fin de campos para detalle // $edit->buttons('add_rel'); $edit->on_save_redirect = false; $edit->build(); if ($edit->on_success()) { $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk); echo json_encode($rt); } else { if ($this->genesal) { $conten['form'] =& $edit; $conten['solo'] = $this->solo; $data['content'] = $this->load->view('view_gser', $conten); } else { $rt = array('status' => 'B', 'mensaje' => html_entity_decode($edit->error_string), 'pk' => ''); echo json_encode($rt); } } }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>', 'pond' => 'costo_<#i#>', 'iva' => 'iva_<#i#>', 'peso' => 'sinvpeso_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'script' => array('post_modbus_sinv(<#i#>)'), 'titulo' => 'Buscar Artículo', 'where' => 'activo = "S"'); $sprvbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'proveed', 'nombre' => 'nombre'), 'script' => array('post_modbus_sprv()'), 'titulo' => 'Buscar Proveedor'); $do = new DataObject('scst'); $do->rel_one_to_many('itscst', 'itscst', 'control'); $do->rel_one_to_many('gereten', 'gereten', array('id' => 'idd')); $do->rel_one_to_many('scstordc', 'scstordc', array('control' => 'compra')); $do->pointer('sprv', 'sprv.proveed=scst.proveed', 'sprv.nombre AS sprvnombre,sprv.reteiva AS sprvreteiva', 'left'); $do->rel_pointer('itscst', 'sinv', 'itscst.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.base1 AS sinvprecio1, sinv.base2 AS sinvprecio2, sinv.base3 AS sinvprecio3, sinv.base4 AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo'); $do->where_rel_one_to_many('gereten', array('gereten.origen', 'SCST')); $edit = new DataDetails('Compras', $do); $edit->set_rel_title('itscst', '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->on_save_redirect = false; //$edit->back_url = $this->back_dataedit; $edit->fecha = new DateonlyField('Fecha', 'fecha'); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 10; $edit->fecha->rule = 'required|chfecha'; $edit->fecha->calendar = false; //$transac=$edit->get_from_dataobjetct('transac'); $edit->vence = new DateonlyField('Vence', 'vence'); $edit->vence->insertValue = date('Y-m-d'); $edit->vence->size = 10; $edit->vence->rule = 'required|chfecha'; $edit->vence->calendar = false; $edit->actuali = new DateonlyField('Actualizado', 'actuali'); //$edit->actuali->insertValue = date('Y-m-d'); $edit->actuali->when = array('show'); $edit->actuali->size = 10; $edit->actuali->mode = 'autohide'; $edit->actuali->calendar = false; $edit->recep = new DateonlyField('recibido', 'recibido'); //$edit->recep->insertValue = date('Y-m-d'); $edit->recep->size = 10; $edit->recep->mode = 'autohide'; $edit->recep->when = array('show'); $edit->recep->calendar = false; $edit->serie = new inputField('Número', 'serie'); $edit->serie->size = 15; $edit->serie->autocomplete = false; $edit->serie->rule = 'required|callback_chdupli'; $edit->serie->mode = 'autohide'; $edit->serie->maxlength = 20; $edit->fafecta = new inputField('Fact.Afectada', 'fafecta'); $edit->fafecta->size = 15; $edit->fafecta->autocomplete = false; $edit->fafecta->rule = 'condi_required|callback_chproveeddev'; $edit->fafecta->maxlength = 10; $edit->proveed = new inputField('Proveedor', 'proveed'); $edit->proveed->size = 7; $edit->proveed->autocomplete = false; $edit->proveed->rule = 'required'; $edit->proveed->append($this->datasis->modbus($sprvbus)); $edit->nombre = new hiddenField('Nombre', 'nombre'); $edit->nombre->size = 50; $edit->nombre->maxlength = 40; $edit->aplrete = new hiddenField('aplrete', 'aplrete'); $edit->sprvreteiva = new hiddenField('', 'sprvreteiva'); $edit->sprvreteiva->pointer = true; $contribu = $this->datasis->traevalor('CONTRIBUYENTE'); $rif = $this->datasis->traevalor('RIF'); if ($contribu == 'ESPECIAL' && strtoupper($rif[0]) != 'V') { $edit->sprvreteiva->insertValue = '75'; $tipo_doc = $edit->get_from_dataobjetct('tipo_doc'); if ($tipo_doc == 'NC') { $reteiva = floatval($edit->get_from_dataobjetct('reteiva')); if ($reteiva > 0) { $edit->aplrete->insertValue = '1'; } else { $edit->aplrete->insertValue = '0'; } } else { $edit->aplrete->insertValue = '1'; } } else { $edit->aplrete->insertValue = '0'; } $edit->cfis = new inputField('Nro.Fiscal', 'nfiscal'); $edit->cfis->size = 15; $edit->cfis->autocomplete = false; //$edit->cfis->rule = 'required'; $edit->cfis->maxlength = 12; $edit->almacen = new dropdownField('Almacén', 'depo'); $edit->almacen->options('SELECT ubica, CONCAT(ubica," ",ubides) nombre FROM caub WHERE gasto<>"S" AND invfis="N" ORDER BY ubica'); $edit->almacen->rule = 'required'; $edit->almacen->style = 'width:130px;'; $edit->almacen->insertValue = trim($this->datasis->traevalor('ALMACEN')); $edit->tipo = new dropdownField('Tipo', 'tipo_doc'); $edit->tipo->option('FC', 'Factura a Crédito'); $edit->tipo->option('NC', 'Nota de Crédito'); $edit->tipo->option('NE', 'Nota de Entrega'); $edit->tipo->rule = 'required'; $edit->tipo->style = 'width:130px;'; $edit->tipo->onchange = 'chtipodoc()'; $edit->peso = new hiddenField('Peso', 'peso'); $edit->peso->size = 20; $edit->peso->css_class = 'inputnum'; $edit->orden = new inputField('Orden', 'orden'); $edit->orden->when = array('show'); $edit->orden->size = 15; $edit->credito = new inputField('Crédito', 'credito'); $edit->credito->size = 12; $edit->credito->css_class = 'inputnum'; $edit->credito->when = array('show'); $edit->montotot = new inputField('Subtotal', 'montotot'); $edit->montotot->size = 12; $edit->montotot->autocomplete = false; $edit->montotot->css_class = 'inputnum'; $edit->montoiva = new inputField('IVA', 'montoiva'); $edit->montoiva->size = 12; $edit->montoiva->autocomplete = false; $edit->montoiva->css_class = 'inputnum'; $edit->montonet = new hiddenField('Total', 'montonet'); $edit->anticipo = new inputField('Anticipo', 'anticipo'); $edit->anticipo->size = 12; $edit->anticipo->css_class = 'inputnum'; $edit->anticipo->when = array('show'); $edit->inicial = new inputField('Contado', 'inicial'); $edit->inicial->size = 12; $edit->inicial->css_class = 'inputnum'; $edit->inicial->when = array('show'); $edit->rislr = new inputField('Retención ISLR', 'reten'); $edit->rislr->size = 12; $edit->rislr->css_class = 'inputnum'; $edit->rislr->when = array('show'); $edit->riva = new inputField('Retención IVA', 'reteiva'); $edit->riva->size = 11; $edit->riva->css_class = 'inputnum'; $edit->mdolar = new inputField('Monto US $', 'mdolar'); $edit->mdolar->size = 12; $edit->mdolar->css_class = 'inputnum'; $edit->mdolar->when = array('show'); $edit->observa1 = new textareaField('Observación', 'observa1'); $edit->observa1->cols = 50; $edit->observa1->rows = 2; $edit->observa2 = new textareaField('Observación', 'observa2'); $edit->observa2->when = array('show'); $edit->observa2->rows = 3; $edit->observa3 = new textareaField('Observación', 'observa3'); $edit->observa3->when = array('show'); $edit->observa3->rows = 3; //**************************** //Campos para el detalle // $edit->codigo = new inputField('Código', 'codigo_<#i#>'); $edit->codigo->size = 12; $edit->codigo->autocomplete = false; $edit->codigo->rule = 'required|callback_chcodigoa'; $edit->codigo->db_name = 'codigo'; $edit->codigo->rel_id = 'itscst'; $edit->descrip = new hiddenField('Descripción', 'descrip_<#i#>'); $edit->descrip->size = 30; $edit->descrip->db_name = 'descrip'; $edit->descrip->maxlength = 12; $edit->descrip->rel_id = 'itscst'; $edit->cantidad = new inputField('Cantidad', 'cantidad_<#i#>'); $edit->cantidad->db_name = 'cantidad'; $edit->cantidad->css_class = 'inputnum'; $edit->cantidad->rel_id = 'itscst'; $edit->cantidad->maxlength = 10; $edit->cantidad->size = 8; $edit->cantidad->autocomplete = false; $edit->cantidad->onkeyup = 'importe(<#i#>)'; $edit->cantidad->rule = 'required|positive'; $edit->cantidad->showformat = 'decimal'; $edit->costo = new inputField('Costo', 'costo_<#i#>'); $edit->costo->css_class = 'inputnum'; $edit->costo->rule = 'required|positive'; $edit->costo->onkeyup = 'importe(<#i#>)'; $edit->costo->size = 9; $edit->costo->autocomplete = false; $edit->costo->db_name = 'costo'; $edit->costo->rel_id = 'itscst'; $edit->costo->showformat = 'decimal'; $edit->importe = new inputField('Importe', 'importe_<#i#>'); $edit->importe->rule = 'numeric'; $edit->importe->db_name = 'importe'; $edit->importe->size = 12; $edit->importe->rel_id = 'itscst'; $edit->importe->autocomplete = false; $edit->importe->onkeyup = 'costo(<#i#>)'; $edit->importe->css_class = 'inputnum'; $edit->importe->showformat = 'decimal'; $edit->precio1 = new inputField('PVP', 'precio1_<#i#>'); $edit->precio1->rule = 'numeric'; $edit->precio1->db_name = 'precio1'; $edit->precio1->size = 9; $edit->precio1->rel_id = 'itscst'; $edit->precio1->autocomplete = false; $edit->precio1->css_class = 'inputnum'; $edit->precio1->showformat = 'decimal'; $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>'); $edit->sinvpeso->db_name = 'sinvpeso'; $edit->sinvpeso->rel_id = 'itscst'; $edit->sinvpeso->pointer = true; $edit->sinvpeso->showformat = 'decimal'; $edit->iva = new hiddenField('Impuesto', 'iva_<#i#>'); $edit->iva->db_name = 'iva'; $edit->iva->rel_id = 'itscst'; $edit->iva->showformat = 'decimal'; $edit->nentrega = new hiddenField('Nota de entrega', 'nentrega_<#i#>'); $edit->nentrega->autocomplete = false; $edit->nentrega->rule = 'callback_chnentrega[<#i#>]'; $edit->nentrega->db_name = 'nentrega'; $edit->nentrega->rel_id = 'itscst'; //fin de campos para detalle $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); //***************************** //Campos para el detalle reten // $edit->codigorete = new dropdownField('', 'codigorete_<#i#>'); $edit->codigorete->option('', 'Seleccionar'); $edit->codigorete->options('SELECT TRIM(codigo) AS codigo,TRIM(CONCAT_WS("-",tipo,codigo,activida)) AS activida FROM rete ORDER BY tipo,codigo'); $edit->codigorete->db_name = 'codigorete'; $edit->codigorete->rule = 'max_length[4]'; $edit->codigorete->style = 'width: 320px'; $edit->codigorete->rel_id = 'gereten'; $edit->codigorete->onchange = 'post_codigoreteselec(<#i#>,this.value)'; $edit->base = new inputField('base', 'base_<#i#>'); $edit->base->db_name = 'base'; $edit->base->rule = 'max_length[10]|numeric|positive'; $edit->base->css_class = 'inputnum'; $edit->base->size = 12; $edit->base->autocomplete = false; $edit->base->rel_id = 'gereten'; $edit->base->maxlength = 10; $edit->base->onkeyup = 'importerete(<#i#>)'; $edit->base->showformat = 'decimal'; $edit->porcen = new inputField('porcen', 'porcen_<#i#>'); $edit->porcen->db_name = 'porcen'; $edit->porcen->rule = 'max_length[5]|numeric|positive'; $edit->porcen->css_class = 'inputnum'; $edit->porcen->size = 7; $edit->porcen->rel_id = 'gereten'; $edit->porcen->readonly = true; $edit->porcen->maxlength = 5; $edit->porcen->showformat = 'decimal'; $edit->porcen->type = 'inputhidden'; $edit->monto = new inputField('monto', 'monto_<#i#>'); $edit->monto->db_name = 'monto'; $edit->monto->rule = 'max_length[10]|numeric|positive'; $edit->monto->css_class = 'inputnum'; $edit->monto->rel_id = 'gereten'; $edit->monto->size = 12; $edit->monto->readonly = true; $edit->monto->maxlength = 8; $edit->monto->showformat = 'decimal'; $edit->monto->type = 'inputhidden'; // //Fin de campos para detalle //***************************** //***************************** //Campos relacionados con ordc // $edit->ordc = new hiddenField('', 'ordc_<#i#>'); $edit->ordc->db_name = 'orden'; $edit->ordc->rel_id = 'scstordc'; // //Fin de campos ordc //***************************** $recep = strtotime($edit->get_from_dataobjetct('recep')); $fecha = strtotime($edit->get_from_dataobjetct('fecha')); $actuali = strtotime($edit->get_from_dataobjetct('actuali')); if ($actuali < $fecha) { $control = $this->rapyd->uri->get_edited_id(); $accion = "javascript:window.location='" . site_url('compras/scst/actualizar/' . $control) . "'"; $accio2 = "javascript:window.location='" . site_url('compras/scst/cprecios/' . $control) . "'"; $accio3 = "javascript:window.location='" . site_url('compras/scst/montoscxp/modify/' . $control) . "'"; $edit->button_status('btn_actuali', 'Actualizar', $accion, 'TR', 'show'); $edit->button_status('btn_precio', 'Asignar precios', $accio2, 'TR', 'show'); $edit->button_status('btn_cxp', 'Ajuste CxP', $accio3, 'TR', 'show'); $edit->buttons('save', 'delete', 'modify', 'exit', 'add_rel', 'add'); } else { $control = $this->rapyd->uri->get_edited_id(); $accion = "javascript:window.location='" . site_url('compras/scst/reversar/' . $control) . "'"; $edit->button_status('btn_reversar', 'Reversar', $accion, 'TR', 'show'); $edit->buttons('save', 'exit', 'add_rel'); } if ($this->genesal) { $edit->build(); $smenu['link'] = barra_menu('201'); $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true); $conten['form'] =& $edit; $conten['solo'] = $this->solo; $ffecha = $edit->get_from_dataobjetct('fecha'); $conten['alicuota'] = $this->datasis->ivaplica($ffecha == false ? null : $ffecha); if ($this->solo) { $this->load->view('view_compras', $conten); } else { $data['script'] = script('jquery.js'); $data['script'] .= script('jquery-ui.js'); $data['script'] .= script('plugins/jquery.numeric.pack.js'); $data['script'] .= script('plugins/jquery.floatnumber.js'); $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js'); $data['script'] .= phpscript('nformat.js'); $data['head'] = $this->rapyd->get_head(); $data['head'] .= style('redmond/jquery-ui-1.8.1.custom.css'); $data['content'] = $this->load->view('view_compras', $conten, true); $data['title'] = heading('Compras'); $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['control'] = $edit->_dataobject->get('control'); $rt = 'Compra Guardada'; } elseif ($edit->on_error()) { $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string)); } return $rt; } }