function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $do = new DataObject("doc_tablas"); $do->rel_one_to_many('doc_campos', 'doc_campos', array('nombre' => 'tabla')); $edit = new DataDetails("Documentación de Tablas", $do); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->set_rel_title('doc_campos', 'Rubro <#o#>'); $edit->pre_process('insert', '_valida'); $edit->pre_process('update', '_valida'); $edit->nombre = new inputField("Nombre", "nombre"); $edit->nombre->mode = "autohide"; $edit->nombre->size = 15; $edit->referen = new textareaField("Descripcion", "referen"); $edit->referen->size = 50; $edit->referen->rows = 2; $edit->referen->cols = 90; $edit->itcampo = new inputField("(<#o#>) Campo", "itcampo_<#i#>"); $edit->itcampo->db_name = 'campo'; $edit->itcampo->rel_id = 'doc_campos'; $edit->itcampo->rule = 'required|callback_chexiste'; $edit->itcampo->size = 15; $edit->ittype = new inputField("(<#o#>) Type", "ittype_<#i#>"); $edit->ittype->db_name = 'dtype'; $edit->ittype->rel_id = 'doc_campos'; $edit->ittype->size = 15; $edit->itnull = new inputField("(<#o#>) Null", "itnull_<#i#>"); $edit->itnull->db_name = 'dnull'; $edit->itnull->rel_id = 'doc_campos'; $edit->itnull->size = 3; $edit->itkey = new inputField("(<#o#>) key", "itkey_<#i#>"); $edit->itkey->db_name = 'dkey'; $edit->itkey->rel_id = 'doc_campos'; $edit->itkey->size = 3; $edit->itdefault = new inputField("(<#o#>) Default", "itdefault_<#i#>"); $edit->itdefault->db_name = 'ddefault'; $edit->itdefault->rel_id = 'doc_campos'; $edit->itdefault->size = 5; $edit->itextra = new inputField("(<#o#>) Extra", "itextra_<#i#>"); $edit->itextra->db_name = 'dextra'; $edit->itextra->rel_id = 'doc_campos'; $edit->itextra->size = 10; $edit->itdcomment = new textareaField("(<#o#>) Comentario", "itdcomment_<#i#>"); $edit->itdcomment->db_name = 'dcomment'; $edit->itdcomment->rel_id = 'doc_campos'; $edit->itdcomment->cols = 40; $edit->itdcomment->rows = 2; $edit->buttons("modify", "save", "undo", "back", "add_rel"); $edit->build(); $conten["form"] =& $edit; $data['content'] = $this->load->view('view_tablas', $conten, true); $data['title'] = "Documentación de Tablas"; $data["head"] = $this->rapyd->get_head() . script('jquery.js'); $this->load->view('view_ventanas', $data); }
function dataedit() { $this->rapyd->load('datadetails', 'dataobject'); $do = new DataObject('lprod'); //$do->pointer('scli' ,'scli.cliente=rivc.cod_cli','sprv.tipo AS sprvtipo, sprv.reteiva AS sprvreteiva','left'); $do->rel_one_to_many('itlprod', 'itlprod', array('id' => 'id_lprod')); $edit = new DataDetails($this->t**s, $do); $edit->on_save_redirect = false; $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $edit->pre_process('delete', '_pre_delete'); $edit->codigo = new inputField('Producto', 'codigo'); $edit->codigo->rule = 'required'; $edit->codigo->size = 8; $edit->codigo->maxlength = 10; $edit->descrip = new inputField('Descripción', 'descrip'); $edit->descrip->type = 'inputhidden'; $edit->descrip->size = 12; $edit->descrip->maxlength = 10; $edit->fecha = new dateField('Fecha', 'fecha'); $edit->fecha->rule = 'chfecha|required'; $edit->fecha->size = 11; $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->maxlength = 8; $edit->fecha->calendar = false; $edit->inventario = new inputField('Leche de Inventario', 'inventario'); $edit->inventario->rule = 'max_length[12]|numeric|required'; $edit->inventario->css_class = 'inputnum'; $edit->inventario->size = 7; $edit->inventario->insertValue = '0'; $edit->inventario->onkeyup = 'totalizar();'; $edit->inventario->maxlength = 9; $edit->litros = new inputField('Total Lts.', 'litros'); $edit->litros->rule = 'max_length[12]|numeric'; $edit->litros->css_class = 'inputnum'; $edit->litros->type = 'inputhidden'; $edit->litros->size = 8; $edit->litros->maxlength = 12; $edit->peso = new inputField('Peso', 'peso'); $edit->peso->rule = 'max_length[12]|numeric'; $edit->peso->css_class = 'inputnum'; $edit->peso->type = 'inputhidden'; $edit->peso->size = 14; $edit->peso->maxlength = 12; $edit->grasa = new inputField('Grasa %', 'grasa'); //$edit->grasa->rule='required'; $edit->grasa->css_class = 'inputnum'; $edit->grasa->size = 4; $edit->grasa->maxlength = 10; $edit->sal = new inputField('Sal', 'sal'); //$edit->grasa->rule='required'; $edit->sal->css_class = 'inputnum'; $edit->sal->size = 4; $edit->sal->maxlength = 10; $edit->tina = new dropdownField('Tina', 'tina'); $edit->tina->rule = 'required'; $edit->tina->option('', 'Seleccionar'); $edit->tina->options("SELECT codigo, CONCAT( codigo, '-', descripcion, '-', capacidad) descrip FROM tinaq ORDER BY codigo"); $edit->tina->style = 'width:150px;'; /* $edit->reciclaje = new inputField('Reproceso','reciclaje'); $edit->reciclaje->css_class='inputnum'; $edit->reciclaje->insertValue='0'; $edit->reciclaje->size =8; $edit->reciclaje->maxlength =10; */ //Inicio del detalle $edit->itid = new hiddenField('', 'itid_<#i#>'); $edit->itid->db_name = 'id'; $edit->itid->rel_id = 'itlprod'; $edit->itcodrut = new inputField('ruta', 'codrut_<#i#>'); $edit->itcodrut->db_name = 'codrut'; $edit->itcodrut->rule = 'max_length[4]'; $edit->itcodrut->size = 7; $edit->itcodrut->maxlength = 4; $edit->itcodrut->rel_id = 'itlprod'; $edit->itnombre = new inputField('ruta', 'itnombre_<#i#>'); $edit->itnombre->db_name = 'nombre'; $edit->itnombre->type = 'inputhidden'; $edit->itnombre->size = 14; $edit->itnombre->maxlength = 12; $edit->itnombre->rel_id = 'itlprod'; $edit->itlitros = new inputField('litros', 'itlitros_<#i#>'); $edit->itlitros->db_name = 'litros'; $edit->itlitros->rule = 'max_length[12]|numeric|mayorcero|callback_chlitros[<#i#>]'; $edit->itlitros->css_class = 'inputnum'; $edit->itlitros->size = 14; $edit->itlitros->maxlength = 12; $edit->itlitros->onkeyup = 'totalizar();'; $edit->itlitros->rel_id = 'itlprod'; $edit->itbufala = new inputField('bufala', 'itbufala_<#i#>'); $edit->itbufala->db_name = 'bufala'; $edit->itbufala->rule = 'max_length[12]|numeric|mayorcero|callback_chlitros[<#i#>]'; $edit->itbufala->css_class = 'inputnum'; $edit->itbufala->size = 14; $edit->itbufala->maxlength = 12; $edit->itbufala->onkeyup = 'totalizar();'; $edit->itbufala->rel_id = 'itlprod'; //Fin del detalle $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario()); $edit->buttons('add_rel'); $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; $conten['form'] =& $edit; $this->load->view('view_lprod', $conten); } }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $error = ''; $tiva = 0; for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $iva = $do->get_rel('itodirect', 'iva', $i); $m = $importe * (($iva + 100) / 100) - $importe; $tiva += $m; $mont = $importe; $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $mont; $causado -= $mont; $opago -= $mont; $pagado -= $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); } $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $pagado = $presup->get("pagado"); $comprometido -= $tiva; $causado -= $tiva; $opago -= $tiva; $pagado -= $tiva; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->set("pagado", $pagado); $presup->save(); $do->set('status', 'P'); $do->save(); } redirect($this->url . "/dataedit/show/{$id}"); }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>', 'ultimo' => 'costo_<#i#>', 'peso' => 'sinvpeso_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Articulo', 'where' => '`tipo` = "Articulo"', 'script' => array('post_modbus_sinv(<#i#>)')); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $do = new DataObject('conv'); $do->rel_one_to_many('itconv', 'itconv', 'numero'); $do->rel_pointer('itconv', 'sinv', 'itconv.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip', 'sinv.ultimo AS sinvultimo', 'sinv.peso AS sinvpeso'); $edit = new DataDetails('Conversiones', $do); $edit->on_save_redirect = false; $edit->set_rel_title('itconv', 'Producto <#o#>'); //$edit->script($script,'create'); //$edit->script($script,'modify'); $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('delete', '_post_delete'); $edit->post_process('update', '_post_update'); $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->fecha->calendar = false; $edit->numero = new inputField('Nú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->observa1 = new inputField('Observaciones', 'observ1'); $edit->observa1->size = 40; $edit->observa1->maxlength = 80; $edit->almacen = new dropdownField('Almacén', 'almacen'); $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub WHERE invfis="N" AND gasto<>"S" ORDER BY ubica'); $edit->almacen->rule = 'required'; $edit->almacen->style = 'width:200px;'; $edit->almacen->size = 5; //************************** // Campos para el detalle //************************** $edit->codigo = new inputField('Código <#o#>', 'codigo_<#i#>'); $edit->codigo->size = 12; $edit->codigo->db_name = 'codigo'; $edit->codigo->rel_id = 'itconv'; $edit->codigo->rule = 'required|callback_chrepetidos|callback_chcodigoa'; $edit->codigo->append($btn); $edit->descrip = new inputField('Descripción <#o#>', 'descrip_<#i#>'); $edit->descrip->db_name = 'descrip'; $edit->descrip->rel_id = 'itconv'; $edit->descrip->type = 'inputhidden'; $edit->entrada = new inputField('Entrada <#o#>', 'entrada_<#i#>'); $edit->entrada->db_name = 'entrada'; $edit->entrada->css_class = 'inputnum'; $edit->entrada->rel_id = 'itconv'; $edit->entrada->maxlength = 10; $edit->entrada->size = 6; $edit->entrada->style = 'color:green'; $edit->entrada->rule = 'required|positive'; $edit->entrada->autocomplete = false; $edit->entrada->onkeyup = 'validaEnt(<#i#>)'; $edit->entrada->onfocus = 'this.select()'; $edit->entrada->title = 'Cantidad de productos que se suman al inventario'; $edit->salida = new inputField('Salida <#o#>', 'salida_<#i#>'); $edit->salida->db_name = 'salida'; $edit->salida->css_class = 'inputnum'; $edit->salida->rel_id = 'itconv'; $edit->salida->maxlength = 10; $edit->salida->size = 6; $edit->salida->style = 'color:red'; $edit->salida->rule = 'required|positive'; $edit->salida->autocomplete = false; $edit->salida->onkeyup = 'validaSalida(<#i#>)'; $edit->salida->onfocus = 'this.select()'; $edit->salida->title = 'Cantidad de productos que se restan al inventario'; $edit->costo = new hiddenField('', 'costo_<#i#>'); $edit->costo->db_name = 'costo'; $edit->costo->rel_id = 'itconv'; $edit->sinvpeso = new inputField('', 'sinvpeso_<#i#>'); $edit->sinvpeso->db_name = 'sinvpeso'; $edit->sinvpeso->rel_id = 'itconv'; $edit->sinvpeso->pointer = true; $edit->sinvpeso->type = 'inputhidden'; //************************** //fin de campos para detalle //************************** $edit->container = new containerField('alert', '<b style="font-size:1.2em">Advertencia</b>: el costo de los productos de <b style="color:#219F21">entrada</b> <b>serán modificados</b> en base al costos de los productos de <b style="color:red">salida</b>, si los productos de entrada son mas de uno su costo se calculara tomando en cuenta su participación en peso.'); $edit->container->when = array('create'); $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->buttons('save', 'undo', 'back', 'add_rel', 'add'); $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; $data['content'] = $this->load->view('view_conv', $conten, false); } }
function dataedit() { $this->rapyd->load("dataobject", "datadetails"); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'descrip'), 'filtro' => array('codigo' => 'C´digo', 'descrip' => 'descrip'), 'retornar' => array('codigo' => 'codigo<#i#>', 'descrip' => 'sinvdescrip<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Articulo'); $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Dirección'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli', 'nombre' => 'nombre', 'cirepre' => 'rifci', 'dire11' => 'direc'), 'titulo' => 'Buscar Cliente'); $boton = $this->datasis->modbus($mSCLId); $do = new DataObject("spre"); //$do->rel_one_to_many('itspre', 'itspre', array('numero'=>'numero','tipo_doc'=>'tipo')); $do->rel_one_to_many('itspre', 'itspre', array('numero' => 'numero')); $do->pointer('scli', 'scli.cliente=spre.cod_cli', 'scli.nombre as sclinombre', 'LEFT'); $do->rel_pointer('itspre', 'sinv', 'itspre.codigo=sinv.codigo', 'sinv.descrip as sinvdescrip'); $edit = new DataDetails("presupuestos", $do); //$edit->post_process("insert","_guarda_detalle"); //$edit->post_process("update","_actualiza_detalle"); //$edit->post_process("delete","_borra_detalle"); //$edit->pre_process('insert','_pre_insert'); $edit->back_url = site_url("ventas/presup/index"); $edit->fecha = new DateonlyField("Fecha", "fecha", "d/m/Y"); $edit->fecha->insertValue = date("Y-m-d"); $edit->fecha->mode = "autohide"; $edit->fecha->size = 10; $edit->vende = new dropdownField("Vendedor", "vd"); $edit->vende->options("SELECT vendedor, CONCAT(vendedor,' ',nombre) nombre FROM vend ORDER BY vendedor"); $edit->vende->size = 5; $edit->peso = new inputField("Peso", "peso"); $edit->peso->size = 10; $edit->numero = new inputField("Número", "numero"); $edit->numero->size = 10; $edit->numero->rule = "required"; $edit->numero->mode = "autohide"; $edit->numero->maxlength = 8; $edit->tipo = new inputField("Tipo", "tipo_doc"); $edit->tipo->size = 5; $edit->iva = new inputField("IVA", "iva"); $edit->iva->size = 20; $edit->iva->css_class = 'inputnum'; $edit->subtotal = new inputField("Sub.Total", "totals"); $edit->subtotal->size = 20; $edit->subtotal->css_class = 'inputnum'; $edit->total = new inputField("Total", "totalg"); $edit->total->size = 20; $edit->total->css_class = 'inputnum'; $edit->inicial = new inputField("Inicial", "inicial"); $edit->inicial->size = 20; $edit->inicial->css_class = 'inputnum'; $edit->cliente = new inputField("Cliente", "cod_cli"); $edit->cliente->size = 10; $edit->cliente->maxlength = 5; $edit->cliente->append($boton); $edit->nombre = new inputField("Nombre", "sclinombre"); $edit->nombre->pointer = TRUE; $edit->nombre->size = 55; $edit->nombre->maxlength = 40; $edit->nombre->in = 'cliente'; $edit->rifci = new inputField("RIF/CI", "rifci"); $edit->rifci->size = 20; $edit->rifci->rule = "required"; $edit->direc = new inputField("Dirección", "direc"); $edit->direc->size = 55; $edit->direc->rule = "required"; $edit->dire1 = new inputField(" ", "dire1"); $edit->dire1->size = 55; $edit->condi1 = new inputField("Condición", "condi1"); $edit->condi1->size = 55; $edit->condi2 = new inputField(" ", "condi2"); $edit->condi2->size = 55; //Campos para el detalle $edit->codigo = new inputField("Código", "codigo<#i#>"); $edit->codigo->size = 18; $edit->codigo->db_name = 'codigo'; $edit->codigo->append($this->datasis->p_modbus($modbus, '<#i#>')); $edit->codigo->readonly = TRUE; $edit->codigo->rel_id = 'itspre'; $edit->descripcion = new inputField("Descripción", "sinvdescrip<#i#>"); $edit->descripcion->size = 30; $edit->descripcion->db_name = 'sinvdescrip'; //$edit->descripcion->maxlength=12; $edit->descripcion->pointer = true; $edit->descripcion->rel_id = 'itspre'; $edit->cantidad = new inputField("Cantidad", "cana<#i#>"); $edit->cantidad->size = 10; $edit->cantidad->db_name = 'cana'; $edit->cantidad->maxlength = 60; $edit->cantidad->css_class = 'inputnum'; $edit->cantidad->rel_id = 'itspre'; $edit->precio = new inputField("Precio", "preca<#i#>"); $edit->precio->css_class = 'inputnum'; $edit->precio->onchange = 'totalizar()'; $edit->precio->size = 20; $edit->precio->db_name = 'preca'; $edit->precio->rel_id = 'itspre'; $edit->importe = new inputField2("Importe", "totaorg<#i#>"); $edit->importe->db_name = 'totaorg'; $edit->importe->size = 20; $edit->importe->css_class = 'inputnum'; $edit->importe->rel_id = 'itspre'; //fin de campos para detalle $edit->buttons("save", "undo", "delete", 'modify', "back", "add_rel"); $edit->build(); /*print_r($do->_pointer_data); print_r($do->_rel_pointer_data);*/ $smenu['link'] = barra_menu('104'); $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true); $data['content'] = $edit->output; $data["head"] = script("jquery.js") . $this->rapyd->get_head(); $data['title'] = '<h1>Presupuesto</h1>'; $this->load->view('view_ventanas', $data); }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); //$pk['codigopres'] = $partidaiva; //$presup->load($pk); // //$asignacion =$presup->get("asignacion"); //$aumento =$presup->get("aumento"); //$disminucion =$presup->get("disminucion"); //$traslados =$presup->get("traslados"); //$comprometido =$presup->get("comprometido"); //$disp=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; // $ivaa = $do->get('ivaa'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $iva = $do->get('iva'); $ivan = $ivag + $ivar + $ivaa + $iva; //if($ivan > $disp) // $error.="<div class='alert'><p>El monto de iva ($ivan) de la orden de pago directa, es mayor al monto disponible ($disp) para la partida de iva ($partidaiva)</p></div>"; if (empty($error)) { $sta = $do->get('status'); if ($sta == "B2") { //for($i=0;$i < $do->count_rel('itodirect');$i++){ // // $codigopres = $do->get_rel('itodirect','partida',$i); // $piva = $do->get_rel('itodirect','iva' ,$i); // // if($piva=2222){ // $subt = $do->get_rel('itodirect','subt' ,$i); // $mont = $subt; // }else{ // $importe = $do->get_rel('itodirect','importe',$i); // $mont = $importe; // } // // $pk['codigopres'] = $codigopres; // // $presup->load($pk); // $asignacion =$presup->get("asignacion"); // $aumento =$presup->get("aumento"); // $disminucion =$presup->get("disminucion"); // $traslados =$presup->get("traslados"); // $comprometido =$presup->get("comprometido"); // // $disponible=(($asignacion+$aumento-$disminucion)+($traslados))-$comprometido; // if($mont > $disponible){ // $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la $this->t**s ($mont) es mayor al monto disponible($disponible) para la partida: $codigopres</p></div>"; // } //} if (empty($error)) { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); if ($piva == 2222) { $subt = $do->get_rel('itodirect', 'subt', $i); $mont = $subt; } else { $importe = $do->get_rel('itodirect', 'importe', $i); $mont = $importe; } $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido -= $mont; $causado -= $mont; $opago -= $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); } $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido -= $ivan; $causado -= $ivan; $opago -= $ivan; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); $do->set('status', 'B1'); $do->save(); } } } if (empty($error)) { redirect($this->url . "dataedit/show/{$id}"); } else { $data['content'] = $error . anchor($this->url . "dataedit/show/{$id}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function dataedit() { //$this->datasis->modulo_id(115,1); $this->rapyd->load('dataobject', 'datadetails'); $this->rapyd->uri->keep_persistence(); $modbus = array('tabla' => 'v_ingresos', 'columnas' => array('codigo' => 'Código', 'denominacion' => 'Denominación'), 'filtro' => array('codigo' => 'Código', 'denominacion' => 'Denominacion'), 'retornar' => array('codigo' => 'itcodigopres_<#i#>', 'denominacion' => 'itdenomi_<#i#>'), 'titulo' => 'Buscar Cuenta Presupuestaria', 'p_uri' => array(4 => '<#i#>')); $modbus2 = array('tabla' => 'mbanc', 'columnas' => array('id' => 'ID', 'codbanc' => 'Banco', 'tipo_doc' => 'Tipo Doc.', 'cheque' => 'Nro. Documento', 'monto' => 'Monto'), 'filtro' => array('cheque' => 'Nro. Documento', 'monto' => 'Monto'), 'retornar' => array('id' => 'mbanc_id'), 'titulo' => 'Buscar Movimiento Bancario'); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $bmbanc = $this->datasis->modbus($modbus2); $do = new DataObject("ingresos"); $do->rel_one_to_many('itingresos', 'itingresos', array('numero' => 'numero')); $do->rel_pointer('itingresos', 'v_ingresos', 'v_ingresos.codigo=itingresos.codigopres', "v_ingresos.denominacion as denomi"); $edit = new DataDetails($this->t**s, $do); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->set_rel_title('itingresos', 'Rubro <#o#>'); $status = $edit->get_from_dataobjetct('status'); $edit->pre_process('insert', '_valida'); $edit->pre_process('update', '_valida'); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); //**************************INICIO ENCABEZADO******************************************************************** $edit->numero = new inputField("Número", "numero"); //$edit->numero->rule = "callback_chexiste"; $edit->numero->mode = "autohide"; $edit->numero->when = array('show'); $edit->fecha = new dateonlyField("Fecha", "fecha", "d/m/Y"); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 12; //$edit->fecha->mode = "autohide"; //$edit->fecha->when =array('show'); $edit->total = new inputField("Total", "total"); $edit->total->size = 10; $edit->total->readonly = true; $edit->total->css_class = 'inputnum'; $edit->mbanc_id = new inputField("ID Cheque", "mbanc_id"); $edit->mbanc_id->size = 10; $edit->mbanc_id->css_class = 'inputnum'; $edit->mbanc_id->append($bmbanc); //************************** FIN ENCABEZADO******************************************************************** //**************************INICIO DETALLE DE ASIGNACIONES ***************************************************** $edit->itcodigopres = new inputField("(<#o#>) ", "itcodigopres_<#i#>"); $edit->itcodigopres->rule = 'required'; $edit->itcodigopres->size = 20; $edit->itcodigopres->db_name = 'codigopres'; $edit->itcodigopres->rel_id = 'itingresos'; //$edit->itcodigopres->readonly =true; $edit->itcodigopres->append($btn); $edit->itdenomi = new textareaField("(<#o#>) Denominacion", "itdenomi_<#i#>"); //$edit->itdenomi->rule ='required'; $edit->itdenomi->db_name = 'denomi'; $edit->itdenomi->rel_id = 'itingresos'; $edit->itdenomi->pointer = true; $edit->itdenomi->rows = 2; $edit->itdenomi->cols = 50; $edit->itdenomi->readonly = true; $edit->itreferen1 = new inputField("(<#o#>) Inicio", 'itreferen1_<#i#>'); $edit->itreferen1->db_name = 'referen1'; $edit->itreferen1->size = 10; $edit->itreferen1->rel_id = 'itingresos'; $edit->itreferen2 = new inputField("(<#o#>) Fin", 'itreferen2_<#i#>'); $edit->itreferen2->db_name = 'referen2'; $edit->itreferen2->size = 10; $edit->itreferen2->rel_id = 'itingresos'; $edit->itmonto = new inputField("(<#o#>) Monto", 'itmonto_<#i#>'); $edit->itmonto->db_name = 'monto'; $edit->itmonto->size = 10; $edit->itmonto->rule = 'callback_positivo'; $edit->itmonto->rel_id = 'itingresos'; $edit->itmonto->css_class = 'inputnum'; $edit->itmonto->onchange = "cal_tot();"; //$edit->itmontoa->mode ="autohide"; //************************** FIN DETALLE DE ORDENES DEPAGO***************************************************** $status = $edit->get_from_dataobjetct('status'); if ($status == 'P') { $action = "javascript:window.location='" . site_url($this->url . 'termina/' . $edit->rapyd->uri->get_edited_id()) . "'"; $edit->button_status("btn_termina", 'Marcar Ingreso como finalizado', $action, "TR", "show"); $edit->buttons("add_rel", "modify", "save", "delete"); } elseif ($status == 'C') { $action = "javascript:btn_anular('" . $edit->rapyd->uri->get_edited_id() . "')"; $edit->button_status("btn_anula", 'Anular', $action, "TR", "show"); } elseif ($status == 'O') { $edit->buttons("add_rel", "modify", "save", "delete"); } $edit->buttons("add_rel", "save", "undo", "back", "add"); $edit->build(); $smenu['link'] = barra_menu('304'); $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true); $conten["form"] =& $edit; $data['content'] = $this->load->view('view_ingresos', $conten, true); //$data['content'] = $edit->output; $data['title'] = $this->t**s; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js") . script("plugins/jquery.json.min.js"); $this->load->view('view_ventanas', $data); }
function terminada($id) { $this->rapyd->load('dataobject'); $do = new DataObject("otrabajo"); $do->rel_one_to_many('itotrabajo', 'itotrabajo', array('numero' => 'numero')); $do->load($id); $numero = $do->get('numero'); if (strpos($numero, '_') === 0) { $contador = $this->datasis->fprox_numero('notrabajo'); $do->set('numero', $contador); for ($i = 0; $i < $do->count_rel('itotrabajo'); $i++) { $do->set_rel('itotrabajo', 'id', '', $i); $do->set_rel('itotrabajo', 'numero', $contador, $i); } $this->db->query("DELETE FROM itotrabajo WHERE numero='{$numero}'"); } else { $contador = $id; } if (empty($error)) { $do->set('status', 'C'); $do->save(); } if (empty($error)) { logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}"); redirect("presupuesto/otrabajo/dataedit/show/{$contador}"); } else { logusu('otrabajo', "Marco como terminada orden de trabajo Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor("presupuesto/otrabajo/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Orden de Trabajo "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function _actsumi($id, $oper, $status) { $this->rapyd->load('dataobject'); $error = ""; $do = new DataObject("suminr"); $do->rel_one_to_many('itsuminr', 'itsuminr', array('numero' => 'numero')); $do->load($id); $caub = $do->get('caub'); $caube = $this->db->escape($caub); $sta = $do->get('sta'); if ($sta != $status) { for ($i = 0; $i < $do->count_rel('itsuminr'); $i++) { $codigo = $do->get_rel('itsuminr', 'codigo', $i); $cantidad = $do->get_rel('itsuminr', 'cantidad', $i); $precio = $do->get_rel('itsuminr', 'precio', $i); $cantidad = 1 * $cantidad; $codigo = $this->db->escape($codigo); $this->db->query("INSERT IGNORE INTO su_itsumi (`codigo`,`alma`) value ({$codigo},{$caube})"); if (is_numeric($cantidad)) { $this->db->query("UPDATE sumi SET existen=existen {$oper} {$cantidad},pond=pond {$oper} ({$precio}*{$cantidad}) WHERE codigo={$codigo}"); $this->db->simple_query("UPDATE su_itsumi SET cantidad=cantidad {$oper} {$cantidad} WHERE codigo={$codigo} AND alma={$caube}"); } else { $error .= 'La cantidad no es numerica'; } //echo "UPDATE sumi SET existen=existen $oper $cantidad,pond=pond $oper $precio WHERE codigo=$codigo"; //exit($precio); } logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}"); } else { $error .= "No se puede realizar la operacion para la nota de recepcion"; } if (empty($error)) { $do->set('status', $status); $do->save(); logusu('suminr', "Marco nota de recepcion Nro {$id} como {$status}"); redirect($this->url . "/dataedit/show/{$id}"); } else { logusu('sumine', "Marco nota de recepcion Nro {$id} como {$status} . con ERROR:{$error}"); $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = $this->t**s; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function _decruc() { $this->rapyd->load('dataobject', 'datadetails'); $do = new DataObject('cruc'); $do->rel_one_to_many('itcruc', 'itcruc', 'numero'); $edit = new DataDetails($this->t**s, $do); $edit->on_save_redirect = false; $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $edit->pre_process('delete', '_pre_delete'); $edit->numero = new inputField('Número', 'numero'); $edit->numero->rule = ''; $edit->numero->size = 10; $edit->numero->maxlength = 8; $edit->numero->when = array('show'); $edit->fecha = new dateonlyField('Fecha', 'fecha'); $edit->fecha->size = 10; $edit->fecha->maxlength = 8; $edit->fecha->calendar = false; $edit->fecha->rule = 'required|chfecha|chfechafut'; $edit->fecha->insertValue = date('Y-m-d'); $edit->proveed = new inputField('Proveedor', 'proveed'); $edit->proveed->size = 10; $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->type = 'inputhidden'; $edit->nombre->rule = ''; $edit->nombre->size = 35; $edit->nombre->maxlength = 40; $edit->saldoa = new inputField('Saldo Acreedor', 'saldoa'); $edit->saldoa->rule = 'numeric'; $edit->saldoa->css_class = 'inputnum'; $edit->saldoa->size = 10; $edit->saldoa->maxlength = 16; $edit->saldoa->type = 'inputhidden'; $edit->saldoa->insertValue = '0'; $edit->saldoa->showformat = 'decimal'; $edit->cliente = new inputField('Cliente', 'cliente'); $edit->cliente->size = 10; $edit->nomcli = new inputField('Nomcli', 'nomcli'); $edit->nomcli->type = 'inputhidden'; $edit->nomcli->rule = ''; $edit->nomcli->size = 35; $edit->nomcli->maxlength = 40; $edit->saldod = new inputField('Saldo Deudor', 'saldod'); $edit->saldod->rule = 'numeric'; $edit->saldod->css_class = 'inputnum'; $edit->saldod->size = 10; $edit->saldod->maxlength = 16; $edit->saldod->type = 'inputhidden'; $edit->saldod->insertValue = '0'; $edit->saldod->showformat = 'decimal'; $edit->monto = new inputField('Monto Cruzado', 'monto'); $edit->monto->rule = 'numeric|positive'; $edit->monto->css_class = 'inputnum'; $edit->monto->size = 12; $edit->monto->maxlength = 16; $edit->monto->showformat = 'decimal'; $edit->monto->type = 'inputhidden'; $edit->concept1 = new inputField('Concepto', 'concept1'); $edit->concept1->rule = ''; $edit->concept1->size = 42; $edit->concept1->maxlength = 40; $edit->concept2 = new inputField(' ', 'concept2'); $edit->concept2->rule = ''; $edit->concept2->size = 42; $edit->concept2->maxlength = 40; //inicio del detalle $edit->itonumero = new inputField('Numero', 'itonumero_<#i#>'); $edit->itonumero->rule = 'max_length[10]'; $edit->itonumero->db_name = 'onumero'; $edit->itonumero->type = 'inputhidden'; $edit->itonumero->size = 13; $edit->itonumero->maxlength = 10; $edit->itonumero->rel_id = 'itcruc'; $edit->itofecha = new inputField('Fecha', 'itofecha_<#i#>'); //$edit->itofecha->rule = 'chfecha'; $edit->itofecha->db_name = 'ofecha'; $edit->itofecha->type = 'inputhidden'; $edit->itofecha->size = 10; $edit->itofecha->maxlength = 8; $edit->itofecha->rel_id = 'itcruc'; $edit->itmonto = new inputField('Monto', 'itmonto_<#i#>'); $edit->itmonto->rule = 'max_length[17]|numeric|positive|callback_chsaldo[<#i#>]'; $edit->itmonto->css_class = 'inputnum'; $edit->itmonto->db_name = 'monto'; $edit->itmonto->rel_id = 'itcruc'; $edit->itmonto->size = 19; $edit->itmonto->maxlength = 17; $edit->ittipo = new hiddenField('', 'ittipo_<#i#>'); $edit->ittipo->db_name = 'tipo'; $edit->ittipo->rel_id = 'itcruc'; //Campos comodines $edit->itpmonto = new inputField('', 'itpmonto_<#i#>'); $edit->itpmonto->db_name = 'pmonto'; $edit->itpmonto->type = 'inputhidden'; $edit->itpmonto->rel_id = 'itcruc'; $edit->itpsaldo = new inputField('', 'itpsaldo_<#i#>'); $edit->itpsaldo->db_name = 'psaldo'; $edit->itpsaldo->type = 'inputhidden'; $edit->itpsaldo->rel_id = 'itcruc'; //fin campos comodines, fin del detalle $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->session->userdata('usuario'), $this->session->userdata('usuario')); return $edit; }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $script = ' $(function() { $("#fecha").datepicker({dateFormat:"dd/mm/yy"}); $(".inputnum").numeric("."); });'; $do = new DataObject('rcobro'); $do->rel_one_to_many('smov', 'smov', array('id' => 'rcobro')); $edit = new DataDetails($this->t**s, $do); $edit->script($script, 'modify'); $edit->script($script, 'create'); $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->tipo = new inputField('Tipo', 'tipo'); $edit->tipo->rule = ''; $edit->tipo->size = 3; $edit->tipo->maxlength = 1; $edit->tipo->insertValue = 'P'; $edit->fecha = new dateonlyField('Fecha', 'fecha'); $edit->fecha->rule = 'chfecha'; $edit->fecha->calendar = false; $edit->fecha->size = 10; $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->maxlength = 8; $edit->fecha->calendar = false; $edit->retorno = new dateonlyField('Recepción', 'retorno'); $edit->retorno->rule = 'chfecha'; $edit->retorno->calendar = false; $edit->retorno->size = 10; $edit->retorno->maxlength = 8; $edit->retorno->calendar = false; /* $edit->vende = new inputField('Vendedor','vende'); $edit->vende->rule=''; $edit->vende->size =5; $edit->vende->maxlength =5; */ $edit->vende = new dropdownField('Cobrador', 'vende'); $edit->vende->options('SELECT vendedor, CONCAT(vendedor," - ",nombre) nombre FROM vend WHERE tipo IN ("C","A") ORDER BY nombre'); $edit->vende->style = "width:250px;"; $edit->observa = new textareaField('Observación', 'observa'); $edit->observa->rule = ''; $edit->observa->cols = 70; $edit->observa->rows = 2; $edit->facturas = new inputField('Nro. de Facturas', 'facturas'); $edit->facturas->rule = 'integer'; $edit->facturas->css_class = 'inputonlynum'; $edit->facturas->type = 'inputhidden'; $edit->facturas->showformat = 'decimal'; $edit->facturas->readonly = true; $edit->monto = new inputField('Monto total', 'total'); $edit->monto->db_name = 'monto'; $edit->monto->rule = 'numeric'; $edit->monto->css_class = 'inputnum'; $edit->monto->type = 'inputhidden'; $edit->monto->showformat = 'decimal'; $edit->monto->readonly = true; $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd')); $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s')); //************************************************************** // Detalle //************************************************************** $edit->itid = new hiddenField('Id', 'id_<#i#>'); $edit->itid->rule = ''; $edit->itid->db_name = 'id'; $edit->itid->rel_id = 'smov'; $edit->tipo_doc = new inputField('Tipo Doc.', 'tipo_doc_<#i#>'); $edit->tipo_doc->db_name = 'tipo_doc'; $edit->tipo_doc->rule = ''; $edit->tipo_doc->rel_id = 'smov'; $edit->tipo_doc->type = 'inputhidden'; $edit->numero = new inputField('Número', 'numero_<#i#>'); $edit->numero->db_name = 'numero'; $edit->numero->rule = ''; $edit->numero->size = 10; $edit->numero->maxlength = 8; $edit->numero->rel_id = 'smov'; $edit->fechad = new dateonlyField('Fecha', 'fechad_<#i#>'); $edit->fechad->db_name = 'fechad'; $edit->fechad->rule = 'chfecha'; $edit->fechad->rel_id = 'smov'; $edit->fechad->calendar = false; $edit->fechad->readonly = true; $edit->fechad->type = 'inputhidden'; $edit->vence = new dateonlyField('Vence', 'vence_<#i#>'); $edit->vence->db_name = 'vence'; $edit->vence->rule = 'chfecha'; $edit->vence->rel_id = 'smov'; $edit->vence->type = 'inputhidden'; $edit->vence->calendar = false; $edit->vence->readonly = true; /* $edit->vd = new inputField('Vd','vd_<#i#>'); $edit->vd->rule=''; $edit->vd->size =7; $edit->vd->maxlength =5; $edit->vd->rel_id ='smov'; $edit->cod_cli = new inputField('Cod_cli','cod_cli_<#i#>'); $edit->cod_cli->rule=''; $edit->cod_cli->size =7; $edit->cod_cli->maxlength =5; $edit->cod_cli->rel_id ='smov'; */ $edit->nombre = new inputField('Nombre', 'nombre_<#i#>'); $edit->nombre->db_name = 'nombre'; $edit->nombre->rule = ''; $edit->nombre->rel_id = 'smov'; $edit->nombre->type = 'inputhidden'; $edit->nombre->readonly = true; /* $edit->referen = new inputField('Referen','referen_<#i#>'); $edit->referen->rule=''; $edit->referen->size =3; $edit->referen->maxlength =1; $edit->referen->rel_id ='smov'; $edit->totals = new inputField('Totals','monto_<#i#>'); $edit->totals->rule='numeric'; $edit->totals->css_class='inputnum'; $edit->totals->size =14; $edit->totals->maxlength =12; $edit->totals->rel_id ='sfac'; */ $edit->totalg = new inputField('Total', 'monto_<#i#>'); $edit->totalg->db_name = 'monto'; $edit->totalg->rule = 'numeric'; $edit->totalg->css_class = 'inputnum'; $edit->totalg->size = 14; $edit->totalg->maxlength = 12; $edit->totalg->rel_id = 'smov'; $edit->totalg->type = 'inputhidden'; $edit->totalg->readonly = true; //****************************************************************** $edit->buttons('add_rel'); $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; $this->load->view('view_rcobro', $conten); } }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigoa_<#i#>', 'descrip' => 'desca_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Buscar Artículo', 'where' => '`activo` = "S"'); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Dirección', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'Có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('numero' => 'numa', 'tipo_doc' => 'tipoa')); $do->rel_one_to_many('sfpa', 'sfpa', array('numero', 'tipo_doc')); $edit = new DataDetails('Facturas', $do); $edit->back_url = site_url('ventas/sfacc/filteredgrid'); $edit->set_rel_title('sitems', 'Producto <#o#>'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $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('Tipo D.', 'tipo_doc'); $edit->tipo_doc->option('F', 'Factura'); $edit->tipo_doc->option('D', 'Devolución'); $edit->tipo_doc->style = 'width:200px;'; $edit->tipo_doc->size = 5; $edit->vd = new dropdownField('Vendedor', 'vd'); $edit->vd->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor'); $edit->vd->style = 'width:200px;'; $edit->vd->size = 5; $edit->numero = new inputField('Nú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->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->maxlength = 5; $edit->cliente->append($boton); $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->size = 25; $edit->nombre->maxlength = 40; $edit->nombre->autocomplete = false; $edit->nombre->rule = 'required'; $edit->rifci = new inputField('RIF/CI', 'rifci'); $edit->rifci->autocomplete = false; $edit->rifci->size = 15; $edit->direc = new inputField('Dirección', 'direc'); $edit->direc->size = 40; //************************** // Campos para el detalle 1 sitems //************************** $edit->codigoa = new inputField('Código <#o#>', 'codigoa_<#i#>'); $edit->codigoa->size = 12; $edit->codigoa->db_name = 'codigoa'; $edit->codigoa->readonly = true; $edit->codigoa->rel_id = 'sitems'; $edit->codigoa->rule = 'required'; $edit->desca = new inputField('Descripció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'; $edit->cana->autocomplete = false; $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'; $edit->preca->readonly = true; $edit->tota = new inputField('Importe <#o#>', 'tota_<#i#>'); $edit->tota->db_name = 'tota'; $edit->tota->size = 10; $edit->tota->css_class = 'inputnum'; $edit->tota->rel_id = 'sitems'; //************************** //fin de campos para detalle,inicio detalle2 sfpa //************************** $edit->tipo = new inputField('Tipo <#o#>', 'tipo_<#i#>'); $edit->tipo->size = 12; $edit->tipo->db_name = 'tipo'; $edit->tipo->readonly = true; $edit->tipo->rel_id = 'sfpa'; $edit->tipo->rule = 'required'; $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|positive'; $edit->monto->readonly = true; $edit->banco = new inputField('Banco <#o#>', 'banco_<#i#>'); $edit->banco->size = 36; $edit->banco->db_name = 'banco'; $edit->banco->maxlength = 50; $edit->banco->readonly = true; $edit->banco->rel_id = 'sfpa'; //************************** //Fin detalle 2 //************************** $edit->ivat = new inputField('Impuesto', 'iva'); $edit->ivat->css_class = 'inputnum'; $edit->ivat->readonly = true; $edit->ivat->size = 10; $edit->totals = new inputField('Sub-Total', 'totals'); $edit->totals->css_class = 'inputnum'; $edit->totals->readonly = true; $edit->totals->size = 10; $edit->totalg = new inputField('Monto Total', 'totalg'); $edit->totalg->css_class = 'inputnum'; $edit->totalg->readonly = true; $edit->totalg->size = 10; $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->buttons('modify', 'save', 'undo', 'delete', 'back', 'add_rel'); $edit->build(); $conten['form'] =& $edit; $data['content'] = $this->load->view('view_sfac', $conten, true); $data['title'] = heading('Facturas'); $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js'); $this->load->view('view_ventanas', $data); }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $script = ' $(function() { $("#fecha").datepicker({dateFormat:"dd/mm/yy"}); $(".inputnum").numeric("."); }); '; $do = new DataObject('sinvaudit'); $do->rel_one_to_many('itsinvaudit', 'itsinvaudit', 'numero'); $edit = new DataDetails($this->t**s, $do); $edit->script($script, 'modify'); $edit->script($script, 'create'); $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->id_sinv = new inputField('Id_sinv', 'id_sinv'); $edit->id_sinv->rule = 'integer'; $edit->id_sinv->css_class = 'inputonlynum'; $edit->id_sinv->size = 13; $edit->id_sinv->maxlength = 11; $edit->status = new inputField('Status', 'status'); $edit->status->rule = ''; $edit->status->size = 3; $edit->status->maxlength = 1; $edit->codigo = new inputField('Codigo', 'codigo'); $edit->codigo->rule = ''; $edit->codigo->size = 17; $edit->codigo->maxlength = 15; $edit->corte = new dateonlyField('Corte', 'corte'); $edit->corte->rule = 'chfecha'; $edit->corte->calendar = false; $edit->corte->size = 10; $edit->corte->maxlength = 8; $edit->existen = new inputField('Existen', 'existen'); $edit->existen->rule = 'numeric'; $edit->existen->css_class = 'inputnum'; $edit->existen->size = 12; $edit->existen->maxlength = 10; $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd')); $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); //****************************************************************** // Detalle $edit->id_sinvaudit = new inputField('Id_sinvaudit', 'id_sinvaudit_<#i#>'); $edit->id_sinvaudit->rule = 'integer'; $edit->id_sinvaudit->css_class = 'inputonlynum'; $edit->id_sinvaudit->size = 13; $edit->id_sinvaudit->maxlength = 11; $edit->id_sinvaudit->rel_id = 'itsinvaudit'; $edit->almacen = new inputField('Almacen', 'almacen_<#i#>'); $edit->almacen->rule = ''; $edit->almacen->size = 52; $edit->almacen->maxlength = 50; $edit->almacen->rel_id = 'itsinvaudit'; $edit->existen = new inputField('Existen', 'existen_<#i#>'); $edit->existen->rule = 'numeric'; $edit->existen->css_class = 'inputnum'; $edit->existen->size = 15; $edit->existen->maxlength = 13; $edit->existen->rel_id = 'itsinvaudit'; $edit->despacho = new inputField('Despacho', 'despacho_<#i#>'); $edit->despacho->rule = 'numeric'; $edit->despacho->css_class = 'inputnum'; $edit->despacho->size = 15; $edit->despacho->maxlength = 13; $edit->despacho->rel_id = 'itsinvaudit'; $edit->reparto = new inputField('Reparto', 'reparto_<#i#>'); $edit->reparto->rule = 'numeric'; $edit->reparto->css_class = 'inputnum'; $edit->reparto->size = 15; $edit->reparto->maxlength = 13; $edit->reparto->rel_id = 'itsinvaudit'; $edit->pendiente = new inputField('Pendiente', 'pendiente_<#i#>'); $edit->pendiente->rule = 'numeric'; $edit->pendiente->css_class = 'inputnum'; $edit->pendiente->size = 15; $edit->pendiente->maxlength = 13; $edit->pendiente->rel_id = 'itsinvaudit'; $edit->contado = new inputField('Contado', 'contado_<#i#>'); $edit->contado->rule = 'numeric'; $edit->contado->css_class = 'inputnum'; $edit->contado->size = 15; $edit->contado->maxlength = 13; $edit->contado->rel_id = 'itsinvaudit'; //****************************************************************** $edit->buttons('add_rel'); $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; $this->load->view('view_sinvaudit', $conten); } }
function reversar($id) { $this->rapyd->load('dataobject'); $error = ''; $odirect = new DataObject("odirect"); $odirect->load($id); $status = $odirect->get('status'); $compra = $odirect->get('compra'); $pago = $odirect->get('pago'); //print_r($odirect->get_all()); // //echo "-".$status; //exit; if ($status == 'O') { $ocompra = new DataObject("ocompra"); $ocompra->rel_one_to_many('odirect', 'odirect', array('numero' => 'compra')); $ocompra->load($compra); $o_subtotal = $ocompra->get('subtotal'); $o_ivag = $ocompra->get('ivag'); $o_ivar = $ocompra->get('ivar'); $o_ivaa = $ocompra->get('ivaa'); $o_reten = $ocompra->get('reten'); $o_reteiva = $ocompra->get('reteiva'); $o_abonado = $ocompra->get('abonado'); $o_iva = $o_ivaa + $o_ivag + $o_ivar; $o_debe = $o_subtotal + ($o_iva - ($o_reten + $o_reteiva)); $tot = 0; for ($i = 0; $i < $ocompra->count_rel('odirect'); $i++) { $r_pago = $ocompra->get_rel('odirect', 'pago', $i); $tot += $r_pago; } //$a = $o_debe-($tot-$pago); //if($pago > $a) // $error.="<div class='alert'><p>El monto de la orden de pago($pago) es mayor al monto adeudado ($a)</p></div>"; } else { $error .= "<div class='alert'><p>No se Puede Completar la operacion</p></div>"; } if (empty($error)) { $ocompra->set('abonado', $tot - $pago); $odirect->set('status', 'T'); if ($tot = $o_debe) { $odirect->set('ivag', 0); $odirect->set('ivar', 0); $odirect->set('ivaa', 0); $odirect->set('reten', 0); $odirect->set('creten', 0); $odirect->set('reteiva', 0); $odirect->set('exento', 0); } $ocompra->save(); $odirect->save(); } else { //$odirect -> delete(); } if (empty($error)) { redirect($this->url . "dataedit/show/{$id}"); } else { $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = " " . $this->t**s . " "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function dataedit() { $this->rapyd->load('datadetails', 'dataobject'); $this->load->helper('form'); $mBANC = array('tabla' => 'banc', 'columnas' => array('codbanc' => 'Cóodigo', 'banco' => 'Banco', 'numcuent' => 'Cuenta', 'saldo' => 'Saldo'), 'filtro' => array('codbanc' => 'Cóodigo', 'banco' => 'Banco', 'numcuent' => 'Cuenta', 'saldo' => 'Saldo'), 'p_uri' => array(4 => '<#i#>'), 'retornar' => array('codbanc' => 'codbanc_<#i#>'), 'where' => 'activo = "S" ', 'titulo' => 'Buscar Bancos'); $bBANC = $this->datasis->p_modbus($mBANC, "<#i#>"); $mRECIBO = array('tabla' => 'recibo', 'columnas' => array('id' => 'Ref.', 'numero' => 'Numero', 'fecha' => 'Fecha', 'monto' => 'Monto', 'rifci' => 'RIF/CI', 'nombre' => 'Nombre', 'observa' => 'Observa'), 'filtro' => array('id' => 'Ref.', 'numero' => 'Numero', 'fecha' => 'Fecha', 'monto' => 'Monto', 'rifci' => 'RIF/CI', 'nombre' => 'Nombre', 'observa' => 'Observa'), 'p_uri' => array(4 => '<#i#>'), 'retornar' => array('id' => 'recibo_<#i#>', 'numero' => 'numerop_<#i#>', 'DATE_FORMAT(fecha,"%d/%m/%Y")' => 'fechap_<#i#>', 'monto' => 'montop_<#i#>', 'nombre' => 'nombrep_<#i#>', 'observa' => 'observap_<#i#>'), 'where' => 'status = "P" ', 'script' => array('cal_totr()'), 'titulo' => 'Buscar Recibos por Pagar'); $bRECIBO = $this->datasis->p_modbus($mRECIBO, "<#i#>"); $do = new DataObject("abonos"); $do->rel_one_to_many('itabonos', 'itabonos', array('id' => 'abono')); $do->rel_one_to_many('sfpa', 'sfpa', array('id' => 'abono')); $do->rel_pointer('itabonos', 'recibo', 'itabonos.recibo=recibo.id', 'recibo.numero AS numerop,recibo.fecha AS fechap,recibo.monto AS montop,recibo.observa AS observap,recibo.tipo AS tipop,recibo.nombre AS nombrep,recibo.id AS idp', 'LEFT'); $edit = new DataDetails($this->t**s, $do); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->set_rel_title('itabonos', 'Rubro <#o#>'); $edit->set_rel_title('sfpa', 'Rubro <#o#>'); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->pre_process('insert', '_valida'); $edit->pre_process('update', '_valida'); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->id = new inputField('id', 'id'); $edit->id->rule = 'max_length[11]'; $edit->id->size = 13; $edit->id->maxlength = 11; $edit->id->mode = 'autohide'; $edit->id->when = array('show', 'modify'); $edit->totr = new inputField("Total Recibos", 'totr'); $edit->totr->size = 10; $edit->totr->readonly = true; $edit->totr->css_class = 'inputnum'; $edit->totb = new inputField("Total Bancos", 'totb'); $edit->totb->size = 10; $edit->totb->readonly = true; $edit->totb->css_class = 'inputnum'; $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd')); /******** RECIBOS *************/ $edit->itrecibo = new inputField("(<#o#>) Ref. Recibo", 'recibo_<#i#>'); $edit->itrecibo->db_name = 'recibo'; $edit->itrecibo->size = 5; $edit->itrecibo->rel_id = 'itabonos'; $edit->itrecibo->readonly = true; $edit->itrecibo->append($bRECIBO); $edit->itnumerop = new inputField("(<#o#>) Numero", 'numerop_<#i#>'); $edit->itnumerop->db_name = 'numerop'; $edit->itnumerop->size = 10; $edit->itnumerop->rel_id = 'itabonos'; $edit->itnumerop->pointer = true; $edit->itnumerop->readonly = true; $edit->itfechap = new inputField("(<#o#>) Fecha", 'fechap_<#i#>'); $edit->itfechap->db_name = 'fechap'; $edit->itfechap->size = 10; $edit->itfechap->rel_id = 'itabonos'; $edit->itfechap->pointer = true; $edit->itfechap->readonly = true; $edit->itmontop = new inputField("(<#o#>) Monto", 'montop_<#i#>'); $edit->itmontop->db_name = 'montop'; $edit->itmontop->size = 10; $edit->itmontop->rel_id = 'itabonos'; $edit->itmontop->pointer = true; $edit->itmontop->readonly = true; $edit->itmontop->value = 0; $edit->itnombrep = new inputField("(<#o#>) Nombre", 'nombrep_<#i#>'); $edit->itnombrep->db_name = 'nombrep'; $edit->itnombrep->size = 20; $edit->itnombrep->rel_id = 'itabonos'; $edit->itnombrep->pointer = true; $edit->itnombrep->readonly = true; $edit->itobservap = new inputField("(<#o#>) Observación", 'observap_<#i#>'); $edit->itobservap->db_name = 'observap'; $edit->itobservap->size = 30; $edit->itobservap->rel_id = 'itabonos'; $edit->itobservap->pointer = true; $edit->itobservap->readonly = true; /****** CHEQUES *********************/ $edit->itcodbanc = new inputField("(<#o#>) Banco", 'codbanc_<#i#>'); $edit->itcodbanc->db_name = 'codbanc'; $edit->itcodbanc->size = 4; $edit->itcodbanc->rel_id = 'sfpa'; $edit->itcodbanc->rule = "required|callback_banco"; $edit->itcodbanc->append($bBANC); $edit->itcodbanc->value = $this->datasis->traevalor('ABONOCODBANCDEFECTO'); $edit->ittipo_doc = new dropdownField("(<#o#>) Tipo Documento", "tipo_doc_<#i#>"); $edit->ittipo_doc->db_name = 'tipo_doc'; $edit->ittipo_doc->rel_id = 'sfpa'; $edit->ittipo_doc->style = "width:130px;"; if ($this->datasis->traevalor('ABONOS_EF_DEFECTO') == 'S') { $edit->ittipo_doc->option("EF", "Efectivo"); $edit->ittipo_doc->option("DP", "Deposito"); $edit->ittipo_doc->option("DB", "Tarjeta Débito"); $edit->ittipo_doc->option("DF", "Diferencia"); } else { $edit->ittipo_doc->option("DP", "Deposito"); $edit->ittipo_doc->option("DB", "Tarjeta Débito"); $edit->ittipo_doc->option("DF", "Diferencia"); $edit->ittipo_doc->option("EF", "Efectivo"); } $edit->itcheque = new inputField("(<#o#>) Transacción", 'cheque_<#i#>'); $edit->itcheque->db_name = 'cheque'; $edit->itcheque->size = 20; $edit->itcheque->rel_id = 'sfpa'; $edit->itfecha = new dateonlyField("(<#o#>) Fecha Cheque", "fecha_<#i#>"); $edit->itfecha->db_name = 'fecha'; $edit->itfecha->size = 10; $edit->itfecha->rel_id = 'sfpa'; $edit->itfecha->insertValue = date('Ymd'); $edit->itfecha->rule = 'required'; $edit->itmonto = new inputField("(<#o#>) Total", 'monto_<#i#>'); $edit->itmonto->db_name = 'monto'; $edit->itmonto->size = 10; $edit->itmonto->rel_id = 'sfpa'; // $edit->itmonto->css_class ='inputnum'; $edit->itmonto->onchange = "cal_totm();"; $edit->itmonto->value = 0; /**************** POR COBRAR ******************************************/ $porcobrar = $this->db->query("SELECT a.id,a.numero,a.fecha,a.monto,a.nombre,a.observa FROM recibo a WHERE status='P' ORDER BY estampa"); $porcobrar = $porcobrar->result_array(); $edit->button_status("btn_add_sfpa", 'Agregar Pago', "javascript:add_sfpa()", "MB", 'modify', "button_add_rel"); $edit->button_status("btn_add_sfpa2", 'Agregar Pago', "javascript:add_sfpa()", "MB", 'create', "button_add_rel"); $edit->button_status("btn_add_itabonos", 'Agregar Recibo', "javascript:add_itabonos()", "PA", 'modify', "button_add_rel"); $edit->button_status("btn_add_itabonos2", 'Agregar Recibo', "javascript:add_itabonos()", "PA", 'create', "button_add_rel"); if ($this->datasis->puede(388)) { $edit->buttons('modify'); } $edit->buttons('add', 'save', 'undo', 'delete', 'back'); $edit->build(); $conten["form"] =& $edit; //$smenu['link'] =barra_menu('80B'); //$data['smenu'] = $this->load->view('view_sub_menu', $smenu,true); $conten['porcobrar'] = $porcobrar; foreach ($porcobrar as $key => $value) { $porcobrar[$key]['fecha'] = dbdate_to_human($value['fecha']); } $conten['porcobrarj'] = json_encode($porcobrar); $data['content'] = $this->load->view('view_abonos', $conten, true); $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); }
function actualizar($id) { $this->rapyd->load('dataobject'); $ord = new DataObject("ordinal"); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $multiple = $do->get('multiple'); $factura = $do->get('factura'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $reteiva = $do->get('reteiva'); if ($multiple == 'N') { if ($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) { $error .= "<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>"; } } else { $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero={$id} "); if ($facs <= 0) { $error .= "<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>"; } } $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $pk['codigopres'] = $partidaiva; $presup->load($pk); $asignacion = $presup->get("asignacion"); $pasignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); //print_r($presup->get_all()); // //echo $pasignacion; //exit('assasa'); if ($pasignacion > 0) { $disp = $asignacion + $aumento - $disminucion + $traslados - $comprometido; $ivaa = $do->get('ivaa'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $iva = $do->get('iva'); $reteiva = $do->get('reteiva'); $ivan = $ivag + $ivar + $ivaa + $iva; if ($ivan > $disp) { $error .= "<div class='alert'><p>El monto de iva ({$ivan}) de la orden de pago directa, es mayor al monto disponible ({$disp}) para la partida de iva ({$partidaiva})</p></div>"; } } if (empty($error)) { $sta = $do->get('status'); if ($sta == "B1") { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); if ($pasignacion > 0) { $mont = $importe; } else { $mont = $importe + $importe * $piva / 100; } //echo $mont; //exit(); $pk['codigopres'] = $codigopres; $presup->load($pk); $asignacion = $presup->get("asignacion"); $aumento = $presup->get("aumento"); $disminucion = $presup->get("disminucion"); $traslados = $presup->get("traslados"); $comprometido = $presup->get("comprometido"); $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido; //if($mont > $disponible){ // $error.="<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto de la $this->t**s ($mont) es mayor al monto disponible($disponible) para la partida: $codigopres</p></div>"; //} if (!empty($ordinal)) { //echo "codigoadm:".$codigoadm." fondo:".$fondo." codigopres:".$codigopres." ordinal:".$ordinal."</br>"; $ord->load(array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal)); //print_r($ord->get_all()); $asignacion = $ord->get("asignacion"); $aumento = $ord->get("aumento"); $disminucion = $ord->get("disminucion"); $traslados = $ord->get("traslados"); $comprometido = $ord->get("comprometido"); $disponible = $asignacion + $aumento - $disminucion + $traslados - $comprometido; if ($mont > $disponible) { $error .= "<div class='alert'><p>No se Puede Completar la Transaccion debido a que el monto ({$mont}) de la orden de pago directo ({$id}) es mayor al monto disponible({$disponible}) para la partida: {$codigopres} y el ordinal ({$ordinal})</p></div>"; } } } if (empty($error)) { for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigopres = $do->get_rel('itodirect', 'partida', $i); $piva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); if ($pasignacion > 0) { $mont = $importe; } else { $mont = $importe + $importe * $piva / 100; } //exit($mont); $pk['codigopres'] = $codigopres; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido += $mont; $causado += $mont; $opago += $mont; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); $presup->save(); if (!empty($ordinal)) { $ord->load(array("codigoadm" => $codigoadm, "fondo" => $fondo, "codigopres" => $codigopres, "ordinal" => $ordinal)); $compr = $ord->get("comprometido"); $cau = $ord->get("causado"); $opa = $ord->get("opago"); $compr += $mont; $cau += $mont; $opa += $mont; $ord->set("comprometido", $compr); $ord->set("causado", $cau); $ord->set("opago", $opa); $ord->save(); } } if ($pasignacion > 0) { $pk['codigopres'] = $partidaiva; $presup->load($pk); $comprometido = $presup->get("comprometido"); $causado = $presup->get("causado"); $opago = $presup->get("opago"); $comprometido += $ivan - $reteiva; $causado += $ivan - $reteiva; $opago += $ivan - $reteiva; $presup->set("comprometido", $comprometido); $presup->set("causado", $causado); $presup->set("opago", $opago); //echo "aca"; $presup->save(); } $do->set('status', 'B2'); $do->save(); } } } $this->sp_presucalc($codigoadm); if (empty($error)) { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor($this->url . "dataedit/show/{$id}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function dataedit($action = '', $id = '') { $this->rapyd->load('datadetails', 'dataobject'); $mCONTRIBU = array('tabla' => 'contribu', 'columnas' => array('codigo' => 'Código', 'nacionali' => '', 'rifci' => 'RIF', 'nombre' => 'Nombre', 'direccion' => 'Dirección', 'telefono' => 'Telefono'), 'filtro' => array('codigo' => 'Código', 'rifci' => 'RIF', 'nacionali' => 'Nacionalidad', 'nombre' => 'Nombre', 'direccion' => 'Dirección', 'telefono' => 'Telefono'), 'retornar' => array('codigo' => 'contribu', 'nombre' => 'nombre', 'rifci' => 'rifci', 'direccion' => 'direccion', 'telefono' => 'telefono', 'nacionali' => 'nacionalit'), 'script' => array('cal_nacionali()'), 'titulo' => 'Buscar Contribuyente'); $bCONTRIBU = $this->datasis->modbus($mCONTRIBU); $mPATENTE = array('tabla' => 'v_patente_contri', 'columnas' => array('id' => 'Ref.', 'tarjeta' => 'Tarjeta', 'local' => 'Local', 'licencia' => 'Licencia', 'razon' => 'Razon', 'dir_neg' => 'Direccion Negocio'), 'filtro' => array('id' => 'Ref.', 'tarjeta' => 'Tarjeta', 'licencia' => 'Licencia', 'razon' => 'Razon', 'dir_neg' => 'Direccion Negocio'), 'retornar' => array('id' => 'patente', 'tarjeta' => 'p_tarjeta', 'licencia' => 'p_licencia', 'razon' => 'p_razon', 'dir_neg' => 'p_dir_neg', 'oficio' => 'p_oficio', 'observa' => 'p_observa', 'capital' => 'p_capital', 'catastro' => 'p_catastro', 'publicidad' => 'p_publicidad', 'DATE_FORMAT(FECHA_ES,"%d/%m/%Y")' => 'p_fecha_es', 'local' => 'p_localt', 'clase' => 'p_claset', 'negocio' => 'p_negociot', 'tipo' => 'p_tipot', 'repre' => 'p_repre', 'repreced' => 'p_repreced', 'expclasi' => 'p_expclasi', 'exphor' => 'p_exphor', 'nro' => 'p_nro', 'c_codigo' => 'contribu', 'c_nombre' => 'nombre', 'c_rifci' => 'rifci', 'c_direccion' => 'direccion', 'c_telefono' => 'telefono', 'c_nacionali' => 'nacionalit'), 'p_uri' => array(4 => '<#contri#>'), 'where' => 'IF(<#contri#> = ".....", contribu LIKE "%" ,contribu LIKE <#contri#>)', 'script' => array('cal_patente()', 'cal_nacionali()'), 'titulo' => 'Buscar Patente'); $bPATENTE = $this->datasis->p_modbus($mPATENTE, '<#contri#>'); $bPATENTE = '<img src="/tortuga/assets/default/images/system-search.png" alt="Busqueda de Patentes" title="Busqueda de Patentes" border="0" onclick="modbusdepenp()"/>'; $mINMUEBLE = array('tabla' => 'v_inmueble_contri', 'columnas' => array('id' => 'Ref.', 'ctainos' => 'CtaInos', 'direccion' => 'Direccion', 'tipo_in' => 'Tipo'), 'filtro' => array('id' => 'Ref.', 'ctainos' => 'CtaInos', 'direccion' => 'Direccion', 'tipo_in' => 'Tipo'), 'retornar' => array('id' => 'inmueble', 'ctainos' => 'i_ctainos', 'direccion' => 'i_direccion', 'tipo_in' => 'i_tipo_int', 'no_predio' => 'i_no_predio', 'sector' => 'i_sectort', 'clase' => 'i_claset', 'tipo' => 'i_tipot', 'no_predio' => 'i_monto', 'c_codigo' => 'contribu', 'c_nombre' => 'nombre', 'c_rifci' => 'rifci', 'c_direccion' => 'direccion', 'c_telefono' => 'telefono', 'c_nacionali' => 'nacionalit'), 'p_uri' => array(4 => '<#contri#>'), 'where' => 'IF(<#contri#> = ".....", contribu LIKE "%" ,contribu LIKE <#contri#>)', 'script' => array('cal_inmueble()', 'cal_nacionali()'), 'titulo' => 'Buscar Inmueble'); $bINMUEBLE = $this->datasis->p_modbus($mINMUEBLE, '<#contri#>'); $bINMUEBLE = '<img src="/tortuga/assets/default/images/system-search.png" alt="Busqueda de Inmuebles" title="Busqueda de Inmuebles" border="0" onclick="modbusdepeni()"/>'; $mVEHICULO = array('tabla' => 'v_vehiculo_contri', 'columnas' => array('id' => 'Ref.', 'placa_act' => 'Placa', 'marca' => 'Marca', 'modelo' => 'Modelo', 'color' => 'Color'), 'filtro' => array('id' => 'Ref.', 'placa_act' => 'Placa', 'marca' => 'Marca', 'modelo' => 'Modelo', 'color' => 'Color'), 'retornar' => array('id' => 'vehiculo', 'clase' => 'v_claset', 'marca' => 'v_marca', 'tipo' => 'v_tipo', 'modelo' => 'v_modelo', 'color' => 'v_color', 'capaci' => 'v_capaci', 'serial_m' => 'v_serial_m', 'placa_act' => 'v_placa_act', 'ano' => 'v_ano', 'peso' => 'v_peso', 'serial_c' => 'v_serial_c', 'codigo' => 'contribu', 'nombre' => 'nombre', 'rifci' => 'rifci', 'direccion' => 'direccion', 'telefono' => 'telefono', 'nacionali' => 'nacionalit'), 'p_uri' => array(4 => '<#contri#>'), 'where' => 'IF(<#contri#> = ".....", contribu LIKE "%" ,contribu LIKE <#contri#>)', 'script' => array('cal_vehiculo()', 'cal_nacionali()'), 'titulo' => 'Buscar Vehiculo'); $bVEHICULO = $this->datasis->p_modbus($mVEHICULO, '<#contri#>'); $bVEHICULO = '<img src="/tortuga/assets/default/images/system-search.png" alt="Busqueda de Vehiculos" title="Busqueda de Vehiculos" border="0" onclick="modbusdepenv()"/>'; $do = new DataObject("recibo"); $do->rel_one_to_many('itrecibo', 'itrecibo', array('id' => 'id_recibo')); $do->pointer('patente', 'recibo.patente=patente.id', 'patente.tarjeta AS p_tarjeta,patente.licencia AS p_licencia,patente.razon AS p_razon,patente.dir_neg AS p_dir_neg,patente.capital AS p_capital,patente.monto AS p_monto,patente.fecha_es AS p_fecha_es,patente.oficio AS p_oficio,patente.local AS p_local,patente.negocio AS p_negocio,patente.registrado AS p_registrado,patente.observa AS p_observa,patente.clase AS p_clase,patente.tipo AS p_tipo,patente.catastro AS p_catastro,patente.publicidad AS p_publicidad,patente.recibo AS p_recibo,patente.repre AS p_repre,patente.repreced AS p_repreced,patente.expclasi AS p_expclasi,patente.exphor AS p_exphor,patente.nro AS p_nro,patente.fexpedicion p_fexpedicion,patente.fvencimiento p_fvencimiento', 'LEFT'); $do->pointer('inmueble', 'recibo.inmueble=inmueble.id', 'inmueble.ctainos AS i_ctainos,inmueble.direccion AS i_direccion,inmueble.no_predio AS i_no_predio,inmueble.sector AS i_sector,inmueble.tipo_in AS i_tipo_in,inmueble.no_hab AS i_no_hab,inmueble.clase AS i_clase,inmueble.tipo AS i_tipo', 'LEFT'); $do->pointer('vehiculo', 'recibo.vehiculo=vehiculo.id', 'vehiculo.clase AS v_clase,vehiculo.marca AS v_marca,vehiculo.tipo AS v_tipo,vehiculo.modelo AS v_modelo,vehiculo.color AS v_color,vehiculo.capaci AS v_capaci,vehiculo.serial_m AS v_serial_m,vehiculo.placa_ant AS v_placa_ant,vehiculo.placa_act AS v_placa_act,vehiculo.ano AS v_ano,vehiculo.peso AS v_peso,vehiculo.serial_c AS v_serial_c,vehiculo.monto AS v_monto,vehiculo.asovehi AS v_asovehi', 'LEFT'); $edit = new DataDetails($this->t**s, $do); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->pre_process('insert', '_valida'); $edit->pre_process('update', '_valida'); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->numero = new inputField('Recibo Número', 'numero'); $edit->numero->when = array('show'); $edit->numero->type = 'inputhidden'; $edit->id = new inputField('', 'id'); $edit->id->mode = 'autohide'; $edit->id->when = array('show'); $edit->id->db_name = 'recibo.id'; $edit->id->type = 'inputhidden'; $edit->contribu = new inputField('Código', 'contribu'); $edit->contribu->rule = 'max_length[6]'; $edit->contribu->size = 8; $edit->contribu->maxlength = 6; $edit->contribu->append($bCONTRIBU); if ($this->recibomodificontribu != 'S') { $edit->contribu->readonly = true; $edit->contribu->rule = 'required|max_length[6]'; } $edit->fecha = new dateonlyField('Fecha', 'fecha'); $edit->fecha->rule = 'chfecha'; $edit->fecha->size = 10; $edit->fecha->maxlength = 8; $edit->fecha->insertValue = date('Y-m-d'); $edit->tipo = new dropdownField('Concepto', 'tipo'); $edit->tipo->options("SELECT codigo,CONCAT(codigo,'-',descrip) FROM tingresos ORDER BY grupo,descrip"); //WHERE activo='S' $edit->tipo->onchange = "cal_concepto()"; $edit->tipo->style = "width:350px;"; $edit->monto = new inputField('Monto', 'monto'); $edit->monto->rule = 'required|max_length[19]|numeric_positive'; $edit->monto->css_class = 'inputnum'; $edit->monto->size = 21; $edit->monto->maxlength = 19; $edit->monto->value = 0; $edit->declaracion = new inputField('Declaración', 'declaracion'); $edit->declaracion->rule = 'required'; $edit->declaracion->css_class = 'inputnum'; $edit->declaracion->size = 21; $edit->declaracion->maxlength = 19; $edit->declaracion->value = 0; $edit->declaracion->onchange = "cal_claseo()"; $edit->observa = new textareaField('Observación', 'observa'); $edit->observa->cols = 80; $edit->observa->rows = 1; //INICIO CONTRIBUYENTES $edit->direccion = new textareaField('Dirección', 'direccion'); $edit->direccion->cols = 40; $edit->direccion->rows = 1; $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->rule = 'required|max_length[200]'; $edit->nombre->size = 50; $edit->nombre->maxlength = 200; $edit->nombre->autocomplete = false; $crea = '<a href="javascript:creacontribu();" title="Agregar Contribuyente">' . image('add.png', '#', array("border" => 0)) . '</a>'; $edit->rifci = new inputField('Rif/CI', 'rifci'); $edit->rifci->rule = 'required|max_length[13]'; $edit->rifci->size = 15; $edit->rifci->maxlength = 13; $edit->rifci->append($crea); $edit->nacionali = new dropdownField('Nacionalidad', 'nacionali'); $edit->nacionali->option('V', 'VENEZOLANA'); $edit->nacionali->option('E', 'EXTRANJERA'); $edit->nacionali->style = "width:120px;"; $edit->telefono = new textareaField('Telefono', 'telefono'); $edit->telefono->rule = 'max_length[50]'; $edit->telefono->cols = 20; $edit->telefono->rows = 1; $edit->oper = new dropdownField('Tipo Solvencia', 'oper'); $edit->oper->option('', ''); $edit->oper->option('TRAMITES', 'TRAMITES o ADMINISTRATIVA'); $edit->oper->option('REGISTRO', 'REGISTRO'); $edit->oper->style = "width:250px;"; $edit->razonsocial = new dropdownField('Razon Social', 'razonsocial'); $edit->razonsocial->option('COMERCIAL', 'COMERCIAL'); $edit->razonsocial->option('DOMICILIARIO', 'DOMICILIARIO'); $edit->razonsocial->style = "width:120px;"; $edit->tasam = new inputField('Tasa Mensual', 'tasam'); $edit->tasam->rule = 'max_length[19]'; //$edit->tasam->css_class ='inputnum'; $edit->tasam->size = 21; $edit->tasam->maxlength = 19; $edit->tasam->value = 0; $edit->rif = new inputField('Rif', 'rif'); $edit->rif->rule = 'max_length[200]'; $edit->rif->size = 20; $edit->rif->maxlength = 200; $edit->nomfis = new inputField('Empresa', 'nomfis'); $edit->nomfis->rule = 'max_length[200]'; $edit->nomfis->size = 30; $edit->nomfis->maxlength = 200; $edit->efectos = new inputField('Efectos', 'efectos'); $edit->efectos->rule = 'max_length[200]'; $edit->efectos->size = 80; $edit->efectos->maxlength = 200; $edit->efectos2 = new inputField('Efectos Linea 2', 'efectos2'); $edit->efectos2->rule = 'max_length[200]'; $edit->efectos2->size = 80; $edit->efectos2->maxlength = 200; //INICIO DETALLE $edit->d_ano = new inputField('Año', 'd_ano_<#i#>'); $edit->d_ano->size = 6; $edit->d_ano->maxlength = 6; $edit->d_ano->db_name = 'ano'; $edit->d_ano->rel_id = 'itrecibo'; $edit->d_ano->style = 'width:100%'; $edit->d_ano->readonly = true; $edit->d_tipo = new inputField('Tipo', 'd_tipo_<#i#>'); $edit->d_tipo->size = 10; $edit->d_tipo->maxlength = 20; $edit->d_tipo->db_name = 'tipo'; $edit->d_tipo->rel_id = 'itrecibo'; $edit->d_tipo->style = 'width:100%'; $edit->d_tipo->readonly = true; $edit->d_nro = new inputField('Nro', 'd_nro_<#i#>'); $edit->d_nro->size = 2; $edit->d_nro->maxlength = 2; $edit->d_nro->db_name = 'nro'; $edit->d_nro->rel_id = 'itrecibo'; $edit->d_nro->style = 'width:100%'; $edit->d_nro->readonly = true; $edit->d_descrip = new inputField('Descripcion', 'd_descrip_<#i#>'); $edit->d_descrip->size = 20; $edit->d_descrip->db_name = 'descrip'; $edit->d_descrip->rel_id = 'itrecibo'; $edit->d_descrip->style = 'width:100%'; $edit->d_descrip->readonly = true; $edit->d_monto = new inputField('Monto', 'd_monto_<#i#>'); $edit->d_monto->size = 15; $edit->d_monto->maxlength = 10; $edit->d_monto->db_name = 'monto'; $edit->d_monto->rel_id = 'itrecibo'; $edit->d_monto->style = 'width:100%;text-align:right;'; $edit->d_monto->value = 0; $edit->d_monto->onchange = 'cal_total();'; //INICIO PATENTE $edit->patente = new inputField('Patente', 'patente'); $edit->patente->size = 6; $edit->patente->maxlength = 6; $edit->patente->append($bPATENTE); $edit->patente->db_name = 'patente'; $edit->p_tarjeta = new inputField('Tarjeta', 'p_tarjeta'); $edit->p_tarjeta->size = 6; $edit->p_tarjeta->maxlength = 6; //$edit->p_tarjeta->db_name ='tarjeta'; //$edit->p_tarjeta->rel_id ='patente'; $edit->p_tarjeta->pointer = true; $edit->p_licencia = new inputField('Licencia', 'p_licencia'); $edit->p_licencia->size = 5; $edit->p_licencia->maxlength = 6; //$edit->p_licencia->db_name ='licencia'; //$edit->p_licencia->rel_id ='patente'; $edit->p_licencia->pointer = true; $edit->p_razon = new inputField('Razón', 'p_razon'); $edit->p_razon->size = 100; //$edit->p_razon->db_name ='licencia'; //$edit->p_razon->rel_id ='patente'; $edit->p_razon->pointer = true; $edit->p_dir_neg = new inputField('Dirección', 'p_dir_neg'); $edit->p_dir_neg->size = 100; //$edit->p_dir_neg->db_name ='dir_neg'; //$edit->p_dir_neg->rel_id ='patente'; $edit->p_dir_neg->pointer = true; $edit->p_local = new dropdownField('Localización', 'p_local'); $edit->p_local->options("SELECT codigo,nombre FROM local ORDER BY nombre"); $edit->p_local->style = "width:180px;"; //$edit->p_local->rel_id ='patente'; //$edit->p_local->db_name ='tarjeta'; $edit->p_local->pointer = true; $edit->p_negocio = new dropdownField('Negocio', 'p_negocio'); $edit->p_negocio->options("SELECT codigo,nombre FROM negocio ORDER BY nombre"); $edit->p_negocio->style = "width:180px;"; //$edit->p_negocio->rel_id ='patente'; //$edit->p_negocio->db_name ='tarjeta'; $edit->p_negocio->pointer = true; $edit->p_clase = new dropdownField('Clase', 'p_clase'); $edit->p_clase->options("SELECT codigo,nombre FROM claseo ORDER BY nombre"); $edit->p_clase->style = "width:120px;"; //$edit->p_clase->rel_id ='patente'; //$edit->p_clase->db_name ='tarjeta'; $edit->p_clase->pointer = true; $edit->p_clase->onchange = "cal_claseo()"; $edit->p_tipo = new dropdownField('Tipo', 'p_tipo'); $edit->p_tipo->options(array('' => '', 'A' => 'A', 'B' => 'B')); $edit->p_tipo->style = "width:120px;"; //$edit->p_tipo->rel_id ='patente'; //$edit->p_tipo->db_name ='tarjeta'; $edit->p_tipo->pointer = true; $edit->p_oficio = new inputField('Oficio', 'p_oficio'); $edit->p_oficio->size = 20; //$edit->p_oficio->db_name ='oficio'; //$edit->p_oficio->rel_id ='patente'; $edit->p_oficio->pointer = true; $edit->p_catastro = new inputField('Catastro', 'p_catastro'); $edit->p_catastro->size = 20; //$edit->p_catastro->db_name ='catastro'; //$edit->p_catastro->rel_id ='patente'; $edit->p_catastro->pointer = true; $edit->p_publicidad = new inputField('Publicidad', 'p_publicidad'); $edit->p_publicidad->size = 20; //$edit->p_publicidad->db_name ='publicidad'; //$edit->p_publicidad->rel_id ='patente'; $edit->p_publicidad->pointer = true; $edit->p_observa = new inputField('Observación', 'p_observa'); $edit->p_observa->size = 100; //$edit->p_observa->db_name ='oficio'; //$edit->p_observa->rel_id ='patente'; $edit->p_observa->pointer = true; $edit->p_repre = new inputField('Representante', 'p_repre'); $edit->p_repre->size = 20; $edit->p_repre->pointer = true; $edit->p_expclasi = new dropdownField('Clasificacion Expendido', 'p_expclasi'); $edit->p_expclasi->option("EXPENDIDO AL MAYOR Y DETAL", "EXPENDIDO AL MAYOR Y DETAL"); $edit->p_expclasi->option("EXPENDIDO DE CONSUMO", "EXPENDIDO DE CONSUMO"); $edit->p_expclasi->size = 20; $edit->p_expclasi->pointer = true; $edit->p_exphor = new inputField('Horario Espendido', 'p_exphor'); $edit->p_exphor->size = 20; $edit->p_exphor->pointer = true; $edit->p_repre = new inputField('Representante', 'p_repre'); $edit->p_repre->size = 20; $edit->p_repre->pointer = true; $edit->p_repreced = new inputField('Ced. Representante', 'p_repreced'); $edit->p_repreced->size = 20; $edit->p_repreced->pointer = true; $edit->p_capital = new inputField('Capital', 'p_capital'); $edit->p_capital->size = 20; //$edit->p_capital->db_name ='capital'; //$edit->p_capital->rel_id ='patente'; $edit->p_capital->css_class = 'inputnum'; $edit->p_capital->pointer = true; $edit->p_fecha_es = new dateonlyField('Fecha_es', 'p_fecha_es'); $edit->p_fecha_es->rule = 'chfecha'; $edit->p_fecha_es->size = 10; $edit->p_fecha_es->maxlength = 8; $edit->p_fecha_es->insertValue = date('Y-m-d'); //$edit->p_fecha_es->db_name ='fecha_es'; //$edit->p_fecha_es->rel_id ='patente'; $edit->p_fecha_es->pointer = true; /* $edit->p_kardex = new inputField('Código Kardex','p_kardex'); $edit->p_kardex->size =20; $edit->p_kardex->css_class ='inputnum'; $edit->p_kardex->pointer =true; */ $edit->p_nro = new inputField('Nro', 'p_nro'); $edit->p_nro->size = 5; //$edit->p_nro->css_class ='inputnum'; $edit->p_nro->pointer = true; $edit->p_fexpedicion = new dateonlyField('Fecha Expedición', 'p_fexpedicion'); $edit->p_fexpedicion->rule = 'chfecha'; $edit->p_fexpedicion->size = 10; $edit->p_fexpedicion->maxlength = 8; $edit->p_fexpedicion->insertValue = date('Y-m-d'); $edit->p_fexpedicion->pointer = true; $edit->p_fvencimiento = new dateonlyField('Fecha Vencimiento', 'p_fvencimiento'); $edit->p_fvencimiento->rule = 'chfecha'; $edit->p_fvencimiento->size = 10; $edit->p_fvencimiento->maxlength = 8; $edit->p_fvencimiento->insertValue = date('Y-m-d'); $edit->p_fvencimiento->pointer = true; //INICIO INMUEBLE $edit->inmueble = new inputField('Inmueble', 'inmueble'); $edit->inmueble->size = 6; $edit->inmueble->maxlength = 6; $edit->inmueble->append($bINMUEBLE); $edit->inmueble->db_name = 'inmueble'; $edit->i_ctainos = new inputField('Cuenta Inos', 'i_ctainos'); $edit->i_ctainos->rule = 'max_length[7]'; $edit->i_ctainos->size = 9; $edit->i_ctainos->maxlength = 7; //$edit->i_ctainos->db_name ='ctainos'; //$edit->i_ctainos->rel_id ='inmueble'; $edit->i_ctainos->pointer = true; $edit->i_direccion = new inputField('Dirección', 'i_direccion'); $edit->i_direccion->rule = 'max_length[50]'; $edit->i_direccion->size = 100; $edit->i_direccion->maxlength = 50; //$edit->i_direccion->db_name ='direccion'; //$edit->i_direccion->rel_id ='inmueble'; $edit->i_direccion->pointer = true; $edit->i_no_predio = new inputField('Nro. Promedio', 'i_no_predio'); $edit->i_no_predio->rule = 'max_length[10]'; $edit->i_no_predio->size = 12; $edit->i_no_predio->maxlength = 10; //$edit->i_no_predio->db_name ='no_predio'; //$edit->i_no_predio->rel_id ='inmueble'; $edit->i_no_predio->pointer = true; $edit->i_sector = new dropdownField('Sector', 'i_sector'); $edit->i_sector->options("SELECT codigo,nombre FROM local ORDER BY nombre"); //$edit->i_sector->db_name ='sector'; //$edit->i_sector->rel_id ='inmueble'; $edit->i_sector->pointer = true; $edit->i_tipo_in = new dropdownField('Tipo Inmueble', 'i_tipo_in'); $edit->i_tipo_in->options("SELECT tipoin,tipoin d FROM tipoin ORDER BY tipoin"); //$edit->i_tipo_in->db_name ='tipo_in'; //$edit->i_tipo_in->rel_id ='inmueble'; $edit->i_tipo_in->pointer = true; $edit->i_no_hab = new inputField('Nro.Habitacion', 'i_no_hab'); $edit->i_no_hab->rule = 'max_length[11]'; $edit->i_no_hab->size = 13; $edit->i_no_hab->maxlength = 11; //$edit->i_no_hab->db_name ='no_hab'; //$edit->i_no_hab->rel_id ='inmueble'; $edit->i_no_hab->pointer = true; $edit->i_clase = new dropdownField('Clase', 'i_clase'); $edit->i_clase->options("SELECT codigo,nombre FROM claseo ORDER BY nombre"); //$edit->i_clase->db_name ='clase'; //$edit->i_clase->rel_id ='inmueble'; $edit->i_clase->pointer = true; $edit->i_clase->onchange = "cal_claseo()"; $edit->i_tipo = new dropdownField('Tipo', 'i_tipo'); $edit->i_tipo->options(array('' => '', 'A' => 'A', 'B' => 'B')); $edit->i_tipo->style = "width:120px;"; //$edit->i_tipo->db_name ='tipo'; //$edit->i_tipo->rel_id ='inmueble'; $edit->i_tipo->pointer = true; $edit->i_monto = new inputField('Monto', 'i_monto'); $edit->i_monto->rule = 'max_length[8]'; $edit->i_monto->size = 10; $edit->i_monto->maxlength = 8; //$edit->i_monto->db_name ='monto'; //$edit->i_monto->rel_id ='inmueble'; $edit->i_monto->pointer = true; //INICIO VEHICULO $edit->vehiculo = new inputField('Vehiculo', 'vehiculo'); $edit->vehiculo->size = 6; $edit->vehiculo->maxlength = 6; $edit->vehiculo->append($bVEHICULO); $edit->vehiculo->db_name = 'vehiculo'; $edit->vehiculo->readonly = true; $edit->v_clase = new dropdownField('Clase', 'v_clase'); $edit->v_clase->options("SELECT codigo,nombre FROM clase ORDER BY nombre"); $edit->v_clase->style = "width:200px;"; //$edit->v_clase->db_name ='clase'; //$edit->v_clase->rel_id ='vehiculo'; $edit->v_clase->pointer = true; $edit->v_marca = new inputField('Marca', 'v_marca'); //$edit->v_marca->options("SELECT trim(marca),marca m FROM marca ORDER BY marca"); //$edit->v_marca->style="width:120px;"; //$edit->v_marca->db_name ='marca'; //$edit->v_marca->rel_id ='vehiculo'; $edit->v_marca->pointer = true; $edit->v_marca->size = 20; $edit->v_marca->maxlength = 30; $edit->v_tipo = new inputField('Tipo', 'v_tipo'); //$edit->v_tipo->options("SELECT tipo,tipo m FROM tipo ORDER BY tipo"); //$edit->v_tipo->style="width:120px;"; //$edit->v_tipo->db_name ='tipo'; //$edit->v_tipo->rel_id ='vehiculo'; $edit->v_tipo->pointer = true; $edit->v_tipo->size = 20; $edit->v_tipo->maxlength = 30; $edit->v_modelo = new inputField('Modelo', 'v_modelo'); $edit->v_modelo->rule = 'max_length[10]'; $edit->v_modelo->size = 12; $edit->v_modelo->maxlength = 10; //$edit->v_modelo->db_name ='modelo'; //$edit->v_modelo->rel_id ='vehiculo'; $edit->v_modelo->pointer = true; $edit->v_color = new inputField('Color', 'v_color'); $edit->v_color->rule = 'max_length[20]'; $edit->v_color->size = 22; $edit->v_color->maxlength = 20; //$edit->v_color->db_name ='color'; //$edit->v_color->rel_id ='vehiculo'; $edit->v_color->pointer = true; $edit->v_capaci = new inputField('Capacidad', 'v_capaci'); $edit->v_capaci->rule = 'max_length[11]'; $edit->v_capaci->size = 13; $edit->v_capaci->maxlength = 11; //$edit->v_capaci->db_name ='capaci'; //$edit->v_capaci->rel_id ='vehiculo'; $edit->v_capaci->pointer = true; $edit->v_serial_m = new inputField('Serial Motor', 'v_serial_m'); $edit->v_serial_m->size = 40; //$edit->v_serial_m->db_name ='serial_m'; //$edit->v_serial_m->rel_id ='vehiculo'; $edit->v_serial_m->pointer = true; $edit->v_placa_ant = new inputField('Placa Anterior', 'v_placa_ant'); $edit->v_placa_ant->rule = 'max_length[7]'; $edit->v_placa_ant->size = 9; $edit->v_placa_ant->maxlength = 7; //$edit->v_placa_ant->db_name ='placa_ant'; //$edit->v_placa_ant->rel_id ='vehiculo'; $edit->v_placa_ant->pointer = true; $edit->v_placa_act = new inputField('Placa', 'v_placa_act'); $edit->v_placa_act->rule = 'max_length[9]'; $edit->v_placa_act->size = 11; $edit->v_placa_act->maxlength = 9; //$edit->v_placa_act->db_name ='placa_act'; //$edit->v_placa_act->rel_id ='vehiculo'; $edit->v_placa_act->pointer = true; $edit->v_ano = new inputField('Año', 'v_ano'); $edit->v_ano->rule = 'max_length[4]'; $edit->v_ano->size = 6; $edit->v_ano->maxlength = 4; //$edit->v_ano->db_name ='ano'; //$edit->v_ano->rel_id ='vehiculo'; $edit->v_ano->pointer = true; $edit->v_peso = new inputField('Peso', 'v_peso'); $edit->v_peso->rule = 'max_length[8]'; $edit->v_peso->size = 10; $edit->v_peso->maxlength = 8; //$edit->v_peso->db_name ='peso'; //$edit->v_peso->rel_id ='vehiculo'; $edit->v_peso->pointer = true; $edit->v_serial_c = new inputField('Serial Carroceria', 'v_serial_c'); $edit->v_serial_c->size = 40; //$edit->v_serial_c->db_name ='serial_c'; //$edit->v_serial_c->rel_id ='vehiculo'; $edit->v_serial_c->pointer = true; $edit->ano = new inputField('Año', 'ano'); $edit->ano->insertValue = $this->datasis->traevalor('EJERCICIO'); $edit->ano->size = 4; $edit->ano->maxlength = 4; $m = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'); for ($i = 1; $i <= 12; $i++) { $campo = 'm_' . str_pad($i, 2, '0', STR_PAD_LEFT); $edit->{$campo} = new checkboxField($m[$i - 1], $campo, 'S', 'N'); $edit->{$campo}->insertValue = "N"; $edit->{$campo}->onchange = "cal_ch('" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')"; } $m = array('Trimestre 1', 'Trimestre 2', 'Trimestre 3', 'Trimestre 4'); for ($i = 1; $i <= 4; $i++) { $campo = 't_' . str_pad($i, 2, '0', STR_PAD_LEFT); $edit->{$campo} = new checkboxField($m[$i - 1], $campo, 'S', 'N'); $edit->{$campo}->insertValue = "N"; $edit->{$campo}->onchange = "cal_ch2('" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')"; } //TEMPORALES foreach ($this->temp as $k => $v) { $edit->{$v} = new hiddenField('', $v); } if ($edit->_status == 'show') { $id = $edit->get_from_dataobjetct('id'); $tipo = $edit->get_from_dataobjetct('tipo'); if ($tipo == '15') { $action = "javascript:window.location='" . site_url($this->url . '/calcomania/' . $edit->rapyd->uri->get_edited_id()) . "'"; $edit->button_status("btn_calcomania", 'Pagar Calcomania', $action, "TL", "show"); } } $status = $edit->get_from_dataobjetct('status'); if ($this->datasis->puede(387)) { $print_url = site_url($this->url . 'datarecibo/modify/' . $id); $action = "javascript:window.location='{$print_url}'"; $edit->button('btn_recibo', 'Modificar Recibo', $action, 'TR'); } if ($status == 'P') { $edit->buttons('modify', 'delete'); if ($this->datasis->traevalor('RECIBOUSABTNIMPRIMIR') == 'S') { if ($edit->_status == 'show') { $print_url = site_url($this->url . 'dataprint/modify/' . $id); $action = "javascript:window.location='{$print_url}'"; $edit->button('btn_print', 'Imprimir Recibo', $action, 'TR'); $print_url = site_url($this->url . 'dataprint_solvencia/modify/' . $id); $action = "javascript:window.location='{$print_url}'"; $edit->button('btn_print', 'Imprimir Solvencia', $action, 'TR'); } } $action = "javascript:window.location='" . site_url($this->url . '/anular/' . $edit->rapyd->uri->get_edited_id()) . "'"; $edit->button_status("btn_anular", 'Anular', $action, "TR", "show"); if ($this->datasis->puede(389)) { $edit->buttons('delete'); } } $edit->buttons('add', 'save', 'undo', 'back'); $edit->build(); $conten["form"] =& $edit; $smenu['link'] = barra_menu('80B'); $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true); $conten['temp'] = $this->temp; $data['content'] = $this->load->view('view_recibo', $conten, true); $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); }
function dataedit($opttipo) { $opt_key = array_search($opttipo, array('C', 'P')); if ($opt_key === false) { show_404(''); } $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'p_uri' => array(4 => '<#i#>'), 'where' => '`activo` = "S" AND `tipo` = "Articulo"', 'script' => array('post_modbus_sinv(<#i#>)'), 'titulo' => 'Buscar Artículo'); if ($opttipo == 'C') { $mCLIPRO = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Dirección', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'clipro', 'nombre' => 'nombre', 'dire11' => 'direc1', 'tipo' => 'cliprotipo'), 'titulo' => 'Buscar Cliente', 'script' => array('post_modbus_scli()')); $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>'); } else { $mCLIPRO = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre', 'direc1' => 'Dirección', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'clipro', 'nombre' => 'nombre', 'direc1' => 'direc1'), 'titulo' => 'Buscar Proveedor'); $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>'); } $btnc = $this->datasis->modbus($mCLIPRO); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $do = new DataObject('scon'); $do->rel_one_to_many('itscon', 'itscon', array('id' => 'id_scon')); if ($opttipo == 'C') { $do->pointer('scli', 'scli.cliente=scon.clipro', 'scli.tipo AS cliprotipo', 'left'); $do->rel_pointer('itscon', 'sinv', 'itscon.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'); } else { //$do->pointer('sprv' ,'sprv.proveed=psinv.clipro','"1" AS `cliprotipo`','left'); $do->rel_pointer('itscon', 'sinv', 'itscon.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.ultimo AS sinvprecio1, sinv.ultimo AS sinvprecio2, sinv.ultimo AS sinvprecio3, sinv.ultimo AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo'); } $edit = new DataDetails('Inventario a consignación', $do); $edit->on_save_redirect = false; $edit->set_rel_title('itscon', '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->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 = 12; $edit->fecha->calendar = false; $edit->tipod = new dropdownField('Tipo de movimiento', 'tipod'); $edit->tipod->option('E', 'Entregado'); $edit->tipod->option('R', 'Recibido'); $edit->tipod->rule = 'required'; $edit->tipod->insertValue = $opttipo == 'C' ? 'E' : 'R'; $edit->tipod->style = 'width:120px'; $edit->numero = new inputField('Número', 'numero'); $edit->numero->size = 12; $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->peso = new inputField('Peso', 'peso'); $edit->peso->css_class = 'inputnum'; $edit->peso->readonly = true; $edit->peso->size = 10; $edit->peso->type = 'inputhidden'; $edit->clipro = new inputField($opttipo == 'C' ? 'Cliente' : 'Proveedor', 'clipro'); $edit->clipro->size = 6; $edit->clipro->maxlength = 5; $edit->clipro->rule = 'required'; $edit->clipro->append($btnc); $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->size = 25; $edit->nombre->maxlength = 40; $edit->nombre->type = 'inputhidden'; $edit->nombre->autocomplete = false; $edit->dir_clipro = new inputField('Dirección', 'direc1'); $edit->dir_clipro->size = 37; $edit->dir_clipro->type = 'inputhidden'; $edit->asociado = new inputField('Doc. Asociado', 'asociado'); $edit->asociado->mode = 'autohide'; $edit->asociado->size = 10; $edit->almacen = new dropdownField('Almacén', 'almacen'); $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub ORDER BY ubica'); $edit->almacen->rule = 'required'; $edit->almacen->style = 'width:200px;'; $edit->almacen->size = 5; $edit->observ1 = new inputField('Observación', 'observ1'); $edit->observ1->size = 37; //Para saber que precio se le va a dar al cliente $edit->cliprotipo = new hiddenField('', 'cliprotipo'); $edit->cliprotipo->db_name = 'cliprotipo'; $edit->cliprotipo->pointer = true; $edit->cliprotipo->insertValue = 1; //Campos para el detalle $edit->codigo = new inputField('Código <#o#>', 'codigo_<#i#>'); $edit->codigo->size = 12; $edit->codigo->db_name = 'codigo'; $edit->codigo->onkeyup = 'OnEnter(event,<#i#>)'; $edit->codigo->autocomplete = false; $edit->codigo->rel_id = 'itscon'; $edit->codigo->rule = 'required'; $edit->codigo->append($btn); $edit->desca = new inputField('Descripción <#o#>', 'desca_<#i#>'); $edit->desca->size = 34; $edit->desca->db_name = 'desca'; $edit->desca->maxlength = 50; $edit->desca->readonly = true; $edit->desca->rel_id = 'itscon'; $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>'); $edit->cana->db_name = 'cana'; $edit->cana->css_class = 'inputnum'; $edit->cana->rel_id = 'itscon'; $edit->cana->maxlength = 10; $edit->cana->size = 6; $edit->cana->rule = 'required|positive'; $edit->cana->autocomplete = false; $edit->cana->onkeyup = 'importe(<#i#>)'; $edit->precio = new inputField('Precio <#o#>', 'precio_<#i#>'); $edit->precio->db_name = 'precio'; $edit->precio->css_class = 'inputnum'; $edit->precio->rel_id = 'itscon'; $edit->precio->size = 10; if ($opttipo == 'C') { $edit->precio->rule = 'required|positive|callback_chpreca[<#i#>]'; } else { $edit->precio->rule = 'required|positive'; } $edit->precio->readonly = true; $edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>'); $edit->importe->db_name = 'importe'; $edit->importe->size = 10; $edit->importe->css_class = 'inputnum'; $edit->importe->rel_id = 'itscon'; 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 = 'itscon'; $edit->{$obj}->pointer = true; } $edit->itiva = new hiddenField('', 'itiva_<#i#>'); $edit->itiva->db_name = 'iva'; $edit->itiva->rel_id = 'itscon'; $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>'); $edit->sinvpeso->db_name = 'sinvpeso'; $edit->sinvpeso->rel_id = 'itscon'; $edit->sinvpeso->pointer = true; $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>'); $edit->sinvtipo->db_name = 'sinvtipo'; $edit->sinvtipo->rel_id = 'itscon'; $edit->sinvtipo->pointer = true; //fin de campos para detalle $edit->impuesto = new inputField('Impuesto', 'impuesto'); $edit->impuesto->size = 20; $edit->impuesto->css_class = 'inputnum'; $edit->impuesto->type = 'inputhidden'; $edit->stotal = new inputField('Sub.Total', 'stotal'); $edit->stotal->size = 20; $edit->stotal->css_class = 'inputnum'; $edit->stotal->type = 'inputhidden'; $edit->gtotal = new inputField('Total', 'gtotal'); $edit->gtotal->size = 20; $edit->gtotal->css_class = 'inputnum'; $edit->gtotal->type = 'inputhidden'; $edit->tipo = new autoUpdateField('tipo', $opttipo, $opttipo); //$edit->buttons('save', 'undo', 'back','add_rel'); $edit->build(); $inven = array(); if ($opttipo == 'C') { $titulo = 'Consignación a Cliente'; //$query=$this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,base1,base2,base3,base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\''); $edit->tipo = new autoUpdateField('tipo', 'C', 'C'); } else { $titulo = 'Consignación a Proveedor'; //$query=$this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,ultimo AS base1,ultimo AS base2,ultimo AS base3,ultimo AS base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\''); $edit->tipo = new autoUpdateField('tipo', 'R', 'R'); } if ($edit->on_success()) { $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk); echo json_encode($rt); } else { $conten['opttipo'] = $opttipo; $conten['form'] =& $edit; $this->load->view('view_scon', $conten); } }
function dataedit() { //$this->datasis->modulo_id(115,1); $this->rapyd->load('dataobject', 'datadetails'); //$this->rapyd->uri->keep_persistence(); $modbus = array('tabla' => 'v_presaldo', 'columnas' => array('codigoadm' => 'Est. Admin', 'codigo' => 'Partida', 'denominacion' => 'Denominación', 'apartado' => 'Pre-Comprometido', 'saldo' => 'Saldo'), 'filtro' => array('codigoadm' => 'Est. Admin', 'codigo' => 'Partida', 'denominacion' => 'Denominacion'), 'retornar' => array('codigoadm' => 'itcodigoadm_<#i#>', 'codigo' => 'itcodigopres_<#i#>', 'denominacion' => 'itdenomi_<#i#>', 'saldo' => 'itdisp_<#i#>'), 'p_uri' => array(4 => '<#i#>', 5 => '<#fondo#>'), 'where' => 'movimiento = "S" AND saldo >0 AND fondo=<#fondo#> AND codigo LIKE "4.%"', 'script' => array('cal_soli()'), 'titulo' => 'Busqueda de partidas'); $btn = $this->datasis->p_modbus($modbus, '<#i#>/<#fondo#>'); $btn = '<img src="' . base_url() . 'assets/default/images/system-search.png" alt="Busqueda de partidas" title="Busqueda de partidas" border="0" onclick="modbusdepen(<#i#>)"/>'; $do = new DataObject("cdisp"); $do->rel_one_to_many('itcdisp', 'itcdisp', array('numero' => 'numero')); $do->rel_pointer('itcdisp', 'v_presaldo', 'itcdisp.codigoadm=v_presaldo.codigoadm AND itcdisp.fondo=v_presaldo.fondo AND itcdisp.codigopres=v_presaldo.codigo ', "v_presaldo.denominacion as denomi"); //$do->rel_pointer('itcdisp','ppla' ,'ppla.codigo=itcdisp.codigopres',"ppla.denominacion as denomi"); $edit = new DataDetails($this->t**s, $do); $edit->back_url = site_url($this->url . "filteredgrid"); $edit->set_rel_title('itcdisp', 'Rubro <#o#>'); $status = $edit->get_from_dataobjetct('status'); $edit->pre_process('insert', '_valida'); $edit->pre_process('update', '_valida'); $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); //**************************INICIO ENCABEZADO******************************************************************** $edit->numero = new inputField("Número", "numero"); //$edit->numero->rule = "callback_chexiste"; $edit->numero->mode = "autohide"; $edit->numero->when = array('show'); $edit->fecha = new dateonlyField("Fecha", "fecha", "d/m/Y"); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 12; $edit->fecha->mode = "autohide"; //$edit->fecha->when =array('show'); $edit->status = new dropdownField("Estado", "status"); $edit->status->option('C', 'Pre-Comprometido'); $edit->status->option('A', 'Anulado'); $edit->status->option('F', 'Finalizado Pre-Compromiso'); $edit->status->option('P', 'Pendiente'); $edit->status->when = array('show'); $edit->ano = new dateonlyField("Año", "ano", "Y"); $edit->ano->insertValue = date('Y'); $edit->ano->size = 12; $edit->ano->mode = "autohide"; $edit->ano->when = array('show'); $edit->reque = new textareaField("Requerimientos", 'reque'); $edit->reque->rows = 3; $edit->reque->cols = 60; $edit->uejecuta = new dropdownField("U.Ejecutora", "uejecuta"); $edit->uejecuta->option("", "Seccionar"); $edit->uejecuta->options("SELECT codigo,nombre FROM uejecutora ORDER BY nombre"); $edit->uejecuta->onchange = "get_uadmin();"; $edit->uejecuta->rule = "required"; $edit->uadministra = new dropdownField("U.Administrativa", "uadministra"); $edit->uadministra->option("", "Ninguna"); $ueje = $edit->getval('uejecuta'); if ($ueje !== false) { $edit->uadministra->options("SELECT codigo,nombre FROM uadministra WHERE codigoejec='{$ueje}' ORDER BY nombre"); } else { $edit->uadministra->option("", "Seleccione una unidad ejecutora primero"); } $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->tdisp = new inputField("Total Disponibilidad", "tdisp"); $edit->tdisp->size = 10; $edit->tdisp->readonly = true; $edit->tdisp->css_class = 'inputnum'; //$edit->tdisp->mode ="autohide"; $edit->tsoli = new inputField("Total Solicitado", "tsoli"); $edit->tsoli->size = 10; $edit->tsoli->readonly = true; $edit->tsoli->css_class = 'inputnum'; //************************** FIN ENCABEZADO******************************************************************** //**************************INICIO DETALLE DE ASIGNACIONES ***************************************************** $edit->itcodigoadm = new inputField("Estructura\tAdministrativa", "itcodigoadm_<#i#>"); $edit->itcodigoadm->db_name = 'codigoadm'; $edit->itcodigoadm->rel_id = 'itcdisp'; $edit->itcodigoadm->rule = 'required'; $edit->itcodigoadm->size = 10; $edit->itcodigoadm->autocomplete = false; if ($status == 'O') { $edit->itcodigoadm->readonly = true; } //$edit->itcodigoadm->mode ="autohide"; $edit->itcodigopres = new inputField("(<#o#>) ", "itcodigopres_<#i#>"); $edit->itcodigopres->rule = 'required|callback_itorden'; $edit->itcodigopres->size = 15; $edit->itcodigopres->db_name = 'codigopres'; $edit->itcodigopres->rel_id = 'itcdisp'; $edit->itcodigopres->autocomplete = false; //$edit->itcodigopres->readonly =true; $edit->itcodigopres->append($btn); if ($status == 'O') { $edit->itcodigopres->readonly = true; } //$edit->itcodigopres->mode ="autohide"; //$edit->itfondo = new inputField("(<#o#>) Fondo","itfondo_<#i#>"); //$edit->itfondo->rule ='required'; //$edit->itfondo->db_name='fondo'; //$edit->itfondo->rel_id ='itcdisp'; //$edit->itfondo->size =10; //if($status=='O' ) //$edit->itfondo->readonly = true; //$edit->itfondo->mode ="autohide"; $edit->itdenomi = new inputField("(<#o#>) Denominacion", "itdenomi_<#i#>"); //$edit->itdenomi->rule ='required'; $edit->itdenomi->db_name = 'denomi'; $edit->itdenomi->rel_id = 'itcdisp'; $edit->itdenomi->pointer = true; $edit->itdenomi->size = 40; $edit->itdenomi->readonly = true; //$edit->itdenomi->mode ="autohide"; $edit->itdisp = new inputField("(<#o#>) Disponible", 'itdisp_<#i#>'); $edit->itdisp->db_name = 'disp'; $edit->itdisp->size = 10; $edit->itdisp->rel_id = 'itcdisp'; $edit->itdisp->css_class = 'inputnum'; $edit->itdisp->readonly = true; $edit->itsoli = new inputField("(<#o#>) Solicitado", 'itsoli_<#i#>'); $edit->itsoli->db_name = 'soli'; $edit->itsoli->size = 10; $edit->itsoli->rule = 'callback_positivo'; $edit->itsoli->rel_id = 'itcdisp'; $edit->itsoli->css_class = 'inputnum'; $edit->itsoli->onchange = 'cal_soli();'; if ($status == 'O') { $edit->itsoli->readonly = true; } //$edit->itmontoa->mode ="autohide"; //************************** FIN DETALLE DE ORDENES DEPAGO***************************************************** $status = $edit->get_from_dataobjetct('status'); if ($status == 'P') { $action = "javascript:window.location='" . site_url($this->url . 'cd_precomprometer/' . $edit->rapyd->uri->get_edited_id()) . "'"; $edit->button_status("btn_termina", 'Pre-Comprometer', $action, "TR", "show"); $edit->buttons("add_rel", "modify", "save", "delete"); } elseif ($status == 'C') { $action = "javascript:btn_anular('" . $edit->rapyd->uri->get_edited_id() . "')"; $edit->button_status("btn_anula", 'Anular Pre-Compromiso', $action, "TR", "show"); $action = "javascript:window.location='" . site_url($this->url . 'cd_finalizar/' . $edit->rapyd->uri->get_edited_id()) . "'"; $edit->button_status("btn_deshapartar", 'Finalizar Pre-Compromiso', $action, "TR", "show"); } $edit->buttons("add", "add_rel", "save", "undo", "back"); $edit->build(); $smenu['link'] = barra_menu('304'); $data['smenu'] = $this->load->view('view_sub_menu', $smenu, true); $conten["form"] =& $edit; $data['content'] = $this->load->view('view_cdisp', $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(); //.script('plugins/jquery.autocomplete.js').style('jquery.autocomplete.css') $this->load->view('view_ventanas', $data); }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("pmov"); $do->rel_one_to_many('itpmov', 'itpmov', array('numero' => 'numero')); $do->load($id); $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $presup = new DataObject("presupuesto"); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); $error = ''; $tot = 0; $sta = $do->get('status'); if ($sta == "T") { for ($i = 0; $i < $do->count_rel('itpmov'); $i++) { $codigopres = $do->get_rel('itpmov', 'partida', $i); $monto = $do->get_rel('itpmov', 'monto', $i); $tot += $monto; $pk['codigopres'] = $codigopres; $presup->load($pk); $recibido = $presup->get("recibido"); if ($recibido < 0) { $error .= "<div class='alert'><p>partida ({$codigopre}):El monto debe ser positivo</p></div>"; } } if (empty($error)) { $tot = 0; for ($i = 0; $i < $do->count_rel('itpmov'); $i++) { $codigopres = $do->get_rel('itpmov', 'partida', $i); $monto = $do->get_rel('itpmov', 'monto', $i); $tot += $monto; $pk['codigopres'] = $codigopres; $presup->load($pk); $recibido = $presup->get("recibido"); $recibido -= $monto; $presup->set("recibido", $recibido); $presup->save(); } $do->set('status', 'C'); $do->save(); } } if (empty($error)) { redirect($this->url . "/dataedit/show/{$id}"); } else { $data['content'] = $error . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("ocompra"); $do->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $do->load($id); $error = ''; $factura = $do->get('factura'); $numero = $do->get('numero'); $cod_prov = $do->get('cod_prov'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $imptimbre = $do->get('imprtimbre'); $reten = $do->get('reten'); $ivag = $do->get('ivag'); $ivar = $do->get('ivar'); $ivaa = $do->get('ivaa'); $iva = $ivar + $ivaa + $ivag; $ide = $this->db->escape($id); if ($iva > 0 || $reten > 0 || $imptimbre > 0) { if (empty($factura) || empty($controlfac)) { $cant = $this->db->simple_query("SELECT COUNT(*) FROM itfac WHERE numero={$ide}"); if ($cant == 0) { $error .= "<div class='alert'><p>Los Campos Factura, Control Fiscal y Fecha de Factura, no pueden estar en blanco</p></div>"; } } else { $this->chexiste_factura($numero, $factura, $controlfac, $cod_prov, 'F', $e); $error .= $e; } } if (empty($error)) { $sta = $do->get('status'); if ($sta == 'C') { $partidaiva = $this->datasis->traevalor("PARTIDAIVA"); $ivan = 0; $importes = array(); $ivas = array(); $admfondo = array(); for ($i = 0; $i < $do->count_rel('itocompra'); $i++) { $codigoadm = $do->get_rel('itocompra', 'codigoadm', $i); $fondo = $do->get_rel('itocompra', 'fondo', $i); $codigopres = $do->get_rel('itocompra', 'partida', $i); $importe = $do->get_rel('itocompra', 'importe', $i); $iva = $do->get_rel('itocompra', 'iva', $i); $ordinal = $do->get_rel('itocompra', 'ordinal', $i); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; //.'_._'.$ordinal.'_._'.$iva; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; //$ivas[$cadena] =$iva; } else { $importes[$cadena] = $importe; //$ivas[$cadena] =$iva; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); } if (empty($error)) { //foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($comprometido-$causado),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para causar para la partida de IVA, ('.$temp[0].')('.$temp[1].') '); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); $iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ' (' . $temp[1] . ') (' . $temp[2] . ')'); } } if (empty($error)) { //$ivan=0; //for($i=0;$i < $do->count_rel('itocompra');$i++){ // $codigopres = $do->get_rel('itocompra','partida',$i); // $importe = $do->get_rel('itocompra','importe',$i); // $iva = $do->get_rel('itocompra','iva' ,$i); // $ordinal = $do->get_rel('itocompra','ordinal',$i); // $ivan += $importe*$iva/100; // // $error.=$this->afectapresup($codigoadm,$fondo,$codigopres,$ordinal,$importe,$iva, 1 ,array("causado")); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado")); } //if(empty($error)){ // foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->afectapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0, 1 ,array("causado")); // } //} if (empty($error)) { $do->set('status', 'T'); $do->set('fcausado', date('Ymd')); $do->save(); } } } else { $error .= "<div class='alert'><p>No se puede Causar esta orden de pago</p></div>"; } } if (empty($error)) { redirect("presupuesto/causacion/dataedit/show/{$id}"); logusu('causacion', "Causo Orden de Compra Nro {$id}"); } else { logusu('causacion', "Causo Orden de Compra Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor("presupuesto/causacion/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Causar Orden de Compra "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function anular($id) { $this->rapyd->load('dataobject'); $error = ''; //exit('as'); $do = new DataObject("desem"); $do->rel_one_to_many('mbanc', 'mbanc', array('numero' => 'desem')); $do->load($id); $status = $do->get('status'); if ($status == 'D1') { $do->set('status', 'DA'); $do->save(); logusu('desem', "Anulo desembolso Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } $cod_prov = $do->get('cod_prov'); $banc = new DataObject("banc"); $existecaja = $this->datasis->traevalor('EXISTECAJA'); for ($i = 0; $i < $do->count_rel('mbanc'); $i++) { $mstatus = $do->get_rel('mbanc', 'status', $i); $codbanc = $do->get_rel('mbanc', 'codbanc', $i); $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i); $fecha = $do->get_rel('mbanc', 'fecha', $i); $monto = $do->get_rel('mbanc', 'monto', $i); $cheque = $do->get_rel('mbanc', 'cheque', $i); $mid = $do->get_rel('mbanc', 'id', $i); $concilia = $do->get_rel('mbanc', 'concilia', $i); //if($concilia=='S')$error.=''.($tipo_doc=='CH'?"Cheque:$cheque ya conciliado":($tipo_doc=='ND'?"Nota de Debito:$cheque ya conciliada":'')).". Por favor informe de la accion a realizar a la persona encargada de conciliaciones bancarias"; if ($existecaja == "S") { $fcajrecibe = $do->get_rel('mbanc', 'fcajrecibe', $i); $fcajdevo = $do->get_rel('mbanc', 'fcajdevo', $i); if (!empty($fcajrecibe) && empty($fcajdevo)) { $error .= "ERROR: el cheque ({$cheque}) del banco ({$codbanc}) se encuentra en caja"; } } if (empty($error) && $mstatus == 'E2') { $banc->load($codbanc); $saldo = $banc->get('saldo'); $activo = $banc->get('activo'); $banco = $banc->get('banco'); if ($activo != 'S') { $error .= "<div class='alert'><p>El banco ({$banco}) esta inactivo</p></div>"; } } } if (empty($error)) { $error .= $this->reverpresup($id); } if (empty($error)) { for ($i = 0; $i < $do->count_rel('mbanc'); $i++) { $mstatus = $do->get_rel('mbanc', 'status', $i); $codbanc = $do->get_rel('mbanc', 'codbanc', $i); $tipo_doc = $do->get_rel('mbanc', 'tipo_doc', $i); $fecha = $do->get_rel('mbanc', 'fecha', $i); $monto = $do->get_rel('mbanc', 'monto', $i); $cheque = $do->get_rel('mbanc', 'cheque', $i); $mid = $do->get_rel('mbanc', 'id', $i); $benefi = $do->get_rel('mbanc', 'benefi', $i); $relch = $do->get_rel('mbanc', 'relch', $i); if (($tipo_doc == 'CH' || $tipo_doc == 'ND') && $mstatus == 'E2') { if ($this->datasis->traevalor('CREANCDIA') == 'S') { if (1 * date('Ymd') != 1 * date('Ymd', strtotime($fecha))) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); } $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } elseif ($this->datasis->traevalor('CREANCRELCH') == 'S' and strlen($relch) > 0) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } elseif (1 * date('m') != 1 * date('m', strtotime($fecha))) { $this->creambanc($codbanc, $monto, $cheque, 'NC', "Anulacion de cheque {$cheque}", date('Ymd'), $cod_prov, 'NC', $mid, '', $id, $benefi, 'N'); $this->db->query("UPDATE mbanc SET status='A2',anulado='" . date('Ymd') . "',fliable='" . date('Ymd') . "' WHERE id={$mid}"); } else { $this->db->query("UPDATE mbanc SET status='AN',anulado='" . date('Ymd') . "' WHERE id={$mid}"); } //$do->set_rel('mbanc','status' ,'AN' ,$i ); //$do->set_rel('mbanc','anulado',date('Ymd') ,$i ); $banc->load($codbanc); $saldo = $banc->get('saldo'); $saldo += $monto; $banc->set('saldo', $saldo); $banc->save(); } } //exit('hello world'); } if (empty($error)) { //$do->set('status','DA'); //$do->save(); $this->db->simple_query("UPDATE desem SET status='DA' WHERE numero={$id}"); logusu('desem', "Anulo desembolso Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('desem', "anulo desembolso Nro {$id} con error {$error}"); $data['content'] = "<div class='alert'>" . $error . "</div>" . anchor($this->url . "/dataedit/show/{$id}", 'Regresar'); $data['title'] = "{$this->t**s}"; $data["head"] = $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); } }
function dataedit() { $this->rapyd->load('datadetails', 'dataobject'); $do = new DataObject('rivc'); //$do->pointer('scli' ,'scli.cliente=rivc.cod_cli','sprv.tipo AS sprvtipo, sprv.reteiva AS sprvreteiva','left'); $do->rel_one_to_many('itrivc', 'itrivc', array('id' => 'idrivc')); $edit = new DataDetails($this->t**s, $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->nrocomp = new inputField('Comprobante', 'nrocomp'); $edit->nrocomp->rule = 'max_length[8]|required'; $edit->nrocomp->size = 10; $edit->nrocomp->maxlength = '8'; $edit->nrocomp->autocomplete = false; $edit->emision = new dateField('Fecha de Emisión', 'emision'); $edit->emision->rule = 'chfecha|required'; $edit->emision->size = 12; $edit->emision->maxlength = 8; $edit->emision->calendar = false; $edit->periodo = new inputField('Período', 'periodo'); $edit->periodo->rule = 'max_length[6]|required'; $edit->periodo->size = 7; $edit->periodo->insertValue = date('Ym'); $edit->periodo->maxlength = 6; $edit->fecha = new dateField('Fecha de Recepción', 'fecha'); $edit->fecha->rule = 'chfecha|required'; $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 12; $edit->fecha->maxlength = 8; $edit->fecha->calendar = false; $edit->cod_cli = new inputField('Cliente', 'cod_cli'); $edit->cod_cli->rule = 'max_length[5]|required|strtoupper|existescli'; $edit->cod_cli->size = 10; //$edit->cod_cli->maxlength =5; $edit->nombre = new hiddenField('Nombre', 'nombre'); $edit->nombre->rule = 'max_length[200]'; $edit->nombre->size = 42; $edit->nombre->maxlength = 200; $edit->rif = new hiddenField('RIF', 'rif'); $edit->rif->rule = 'max_length[14]|strtoupper'; $edit->rif->size = 16; $edit->rif->maxlength = 14; $edit->rif->autocomplete = false; $edit->operacion = new radiogroupField('Operación', 'operacion', array('R' => 'Reintegrar', 'A' => 'Crear anticipo', 'P' => 'Crear CxP')); $edit->operacion->insertValue = 'A'; $edit->operacion->rule = 'required|enum[R,A,P]'; $edit->exento = new inputField('Monto Exento', 'exento'); $edit->exento->rule = 'max_length[15]|numeric'; $edit->exento->css_class = 'inputnum'; $edit->exento->size = 17; $edit->exento->maxlength = 15; $edit->tasa = new inputField('tasa', 'tasa'); $edit->tasa->rule = 'max_length[5]|numeric'; $edit->tasa->css_class = 'inputnum'; $edit->tasa->size = 7; $edit->tasa->maxlength = 5; $edit->general = new inputField('general', 'general'); $edit->general->rule = 'max_length[15]|numeric'; $edit->general->css_class = 'inputnum'; $edit->general->size = 17; $edit->general->maxlength = 15; $edit->geneimpu = new inputField('geneimpu', 'geneimpu'); $edit->geneimpu->rule = 'max_length[15]|numeric'; $edit->geneimpu->css_class = 'inputnum'; $edit->geneimpu->size = 17; $edit->geneimpu->maxlength = 15; $edit->tasaadic = new inputField('tasaadic', 'tasaadic'); $edit->tasaadic->rule = 'max_length[5]|numeric'; $edit->tasaadic->css_class = 'inputnum'; $edit->tasaadic->size = 7; $edit->tasaadic->maxlength = 5; $edit->adicional = new inputField('adicional', 'adicional'); $edit->adicional->rule = 'max_length[15]|numeric'; $edit->adicional->css_class = 'inputnum'; $edit->adicional->size = 17; $edit->adicional->maxlength = 15; $edit->adicimpu = new inputField('adicimpu', 'adicimpu'); $edit->adicimpu->rule = 'max_length[15]|numeric'; $edit->adicimpu->css_class = 'inputnum'; $edit->adicimpu->size = 17; $edit->adicimpu->maxlength = 15; $edit->tasaredu = new inputField('tasaredu', 'tasaredu'); $edit->tasaredu->rule = 'max_length[5]|numeric'; $edit->tasaredu->css_class = 'inputnum'; $edit->tasaredu->size = 7; $edit->tasaredu->maxlength = 5; $edit->reducida = new inputField('reducida', 'reducida'); $edit->reducida->rule = 'max_length[15]|numeric'; $edit->reducida->css_class = 'inputnum'; $edit->reducida->size = 17; $edit->reducida->maxlength = 15; $edit->reduimpu = new inputField('reduimpu', 'reduimpu'); $edit->reduimpu->rule = 'max_length[15]|numeric'; $edit->reduimpu->css_class = 'inputnum'; $edit->reduimpu->size = 17; $edit->reduimpu->maxlength = 15; $edit->stotal = new hiddenField('Sub-total', 'stotal'); $edit->stotal->rule = 'max_length[15]|numeric'; $edit->stotal->css_class = 'inputnum'; $edit->stotal->size = 17; $edit->stotal->maxlength = 15; $edit->impuesto = new hiddenField('Impuesto', 'impuesto'); $edit->impuesto->rule = 'max_length[15]|numeric'; $edit->impuesto->css_class = 'inputnum'; $edit->impuesto->size = 17; $edit->impuesto->maxlength = 15; $edit->gtotal = new hiddenField('Total de facturas', 'gtotal'); $edit->gtotal->rule = 'max_length[15]|numeric'; $edit->gtotal->css_class = 'inputnum'; $edit->gtotal->size = 17; $edit->gtotal->maxlength = 15; $edit->reiva = new hiddenField('Total Retenido', 'reiva'); $edit->reiva->rule = 'max_length[15]|numeric'; $edit->reiva->css_class = 'inputnum'; $edit->reiva->size = 17; $edit->reiva->maxlength = 15; $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->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->origen = new autoUpdateField('origen', 'R', 'R'); $edit->modificado = new inputField('modificado', 'modificado'); $edit->modificado->rule = 'max_length[8]'; $edit->modificado->size = 10; $edit->modificado->maxlength = 8; //**************************** //Inicio del Detalle //**************************** $edit->it_tipo_doc = new hiddenField('tipo_doc', 'tipo_doc_<#i#>'); $edit->it_tipo_doc->db_name = 'tipo_doc'; $edit->it_tipo_doc->rule = 'max_length[2]|enum[NC,ND,F,D]|required'; $edit->it_tipo_doc->size = 4; $edit->it_tipo_doc->maxlength = 1; $edit->it_tipo_doc->rel_id = 'itrivc'; $edit->it_fecha = new dateonlyField('fecha', 'fecha_<#i#>'); $edit->it_fecha->db_name = 'fecha'; $edit->it_fecha->rule = 'required|chfecha'; $edit->it_fecha->size = 11; $edit->it_fecha->maxlength = 10; $edit->it_fecha->rel_id = 'itrivc'; $edit->it_fecha->type = 'inputhidden'; $edit->it_numero = new inputField('numero', 'numero_<#i#>'); $edit->it_numero->db_name = 'numero'; $edit->it_numero->rule = 'max_length[12]|required|callback_chrepetidos|callback_chfac[<#i#>]|callback_chriva[<#i#>]'; $edit->it_numero->size = 14; $edit->it_numero->maxlength = 12; $edit->it_numero->title = 'Para mejorar la búsqueda coloque el tipo de documento seguido del número, Ej D000001 si es una devolución, F12345 si es una factura o NC0001 si una nota de cre&dacute;ito'; $edit->it_numero->rel_id = 'itrivc'; $edit->it_numero->autocomplete = false; $edit->it_stotal = new inputField('stotal', 'stotal_<#i#>'); $edit->it_stotal->db_name = 'stotal'; $edit->it_stotal->rule = 'max_length[15]|numeric'; $edit->it_stotal->css_class = 'inputnum'; $edit->it_stotal->size = 17; $edit->it_stotal->maxlength = 15; $edit->it_stotal->rel_id = 'itrivc'; $edit->it_stotal->showformat = 'decimal'; $edit->it_impuesto = new hiddenField('impuesto', 'impuesto_<#i#>'); $edit->it_impuesto->db_name = 'impuesto'; $edit->it_impuesto->rule = 'max_length[15]|numeric'; $edit->it_impuesto->css_class = 'inputnum'; $edit->it_impuesto->size = 17; $edit->it_impuesto->maxlength = 15; $edit->it_impuesto->showformat = 'decimal'; $edit->it_impuesto->rel_id = 'itrivc'; $edit->it_gtotal = new hiddenField('gtotal', 'gtotal_<#i#>'); $edit->it_gtotal->db_name = 'gtotal'; $edit->it_gtotal->rule = 'max_length[15]|numeric'; $edit->it_gtotal->css_class = 'inputnum'; $edit->it_gtotal->size = 17; $edit->it_gtotal->maxlength = 15; $edit->it_gtotal->rel_id = 'itrivc'; $edit->it_gtotal->showformat = 'decimal'; $edit->it_gtotal->autocomplete = false; $edit->it_reiva = new inputField('reiva', 'reiva_<#i#>'); $edit->it_reiva->db_name = 'reiva'; $edit->it_reiva->rule = 'max_length[15]|nocero|numeric'; $edit->it_reiva->css_class = 'inputnum'; $edit->it_reiva->size = 17; $edit->it_reiva->maxlength = 15; $edit->it_reiva->rel_id = 'itrivc'; $edit->it_reiva->onkeyup = 'totalizar()'; $edit->it_reiva->autocomplete = false; $edit->it_reiva->disable_paste = true; $edit->it_reiva->showformat = 'decimal'; //**************************** //Fin del Detalle //**************************** $edit->codbanc = new dropdownField('Caja', 'codbanc'); $edit->codbanc->option('', 'Seleccionar'); $edit->codbanc->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND tbanco='CAJ' ORDER BY codbanc"); $edit->codbanc->rule = 'max_length[5]|condi_required|callback_chcaja'; $edit->codbanc->style = 'width:200px;'; //$edit->buttons('save', 'undo','delete', 'back','add_rel','add'); //$edit->buttons('save', 'undo', 'back','add_rel'); //$edit->buttons('add_rel'); $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; $this->load->view('view_rivc', $conten); } }
function dataeditordp($numero, $esta) { if (!isset($_POST['codigo_0'])) { //SELECT c.codigo //,COALESCE(b.cantidad*IF(tipoordp='E',-1,1),0) AS tracana //,c.cantidad //FROM stra AS a //JOIN itstra AS b ON a.numero=b.numero //RIGHT JOIN ordpitem AS c ON a.ordp=c.numero AND b.codigo=c.codigo //WHERE c.numero='00000019' } $id_ordp = $this->datasis->dameval('SELECT id FROM ordp WHERE numero=' . $this->db->escape($numero)); $this->back_dataedit = 'inventario/ordp/dataedit/show/' . $id_ordp; $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia', 'peso' => 'Peso'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'descrip_<#i#>'), 'where' => 'activo = "S" AND tipo="Articulo"', 'script' => array('post_modbus("<#i#>")'), 'p_uri' => array(4 => '<#i#>'), 'titulo' => 'Busqueda de producto en inventario'); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $script = "\n\t\tfunction post_add_itstra(id){\n\t\t\t\$('#cantidad_'+id).numeric('.');\n\t\t\treturn true;\n\t\t}"; $do = new DataObject('stra'); $do->rel_one_to_many('itstra', 'itstra', 'numero'); //$do->rel_pointer('itstra','sinv','itstra.codigo=sinv.codigo','sinv.descrip as sinvdescrip'); $edit = new DataDetails('Transferencia', $do); $edit->back_url = $this->back_dataedit; $edit->set_rel_title('itstra', 'Producto <#o#>'); $edit->script($script, 'create'); $edit->script($script, 'modify'); $edit->pre_process('insert', '_pre_ordp_insert'); $edit->pre_process('update', '_pre_update'); $edit->pre_process('delete', '_pre_delete'); $edit->post_process('insert', '_post_insert'); $edit->numero = new inputField('Nú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->ordp = new inputField('Orden de producción', 'ordp'); $edit->ordp->mode = 'autohide'; $edit->ordp->size = 10; $edit->ordp->rule = 'required|callback_chordp'; $edit->ordp->insertValue = $numero; $edit->ordp->when = array('show', 'modify'); $edit->fecha = new dateonlyField('Fecha', 'fecha'); $edit->fecha->rule = 'required|chfecha'; $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->size = 12; $edit->esta = new dropdownField('Estación', 'esta'); $edit->esta->option('', 'Seleccionar'); $edit->esta->options('SELECT estacion,CONCAT(estacion,\'-\',nombre) AS lab FROM esta ORDER BY estacion'); $edit->esta->rule = 'required'; $edit->esta->insertValue = $esta; $edit->esta->style = 'width:150px;'; $edit->tipoordp = new dropdownField('Tipo de movimiento', 'tipoordp'); $edit->tipoordp->option('', 'Seleccionar'); $edit->tipoordp->option('E', 'Entrega'); $edit->tipoordp->option('R', 'Retiro'); $edit->tipoordp->rule = 'required|enum[E,R]'; $edit->tipoordp->style = 'width:150px;'; $edit->observ1 = new inputField('Observación', 'observ1'); $edit->observ1->rule = 'max_length[60]|trim'; $edit->observ1->size = 32; $edit->observ1->maxlength = 30; //comienza el detalle $edit->codigo = new inputField('Código <#o#>', 'codigo_<#i#>'); $edit->codigo->db_name = 'codigo'; $edit->codigo->append($btn); $edit->codigo->rule = 'trim|required|sinvexiste'; $edit->codigo->rel_id = 'itstra'; $edit->codigo->maxlength = 15; $edit->codigo->size = 15; $edit->descrip = new inputField('Descripción', 'descrip_<#i#>'); $edit->descrip->db_name = 'descrip'; $edit->descrip->type = 'inputhidden'; $edit->descrip->rel_id = 'itstra'; $edit->descrip->maxlength = 45; $edit->descrip->size = 40; $edit->cantidad = new inputField('Cantidad', 'cantidad_<#i#>'); $edit->cantidad->db_name = 'cantidad'; $edit->cantidad->css_class = 'inputnum'; $edit->cantidad->rel_id = 'itstra'; $edit->cantidad->rule = 'numeric|mayorcero|required'; $edit->cantidad->maxlength = 10; $edit->cantidad->autocomplete = false; $edit->cantidad->size = 10; //Fin del detalle $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->session->userdata('usuario'), $this->session->userdata('usuario')); $accion = "javascript:buscaprod()"; $edit->button_status('btn_terminar', 'Traer insumos', $accion, 'TR', 'create'); $edit->buttons('save', 'undo', 'back', 'add_rel'); if ($this->genesal) { $edit->build(); $conten['form'] =& $edit; $data['content'] = $this->load->view('view_stra_ordp', $conten, true); $data['style'] = style('redmond/jquery-ui.css'); $data['script'] = script('jquery.js'); $data['script'] .= script('jquery-ui.js'); $data['script'] .= script("jquery-impromptu.js"); $data['script'] .= script('plugins/jquery.numeric.pack.js'); $data['script'] .= script('plugins/jquery.ui.autocomplete.autoSelectOne.js'); $data['script'] .= script('plugins/jquery.floatnumber.js'); $data['script'] .= phpscript('nformat.js'); $data['content'] = $this->load->view('view_stra_ordp', $conten, true); $data['head'] = $this->rapyd->get_head(); $data['title'] = heading('Transferencias de inventario para producción'); $this->load->view('view_ventanas', $data); } else { $edit->on_save_redirect = false; $edit->build(); if ($edit->on_success()) { $rt = 'Transferencia Guardada'; } elseif ($edit->on_error()) { $rt = html_entity_decode(preg_replace('/<[^>]*>/', '', $edit->error_string)); } return $rt; } }
function dataedit($opttipo) { $opt_key = array_search($opttipo, array('scli', 'sprv')); if ($opt_key === false) { show_404(''); } $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'Descripción'), 'p_uri' => array(4 => '<#i#>'), 'where' => '`activo` = "S" AND `tipo` = "Articulo"', 'script' => array('post_modbus_sinv(<#i#>)'), 'titulo' => 'Buscar Artículo'); if ($opttipo == 'scli') { $mCLIPRO = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Dirección', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'clipro', 'nombre' => 'nombre', 'dire11' => 'dir_clipro', 'tipo' => 'cliprotipo'), 'titulo' => 'Buscar Cliente', 'script' => array('post_modbus_scli()')); $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>'); } else { $mCLIPRO = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre', 'direc1' => 'Dirección', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Código Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'clipro', 'nombre' => 'nombre', 'direc1' => 'dir_clipro'), 'titulo' => 'Buscar Proveedor'); $modbus['retornar'] = array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'ultimo' => 'precio1_<#i#>', 'ultimo' => 'precio2_<#i#>', 'ultimo' => 'precio3_<#i#>', 'ultimo' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>'); } $btnc = $this->datasis->modbus($mCLIPRO); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $do = new DataObject('psinv'); $do->rel_one_to_many('itpsinv', 'itpsinv', 'numero'); if ($opttipo == 'scli') { $do->pointer('scli', 'scli.cliente=psinv.clipro', 'scli.tipo AS cliprotipo', 'left'); $do->rel_pointer('itpsinv', 'sinv', 'itpsinv.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'); } else { //$do->pointer('sprv' ,'sprv.proveed=psinv.clipro','"1" AS `cliprotipo`','left'); $do->rel_pointer('itpsinv', 'sinv', 'itpsinv.codigo=sinv.codigo', 'sinv.descrip AS sinvdescrip, sinv.ultimo AS sinvprecio1, sinv.ultimo AS sinvprecio2, sinv.ultimo AS sinvprecio3, sinv.ultimo AS sinvprecio4, sinv.iva AS sinviva, sinv.peso AS sinvpeso,sinv.tipo AS sinvtipo'); } $edit = new DataDetails('Inventario a consignación', $do); $edit->back_url = site_url('inventario/psinv/filteredgrid'); $edit->set_rel_title('itpsinv', 'Producto <#o#>'); $edit->back_url = $this->back_dataedit; $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 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 = new dropdownField('Tipo', 'tipo'); $edit->tipo->option('R','Recibido'); $edit->tipo->option('C','Cedido'); //$edit->tipo->option('X','Anulado'); $edit->tipo->style='width:160px';*/ $edit->vende = new dropdownField('Vendedor', 'vende'); $edit->vende->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor'); $edit->vende->style = 'width:200px;'; $edit->vende->size = 5; $edit->numero = new inputField('Nú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->peso = new inputField('Peso', 'peso'); $edit->peso->css_class = 'inputnum'; $edit->peso->readonly = true; $edit->peso->size = 10; $edit->clipro = new inputField($opttipo == 'scli' ? 'Cliente' : 'Proveedor', 'clipro'); $edit->clipro->size = 6; $edit->clipro->maxlength = 5; $edit->clipro->rule = 'required'; $edit->clipro->append($btnc); $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->size = 25; $edit->nombre->maxlength = 40; $edit->nombre->autocomplete = false; $edit->factura = new inputField('Factura', 'factura'); $edit->factura->size = 10; $edit->factura->when = array('show'); $edit->almacen = new dropdownField('Almacén', 'almacen'); $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub ORDER BY ubica'); $edit->almacen->rule = 'required'; $edit->almacen->style = 'width:200px;'; $edit->almacen->size = 5; $edit->orden = new inputField("Orden", "orden"); $edit->orden->size = 10; $edit->observa = new inputField("Observación", "observa"); $edit->observa->size = 37; $edit->dir_clipro = new inputField("Dirección", "dir_clipro"); $edit->dir_clipro->size = 37; //$edit->dir_cl1 = new inputField(" ","dir_cl1"); //$edit->dir_cl1->size = 55; //Para saber que precio se le va a dar al cliente $edit->cliprotipo = new hiddenField('', 'cliprotipo'); $edit->cliprotipo->db_name = 'cliprotipo'; $edit->cliprotipo->pointer = true; $edit->cliprotipo->insertValue = 1; //Campos para el detalle $edit->codigo = new inputField('Código <#o#>', 'codigo_<#i#>'); $edit->codigo->size = 12; $edit->codigo->db_name = 'codigo'; //$edit->codigo->readonly = true; $edit->codigo->onkeyup = 'OnEnter(event,<#i#>)'; $edit->codigo->autocomplete = false; $edit->codigo->rel_id = 'itpsinv'; $edit->codigo->rule = 'required'; $edit->codigo->append($btn); $edit->desca = new inputField('Descripción <#o#>', 'desca_<#i#>'); $edit->desca->size = 34; $edit->desca->db_name = 'desca'; $edit->desca->maxlength = 50; $edit->desca->readonly = true; $edit->desca->rel_id = 'itpsinv'; $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>'); $edit->cana->db_name = 'cana'; $edit->cana->css_class = 'inputnum'; $edit->cana->rel_id = 'itpsinv'; $edit->cana->maxlength = 10; $edit->cana->size = 6; $edit->cana->rule = 'required|positive'; $edit->cana->autocomplete = false; $edit->cana->onkeyup = 'importe(<#i#>)'; $edit->precio = new inputField('Precio <#o#>', 'precio_<#i#>'); $edit->precio->db_name = 'precio'; $edit->precio->css_class = 'inputnum'; $edit->precio->rel_id = 'itpsinv'; $edit->precio->size = 10; if ($opttipo == 'scli') { $edit->precio->rule = 'required|positive|callback_chpreca[<#i#>]'; } else { $edit->precio->rule = 'required|positive'; } $edit->precio->readonly = true; $edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>'); $edit->importe->db_name = 'importe'; $edit->importe->size = 10; $edit->importe->css_class = 'inputnum'; $edit->importe->rel_id = 'itpsinv'; 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 = 'itpsinv'; $edit->{$obj}->pointer = true; } $edit->itiva = new hiddenField('', 'itiva_<#i#>'); $edit->itiva->db_name = 'iva'; $edit->itiva->rel_id = 'itpsinv'; $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>'); $edit->sinvpeso->db_name = 'sinvpeso'; $edit->sinvpeso->rel_id = 'itpsinv'; $edit->sinvpeso->pointer = true; $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>'); $edit->sinvtipo->db_name = 'sinvtipo'; $edit->sinvtipo->rel_id = 'itpsinv'; $edit->sinvtipo->pointer = true; //fin de campos para detalle $edit->impuesto = new inputField('Impuesto', 'impuesto'); $edit->impuesto->size = 20; $edit->impuesto->css_class = 'inputnum'; $edit->stotal = new inputField('Sub.Total', 'stotal'); $edit->stotal->size = 20; $edit->stotal->css_class = 'inputnum'; $edit->gtotal = new inputField('Total', 'gtotal'); $edit->gtotal->size = 20; $edit->gtotal->css_class = 'inputnum'; $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); $edit->agente = new autoUpdateField('agente', $opttipo, $opttipo); $edit->buttons('save', 'undo', 'delete', 'back', 'add_rel'); $edit->build(); $inven = array(); if ($opttipo == 'scli') { $titulo = 'Dar a cliente inventario a consignación'; $query = $this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,base1,base2,base3,base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\''); $edit->tipo = new autoUpdateField('tipo', 'C', 'C'); } else { $titulo = 'Recibir inventario a consignación de proveedor'; $query = $this->db->query('SELECT TRIM(codigo) AS codigo ,TRIM(descrip) AS descrip,tipo,ultimo AS base1,ultimo AS base2,ultimo AS base3,ultimo AS base4,iva,peso,precio1,pond FROM sinv WHERE activo=\'S\''); $edit->tipo = new autoUpdateField('tipo', 'R', 'R'); } if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $ind = '_' . $row->codigo; $inven[$ind] = array($row->descrip, $row->tipo, $row->base1, $row->base2, $row->base3, $row->base4, $row->iva, $row->peso, $row->precio1, $row->pond); } } $jinven = json_encode($inven); $conten['inven'] = $jinven; $conten['form'] =& $edit; $data['content'] = $this->load->view('view_psinv', $conten, true); $data['title'] = heading($titulo); $data['head'] = script('jquery.js') . script('jquery-ui.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.meiomask.js') . style('vino/jquery-ui.css') . $this->rapyd->get_head() . phpscript('nformat.js') . script('plugins/jquery.numeric.pack.js') . script('plugins/jquery.floatnumber.js') . phpscript('nformat.js'); $this->load->view('view_ventanas', $data); }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $modbus = array('tabla' => 'sinv', 'columnas' => array('codigo' => 'Código', 'descrip' => 'Descripción', 'precio1' => 'Precio 1', 'precio2' => 'Precio 2', 'precio3' => 'Precio 3', 'existen' => 'Existencia'), 'filtro' => array('codigo' => 'Código', 'descrip' => 'descrip'), 'retornar' => array('codigo' => 'codigo_<#i#>', 'descrip' => 'desca_<#i#>', 'base1' => 'precio1_<#i#>', 'base2' => 'precio2_<#i#>', 'base3' => 'precio3_<#i#>', 'base4' => 'precio4_<#i#>', 'iva' => 'itiva_<#i#>', 'peso' => 'sinvpeso_<#i#>', 'tipo' => 'sinvtipo_<#i#>'), 'p_uri' => array(4 => '<#i#>'), 'where' => '`activo` = "S" AND `tipo` = "Articulo"', 'script' => array('post_modbus_sinv(<#i#>)'), 'titulo' => 'Buscar Articulo'); $btn = $this->datasis->p_modbus($modbus, '<#i#>'); $mSCLId = array('tabla' => 'scli', 'columnas' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre', 'cirepre' => 'Rif/Cedula', 'dire11' => 'Dirección', 'tipo' => 'Tipo'), 'filtro' => array('cliente' => 'Código Cliente', 'nombre' => 'Nombre'), 'retornar' => array('cliente' => 'cod_cli', 'nombre' => 'nombre', 'dire11' => 'dir_cli', 'tipo' => 'sclitipo'), 'titulo' => 'Buscar Cliente', 'script' => array('post_modbus_scli()')); $btnc = $this->datasis->modbus($mSCLId); $do = new DataObject('snte'); $do->rel_one_to_many('itsnte', 'itsnte', 'numero'); $do->pointer('scli', 'scli.cliente=snte.cod_cli', 'scli.tipo AS sclitipo', 'left'); $do->rel_pointer('itsnte', 'sinv', 'itsnte.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'); $edit = new DataDetails('Nota de entrega', $do); $edit->on_save_redirect = false; $edit->set_rel_title('itsnte', '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 DateonlyField('Fecha', 'fecha', 'd/m/Y'); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->rule = 'required'; $edit->fecha->mode = 'autohide'; $edit->fecha->calendar = false; $edit->fecha->size = 10; $edit->vende = new dropdownField('Vendedor', 'vende'); $edit->vende->options('SELECT vendedor, CONCAT(vendedor,\' \',nombre) nombre FROM vend ORDER BY vendedor'); $edit->vende->style = 'width:200px;'; $edit->vende->size = 5; $edit->numero = new inputField('Nú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->peso = new inputField('Peso', 'peso'); $edit->peso->css_class = 'inputnum'; $edit->peso->readonly = true; $edit->peso->type = 'inputhidden'; $edit->peso->size = 10; $edit->cliente = new inputField('Cliente', 'cod_cli'); $edit->cliente->size = 6; //$edit->cliente->maxlength=5; $edit->cliente->rule = 'required'; $edit->cliente->append($btnc); $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->size = 25; $edit->nombre->type = 'inputhidden'; $edit->nombre->maxlength = 40; $edit->nombre->autocomplete = false; $edit->factura = new inputField('Factura', 'factura'); $edit->factura->size = 10; $edit->factura->when = array('show'); $edit->almacen = new dropdownField('Almacén', 'almacen'); $edit->almacen->options('SELECT ubica, CONCAT(ubica,\' \',ubides) nombre FROM caub ORDER BY ubica'); $edit->almacen->rule = 'required'; $edit->almacen->style = 'width:200px;'; $edit->almacen->size = 5; $alma = $this->secu->getalmacen(); if (empty($alma)) { $alma = $this->datasis->traevalor('ALMACEN'); } $edit->almacen->insertValue = $alma; $edit->orden = new inputField('Orden', 'orden'); $edit->orden->size = 10; $edit->observa = new inputField('Observación', 'observa'); $edit->observa->size = 37; $edit->dir_cli = new inputField('Dirección', 'dir_cli'); $edit->dir_cli->type = 'inputhidden'; $edit->dir_cli->size = 37; //$edit->dir_cl1 = new inputField(' ','dir_cl1'); //$edit->dir_cl1->size = 55; //Para saber que precio se le va a dar al cliente $edit->sclitipo = new hiddenField('', 'sclitipo'); $edit->sclitipo->db_name = 'sclitipo'; $edit->sclitipo->pointer = true; $edit->sclitipo->insertValue = 1; //Campos para el detalle $edit->codigo = new inputField('Código <#o#>', 'codigo_<#i#>'); $edit->codigo->size = 8; $edit->codigo->db_name = 'codigo'; $edit->codigo->rel_id = 'itsnte'; $edit->codigo->rule = 'required'; $edit->codigo->append($btn); $edit->codigo->style = 'width:80%'; $edit->desca = new inputField('Descripción <#o#>', 'desca_<#i#>'); $edit->desca->size = 36; $edit->desca->db_name = 'desca'; $edit->desca->maxlength = 40; $edit->desca->readonly = true; $edit->desca->rel_id = 'itsnte'; $edit->desca->style = 'width:98%'; $edit->cana = new inputField('Cantidad <#o#>', 'cana_<#i#>'); $edit->cana->db_name = 'cana'; $edit->cana->css_class = 'inputnum'; $edit->cana->rel_id = 'itsnte'; $edit->cana->maxlength = 10; $edit->cana->size = 6; $edit->cana->rule = 'required|positive|callback_chcananeg[<#i#>]'; $edit->cana->autocomplete = false; $edit->cana->onkeyup = 'importe(<#i#>)'; $edit->cana->style = 'width:98%'; $edit->precio = new inputField('Precio <#o#>', 'precio_<#i#>'); $edit->precio->db_name = 'precio'; $edit->precio->css_class = 'inputnum'; $edit->precio->rel_id = 'itsnte'; $edit->precio->size = 10; $edit->precio->rule = 'required|positive|callback_chpreca[<#i#>]'; $edit->precio->readonly = true; $edit->precio->style = 'width:98%'; $edit->importe = new inputField('Importe <#o#>', 'importe_<#i#>'); $edit->importe->db_name = 'importe'; $edit->importe->size = 10; $edit->importe->css_class = 'inputnum'; $edit->importe->rel_id = 'itsnte'; $edit->importe->style = 'width:98%'; $edit->importe->type = 'inputhidden'; 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 = 'itsnte'; $edit->{$obj}->pointer = true; } $edit->itiva = new hiddenField('', 'itiva_<#i#>'); $edit->itiva->db_name = 'iva'; $edit->itiva->rel_id = 'itsnte'; $edit->sinvpeso = new hiddenField('', 'sinvpeso_<#i#>'); $edit->sinvpeso->db_name = 'sinvpeso'; $edit->sinvpeso->rel_id = 'itsnte'; $edit->sinvpeso->pointer = true; $edit->sinvtipo = new hiddenField('', 'sinvtipo_<#i#>'); $edit->sinvtipo->db_name = 'sinvtipo'; $edit->sinvtipo->rel_id = 'itsnte'; $edit->sinvtipo->pointer = true; //fin de campos para detalle $edit->impuesto = new hiddenField('Impuesto', 'impuesto'); $edit->impuesto->size = 20; $edit->impuesto->css_class = 'inputnum'; $edit->stotal = new hiddenField('Sub.Total', 'stotal'); $edit->stotal->size = 20; $edit->stotal->css_class = 'inputnum'; $edit->gtotal = new hiddenField('Total', 'gtotal'); $edit->gtotal->size = 20; $edit->gtotal->css_class = 'inputnum'; $edit->usuario = new autoUpdateField('usuario', $this->session->userdata('usuario'), $this->session->userdata('usuario')); //$edit->buttons('add_rel'); $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; $this->load->view('view_snte', $conten); } }
function actualizar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("odirect"); $do->rel_one_to_many('itodirect', 'itodirect', array('numero' => 'numero')); $do->load($id); $error = ""; $multiple = $do->get('multiple'); $factura = $do->get('factura'); $controlfac = $do->get('controlfac'); $fechafac = $do->get('fechafac'); $reteiva = $do->get('reteiva'); //if($multiple == 'N'){ // if($reteiva > 0 && (empty($factura) || empty($controlfac) || empty($fechafac))) // $error.="<div class='alert'><p> Los campos Nro. Factura, Nro Control y Fecha factura no pueden estar en blanco</p></div>"; //}else{ // $facs = $this->datasis->dameval("SELECT COUNT(*) FROM itfac WHERE numero=$id "); // if($facs <= 0) // $error.="<div class='alert'><p> Debe ingresar las factura por el modulo de factura multiple primero</p></div>"; //} if (empty($error)) { $sta = $do->get('status'); if ($sta == "C1") { $importes = array(); $ivas = array(); $admfondo = array(); $ordenes = array(); for ($i = 0; $i < $do->count_rel('itodirect'); $i++) { $codigoadm = $do->get_rel('itodirect', 'codigoadm', $i); $fondo = $do->get_rel('itodirect', 'fondo', $i); $codigopres = $do->get_rel('itodirect', 'partida', $i); $iva = $do->get_rel('itodirect', 'iva', $i); $importe = $do->get_rel('itodirect', 'importe', $i); $ordinal = $do->get_rel('itodirect', 'ordinal', $i); $ocompra = $do->get_rel('itodirect', 'ocompra', $i); $ivan = $importe * $iva / 100; $error .= $this->itpartida($codigoadm, $fondo, $codigopres, $ordinal); $cadena = $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena, $importes)) { $importes[$cadena] += $importe; } else { $importes[$cadena] = $importe; } $cadena2 = $codigoadm . '_._' . $fondo; $admfondo[$cadena2] = array_key_exists($cadena2, $admfondo) ? $admfondo[$cadena2] += $ivan : ($admfondo[$cadena2] = $ivan); $cadena3 = $ocompra . '_._' . $codigoadm . '_._' . $fondo . '_._' . $codigopres; if (array_key_exists($cadena3, $ordenes)) { $ordenes[$cadena3] += $importe; } else { $ordenes[$cadena3] = $importe; } } if (empty($error)) { //foreach($admfondo AS $cadena=>$monto){ // $temp = explode('_._',$cadena); // $error.=$this->chequeapresup($temp[0],$temp[1],'PARTIDAIVA','',$monto,0,'round($monto,2) > $disponible=round(($presupuesto-$comprometido),2)','El Monto ($monto) es mayor al disponible (round(($disponible),2)) para la partida de IVA, ('.$temp[0].')('.$temp[1].') '); //} foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->chequeapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 'round($monto,2) > $disponible=round(($comprometido-$causado),2)', 'El Monto ($monto) es mayor al disponible ($disponible) para la partida (' . $temp[0] . ') (' . $temp[1] . ') (' . $temp[2] . ') '); } } if (empty($error)) { foreach ($ordenes as $k => $v) { $temp = explode('_._', $v); $query = "SELECT SUM(a.importe) \n\t\t\t\t\t\tFROM itodirect a\n\t\t\t\t\t\tJOIN odirect b ON a.numero=b.numero\n\t\t\t\t\t\tWHERE a.ocompra='" . $temp[0] . "' AND a.codigoadm='" . $temp[1] . "' AND a.fondo='" . $temp[2] . "' AND a.partida='" . $temp[3] . "' \n\t\t\t\t\t\tAND b.status IN ('C2','C3')\n\t\t\t\t\t\t"; $totcau = $this->datasis->dameval($query); } } if (empty($error)) { foreach ($importes as $cadena => $monto) { $temp = explode('_._', $cadena); //$iva = $ivas[$cadena]; $error .= $this->afectapresup($temp[0], $temp[1], $temp[2], '', $monto, 0, 1, array("causado", "opago")); } if (empty($error)) { $do->set('fopago', date('Ymd')); $do->set('status', 'C2'); $do->save(); } } } } if (empty($error)) { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}"); redirect($this->url . "dataedit/show/{$id}"); } else { logusu('odirect', "Actualizo Orden de Pago Directo Nro {$id}. con ERROR:{$error} "); $data['content'] = $error . anchor($this->url . "dataedit/show/{$id}", 'Regresar'); $data['title'] = " {$this->t**s} "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }
function dataedit() { $this->rapyd->load('datadetails', 'dataobject'); $do = new DataObject('ords'); $do->rel_one_to_many('itords', 'itords', array('numero')); $edit = new DataDetails('', $do); $edit->on_save_redirect = false; $edit->post_process('insert', '_post_insert'); $edit->post_process('update', '_post_update'); $edit->post_process('delete', '_post_delete'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $edit->pre_process('delete', '_pre_delete'); $edit->fecha = new DateonlyField('Fecha', 'fecha'); $edit->fecha->insertValue = date('Y-m-d'); $edit->fecha->mode = 'autohide'; $edit->fecha->size = 10; $edit->fecha->calendar = false; $edit->numero = new inputField('Número', 'numero'); $edit->numero->size = 10; $edit->numero->mode = 'autohide'; $edit->numero->when = array('show', 'modify'); $edit->proveed = new inputField('Proveedor', 'proveed'); $edit->proveed->size = 6; $edit->proveed->rule = 'required|existesprv'; $edit->nombre = new inputField('Nombre', 'nombre'); $edit->nombre->type = 'inputhidden'; $edit->nombre->size = 30; $edit->nombre->maxlength = 30; //Campos para el anticipo $edit->codban = new dropdownField('Banco', 'codban'); $edit->codban->option('', 'Seleccionar'); $edit->codban->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' ORDER BY codbanc"); $edit->codban->rule = 'max_length[5]'; $edit->codban->style = 'width:200px;'; $edit->tipo = new dropdownField('Tipo', 'tipo_op'); $edit->tipo->option('CH', 'Cheque'); $edit->tipo->option('ND', 'Nota de debito'); $edit->tipo->size = 10; $edit->tipo->style = 'width:150px;'; $edit->cheque = new inputField('Número', 'cheque'); $edit->cheque->size = 10; //$edit->cheque->rule='required'; $edit->cheque->mode = 'autohide'; $edit->comprob = new inputField2('Comprobante', 'comprob'); $edit->comprob->size = 20; $edit->benefi = new inputField('Beneficiario', 'benefi'); $edit->benefi->size = 30; //Fin de los campos anticipos $edit->condi = new textareaField('Condiciones', 'condi'); $edit->condi->cols = 70; $edit->condi->rows = 2; $edit->condi->size = 35; $edit->anticipo = new inputField('Anticipo', 'anticipo'); $edit->anticipo->size = 20; $edit->anticipo->css_class = 'inputnum'; $edit->totiva = new inputField('Impuesto', 'totiva'); $edit->totiva->type = 'inputhidden'; $edit->totiva->size = 10; $edit->totiva->css_class = 'inputnum'; $edit->totbruto = new inputField('Total', 'totbruto'); $edit->totbruto->type = 'inputhidden'; $edit->totbruto->size = 20; $edit->totbruto->css_class = 'inputnum'; $edit->totpre = new inputField('SubTotal', 'totpre'); $edit->totpre->type = 'inputhidden'; $edit->totpre->size = 10; $edit->totpre->css_class = 'inputnum'; //Campos para el detalle $edit->codigo = new inputField('Código', 'codigo_<#i#>'); $edit->codigo->size = 7; $edit->codigo->db_name = 'codigo'; //$edit->codigo->append($this->datasis->p_modbus($modbus,'<#i#>')); $edit->codigo->rel_id = 'itords'; $edit->descrip = new inputField('Descripción', 'descrip_<#i#>'); $edit->descrip->size = 25; $edit->descrip->db_name = 'descrip'; $edit->descrip->maxlength = 12; $edit->descrip->rel_id = 'itords'; $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 = 'itords'; $edit->tasaiva->onchange = 'importe(<#i#>)'; $edit->iva = new inputField('Impuesto', 'iva_<#i#>'); $edit->iva->size = 10; $edit->iva->db_name = 'iva'; $edit->iva->maxlength = 8; $edit->iva->css_class = 'inputnum'; $edit->iva->rel_id = 'itords'; $edit->iva->showformat = 'decimal'; $edit->iva->type = 'inputhidden'; $edit->precio = new inputField('Precio', 'precio_<#i#>'); $edit->precio->css_class = 'inputnum'; $edit->precio->onkeyup = 'importe(<#i#>)'; $edit->precio->size = 9; $edit->precio->db_name = 'precio'; $edit->precio->rel_id = 'itords'; $edit->importe = new inputField('Importe', 'importe_<#i#>'); $edit->importe->db_name = 'importe'; $edit->importe->css_class = 'inputnum'; $edit->importe->size = 9; $edit->importe->rel_id = 'itords'; $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='G' ORDER BY depto"); $edit->departa->db_name = 'departa'; $edit->departa->rule = 'required'; $edit->departa->style = 'width:100px'; $edit->departa->rel_id = 'itords'; $edit->departa->onchange = "gdeparta(this.value)"; $edit->sucursal = new dropdownField('Sucursal <#o#>', 'sucursal_<#i#>'); $edit->sucursal->options("SELECT codigo,CONCAT(codigo,'-', sucursal) AS sucursal FROM sucu ORDER BY codigo"); $edit->sucursal->db_name = 'sucursal'; $edit->sucursal->rule = 'required'; $edit->sucursal->style = 'width:100px'; $edit->sucursal->rel_id = 'itords'; $edit->sucursal->onchange = "gsucursal(this.value)"; //fin de campos para detalle $edit->usuario = new autoUpdateField('usuario', $this->secu->usuario(), $this->secu->usuario()); $edit->estampa = new autoUpdateField('estampa', date('Ymd'), date('Ymd')); $edit->hora = new autoUpdateField('hora', date('H:i:s'), date('H:i:s')); $edit->build(); if ($edit->on_success()) { $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => $edit->_dataobject->pk); echo json_encode($rt); } else { $conten['form'] =& $edit; $this->load->view('view_ords', $conten); } }
function dataedit() { $this->rapyd->load('dataobject', 'datadetails'); $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->pointer('sprv', 'sprv.proveed=sfac.sprv', 'sprv.nombre AS sprvnombre, sprv.rif AS sprvrif, sprv.direc1 AS sprvdirec', '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 = site_url('ventas/sfacter/filteredgrid'); $edit->set_rel_title('sitems', 'Producto <#o#>'); $edit->pre_process('insert', '_pre_insert'); $edit->pre_process('update', '_pre_update'); $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->sprv = new inputField('Código', 'sprv'); $edit->sprv->size = 6; $edit->sprv->maxlength = 5; $edit->sprv->rule = 'existesprv'; //$edit->sprv->append($boton); $edit->sprvnombre = new hiddenField('Nombre', 'sprvnombre'); $edit->sprvnombre->db_name = 'sprvnombre'; $edit->sprvnombre->pointer = true; $edit->sprvnombre->maxlength = 40; $edit->sprvnombre->size = 25; $edit->sprvnombre->readonly = true; $edit->sprvrif = new hiddenField('RIF', 'sprvrif'); $edit->sprvrif->db_name = 'sprvrif'; $edit->sprvrif->pointer = true; $edit->sprvrif->autocomplete = false; $edit->sprvrif->size = 15; $edit->sprvrif->readonly = true; $edit->sprvdirec = new hiddenField('Dirección', 'sprvdirec'); $edit->sprvdirec->db_name = 'sprvdirec'; $edit->sprvdirec->pointer = true; $edit->sprvdirec->size = 40; $edit->sprvdirec->readonly = true; $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->vence = new DateonlyField('Vencimiento', 'vence', 'd/m/Y'); $edit->vence->insertValue = date('Y-m-d'); $edit->vence->rule = 'required'; $edit->vence->mode = 'autohide'; $edit->vence->size = 10; $edit->tipo_doc = new dropdownField('Documento', 'tipo_doc'); $edit->tipo_doc->option('F', 'Factura'); //$edit->tipo_doc->option('D','Devolución'); $edit->tipo_doc->style = 'width:200px;'; $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:200px;'; $edit->vd->insertValue = $this->secu->getvendedor(); $edit->vd->size = 5; $edit->numero = new inputField('Nú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->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->maxlength = 5; $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->rifci = new hiddenField('RIF/CI', 'rifci'); $edit->rifci->autocomplete = false; $edit->rifci->readonly = true; $edit->rifci->size = 15; $edit->direc = new hiddenField('Dirección', 'direc'); $edit->direc->readonly = true; $edit->direc->size = 40; //*********************************** // Campos para el detalle 1 sitems //*********************************** $edit->codigoa = new inputField('Có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ó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'; $edit->cana->autocomplete = false; $edit->cana->onkeyup = 'importe(<#i#>)'; $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'; $edit->preca->readonly = true; $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->size = 10; $edit->tota->css_class = 'inputnum'; $edit->tota->rel_id = 'sitems'; 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->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; $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->cajero = new inputField('Cajero', 'cajero'); $edit->referen = new inputField('Referencia', 'referen'); $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->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')); $edit->buttons('add_rel'); $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; $this->load->view('view_sfacter', $conten); } /* //$data['script'] .= $script; //$data['script'] .= $scriptreiva; $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'] .= 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_sfacter', $conten,true); $data['head'] = $this->rapyd->get_head(); $data['title'] = heading($this->titp); $this->load->view('view_ventanas', $data); */ }
function reversar($id) { $this->rapyd->load('dataobject'); $do = new DataObject("opago"); $do->rel_one_to_many('itopago', 'itopago', array('numero' => 'numero')); $do->load($id); $sta = $do->get('status'); if ($sta == 'C') { $codigoadm = $do->get('estadmin'); $fondo = $do->get('fondo'); $ordc = new DataObject("ocompra"); $ordc->rel_one_to_many('itocompra', 'itocompra', array('numero' => 'numero')); $error = ''; for ($i = 0; $i < $do->count_rel('itopago'); $i++) { $orden = $do->get_rel('itopago', 'orden', $i); $pago = $do->get_rel('itopago', 'pago', $i); $pk2 = array('numero' => $orden); $ordc->load($pk2); $debe = $ordc->get('total'); $status = $ordc->get('status'); if ($status != 'R') { $error .= "<div class='alert'><p>Orden Compra ({$orden}): No ha sido Procesada</p></div>"; } } } if (empty($error)) { $presup = new DataObject("presupuesto"); for ($i = 0; $i < $do->count_rel('itopago'); $i++) { $orden = $do->get_rel('itopago', 'orden', $i); $pago = $do->get_rel('itopago', 'pago', $i); $pk2 = array('numero' => $orden); $ordc->load($pk2); $debe = $ordc->get('total'); $codigoadm = $ordc->get('estadmin'); $fondo = $ordc->get('fondo'); $abono = $ordc->get('abono'); $pk = array('codigoadm' => $codigoadm, 'tipo' => $fondo); for ($i = 0; $i < $ordc->count_rel('itocompra'); $i++) { $codigopres = $ordc->get_rel('itocompra', 'partida', $i); $importe = $ordc->get_rel('itocompra', 'importe', $i); $iva = $ordc->get_rel('itocompra', 'iva', $i); $mont = $importe * (($iva + 100) / 100); $pk['codigopres'] = $codigopres; $presup->load($pk); $causado = $presup->get("causado"); $causado -= $mont; $presup->set("opago", $causado); $presup->save(); } $ordc->set('status', 'T'); $ordc->save(); $do->set('status', 'P'); $do->save(); } redirect("presupuesto/opago2/dataedit/show/{$id}"); } else { $data['content'] = $error . anchor("presupuesto/opago2/dataedit/show/{$id}", 'Regresar'); $data['title'] = " Orden de Pago "; $data["head"] = $this->rapyd->get_head() . script('jquery.js') . script("plugins/jquery.numeric.pack.js"); $this->load->view('view_ventanas', $data); } }