Ejemplo n.º 1
0
 function negrita2($descrip, $monto)
 {
     if ($descrip == 'TOTALES') {
         return "<span style='font-size:1.2em'><strong>" . nformat($monto) . "</strong></span>";
     } elseif (strlen($monto) > 0) {
         return nformat($monto);
     } else {
         return '';
     }
 }
Ejemplo n.º 2
0
 function _pre_insert($do)
 {
     $ttipo = $do->get('tipo');
     $clipro = $do->get('clipro');
     $estampa = $do->get('estampa');
     $hora = $do->get('hora');
     $usuario = $do->get('usuario');
     $reinte = $do->get('reinte');
     $observa = $do->get('observa1');
     $dbclipro = $this->db->escape($clipro);
     $preinte = $this->input->post('preinte');
     $do->rm_get('preinte');
     //Calcula los movimientos aplicables
     $arr_apl = array();
     $i = $aplicar = 0;
     while (true) {
         $ind = 'itnumero_' . $i;
         $numero = $this->input->post($ind);
         $ind = 'ittipo_' . $i;
         $tipo = $this->input->post($ind);
         $ind = 'itfecha_' . $i;
         $fecha = $this->input->post($ind);
         if ($numero === false || $tipo === false || $fecha === false) {
             break;
         }
         if (empty($numero) || empty($tipo) || empty($fecha)) {
             break;
         }
         $ind = 'itsaldo_' . $i;
         $itsaldo = floatval($this->input->post($ind));
         $ind = 'itmonto_' . $i;
         $monto = $this->input->post($ind);
         $ind = 'itid_' . $i;
         $id = intval($this->input->post($ind));
         if ($ttipo == 'C') {
             $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM smov WHERE id={$id}"));
         } else {
             $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM sprm WHERE id={$id}"));
         }
         if (!empty($monto)) {
             if (!is_numeric($monto)) {
                 $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto ' . $tipo . $numero . ' no es num&eacute;rico.';
                 return false;
                 break;
             }
             $monto = floatval($monto);
             if ($monto > $rsaldo) {
                 $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto ' . $tipo . $numero . ' es mayor al saldo disponible ' . nformat($rsaldo) . '.';
                 return false;
                 break;
             }
             $aplicar += $monto;
             $arr_apl[] = array('id' => $id, 'numero' => $numero, 'tipo' => $tipo, 'fecha' => $fecha, 'monto' => $monto);
         }
         $i++;
     }
     //Fin de los aplicables
     $arr_efe = array();
     //Chequea si se reintegra
     if ($preinte != 'S') {
         //Calcula los efectos a los que se aplica
         $i = $efectos = 0;
         while (true) {
             $ind = 'itenumero_' . $i;
             $numero = $this->input->post($ind);
             $ind = 'itetipo_' . $i;
             $tipo = $this->input->post($ind);
             $ind = 'itefecha_' . $i;
             $fecha = $this->input->post($ind);
             if ($numero === false || $tipo === false || $fecha === false) {
                 break;
             }
             if (empty($numero) || empty($tipo) || empty($fecha)) {
                 break;
             }
             $ind = 'iteaplicar_' . $i;
             $abono = floatval($this->input->post($ind));
             $ind = 'itemonto_' . $i;
             $monto = floatval($this->input->post($ind));
             $ind = 'iteid_' . $i;
             $id = $this->input->post($ind);
             if ($ttipo == 'C') {
                 $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM smov WHERE id={$id}"));
             } else {
                 $rsaldo = floatval($this->datasis->dameval("SELECT monto-abonos AS saldo FROM sprm WHERE id={$id}"));
             }
             if (!empty($abono)) {
                 if (!is_numeric($abono)) {
                     $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' no es num&eacute;rico.';
                     return false;
                     break;
                 }
                 $abono = floatval($abono);
                 if ($abono > $rsaldo) {
                     $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' es mayor al saldo disponible ' . nformat($rsaldo) . '.';
                     return false;
                     break;
                 }
                 $efectos += $abono;
                 if ($abono > $monto) {
                     $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto del efecto a aplicar ' . $tipo . $numero . ' no puede exceder su saldo.';
                     return false;
                     break;
                 }
                 $arr_efe[] = array('id' => $id, 'numero' => $numero, 'tipo' => $tipo, 'fecha' => $fecha, 'abono' => $abono, 'monto' => $monto);
             }
             $i++;
         }
         if ($efectos <= 0) {
             $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto de los efectos a aplicar debe ser mayor a cero.';
             return false;
         }
         //Fin de los efectos
         if (round($aplicar - $efectos, 2) != 0.0) {
             $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El monto a aplicar es diferente al aplicado. ' . "{$aplicar}-{$efectos}";
             return false;
         }
     }
     $dbreinte = $this->db->escape($reinte);
     if ($preinte == 'S') {
         if (empty($reinte)) {
             $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'Si es un reintegro debe seleccionar a quien se le reintegra.';
             return false;
         } else {
             if ($ttipo == 'P') {
                 $can = intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM scli WHERE cliente={$dbreinte}"));
                 if ($can <= 0) {
                     $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El cliente elegido para el reintegro no existe.';
                     return false;
                 }
             } else {
                 $can = intval($this->datasis->dameval("SELECT COUNT(*) AS cana FROM sprv WHERE proveed={$dbreinte}"));
                 if ($can <= 0) {
                     $do->error_message_ar['pre_ins'] = $do->error_message_ar['insert'] = 'El proveedor elegido para el reintegro no existe.';
                     return false;
                 }
             }
         }
     }
     $transac = $this->datasis->fprox_numero('ntransa');
     $numero = $this->datasis->fprox_numero('napan');
     $do->set('transac', $transac);
     $do->set('numero', $numero);
     $fecha = $do->get('fecha');
     if (empty($fecha)) {
         $fecha = date('Y-m-d');
         $do->set('fecha', $fecha);
     }
     $mSQLs = array();
     if ($preinte == 'S') {
         if ($ttipo == 'P') {
             //Aplica a proveedor
             $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $dbclipro);
             $mNUMERO = $this->datasis->fprox_numero('num_nd');
             $data = array();
             $data['cod_prv'] = $clipro;
             $data['nombre'] = $mNOMBRE;
             $data['tipo_doc'] = 'ND';
             $data['numero'] = $mNUMERO;
             $data['fecha'] = $fecha;
             $data['monto'] = $aplicar;
             $data['impuesto'] = 0;
             $data['abonos'] = 0;
             $data['vence'] = $fecha;
             $data['observa1'] = substr($observa, 0, 50);
             $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : '';
             $data['tipo_ref'] = 'AP';
             $data['estampa'] = $do->get('estampa');
             $data['hora'] = $do->get('hora');
             $data['usuario'] = $do->get('usuario');
             $data['transac'] = $transac;
             $data['num_ref'] = $numero;
             $sql = $this->db->insert_string('sprm', $data);
             $ban = $this->db->simple_query($sql);
             $iid = $this->db->insert_id();
             $arr_efe[] = array('id' => $iid, 'numero' => $mNUMERO, 'tipo' => 'ND', 'fecha' => $fecha, 'abono' => $aplicar, 'monto' => $aplicar);
             $mNUMERO = $this->datasis->fprox_numero('ndcli');
             $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM scli WHERE cliente=' . $dbreinte);
             $data = array();
             $data['cod_cli'] = $reinte;
             $data['nombre'] = $mNOMBRE;
             $data['tipo_doc'] = 'ND';
             $data['numero'] = $mNUMERO;
             $data['fecha'] = $fecha;
             $data['monto'] = $aplicar;
             $data['abonos'] = 0;
             $data['vence'] = $fecha;
             $data['observa1'] = substr($observa, 0, 50);
             $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : '';
             $data['impuesto'] = 0;
             $data['tipo_ref'] = 'AP';
             $data['estampa'] = $do->get('estampa');
             $data['hora'] = $do->get('hora');
             $data['usuario'] = $do->get('usuario');
             $data['transac'] = $transac;
             $data['num_ref'] = $numero;
             $mSQLs[] = $this->db->insert_string('smov', $data);
         } else {
             //Aplica a cliente
             $mNUMERO = $this->datasis->fprox_numero('ndcli');
             $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM scli WHERE cliente=' . $dbclipro);
             $data = array();
             $data['cod_cli'] = $clipro;
             $data['nombre'] = $mNOMBRE;
             $data['tipo_doc'] = 'ND';
             $data['numero'] = $mNUMERO;
             $data['fecha'] = $fecha;
             $data['monto'] = $aplicar;
             $data['impuesto'] = 0;
             $data['abonos'] = 0;
             $data['vence'] = $fecha;
             $data['observa1'] = substr($observa, 0, 50);
             $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : '';
             $data['tipo_ref'] = 'AP';
             $data['estampa'] = $do->get('estampa');
             $data['hora'] = $do->get('hora');
             $data['usuario'] = $do->get('usuario');
             $data['transac'] = $transac;
             $data['num_ref'] = $numero;
             $sql = $this->db->insert_string('smov', $data);
             $ban = $this->db->simple_query($sql);
             $iid = $this->db->insert_id();
             $arr_efe[] = array('id' => $iid, 'numero' => $mNUMERO, 'tipo' => 'ND', 'fecha' => $fecha, 'abono' => $aplicar, 'monto' => $aplicar);
             $mNUMERO = $this->datasis->fprox_numero('num_nd');
             $mNOMBRE = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $dbreinte);
             $data = array();
             $data['cod_prv'] = $reinte;
             $data['nombre'] = $mNOMBRE;
             $data['tipo_doc'] = 'ND';
             $data['numero'] = $mNUMERO;
             $data['fecha'] = $fecha;
             $data['monto'] = $aplicar;
             $data['abonos'] = 0;
             $data['vence'] = $fecha;
             $data['observa1'] = substr($observa, 0, 50);
             $data['observa2'] = strlen($observa) >= 50 ? substr($observa, 50) : '';
             $data['impuesto'] = 0;
             $data['tipo_ref'] = 'AP';
             $data['estampa'] = $do->get('estampa');
             $data['hora'] = $do->get('hora');
             $data['usuario'] = $do->get('usuario');
             $data['transac'] = $transac;
             $data['num_ref'] = $numero;
             $mSQLs[] = $this->db->insert_string('sprm', $data);
         }
     }
     $data = array();
     $data['transac'] = $transac;
     $data['estampa'] = $estampa;
     $data['hora'] = $hora;
     $data['usuario'] = $usuario;
     $data['ppago'] = $data['reteiva'] = $data['reten'] = $data['cambio'] = $data['mora'] = 0;
     $saldoefe = 0;
     $centi = '';
     foreach ($arr_apl as $apl) {
         $saldoapl = $apl['monto'];
         do {
             if ($saldoefe <= 0) {
                 $efe = array_shift($arr_efe);
                 if (empty($efe)) {
                     break;
                 }
                 $saldoefe = $efe['abono'];
             }
             $data['numero'] = $efe['numero'];
             $data['tipo_doc'] = $efe['tipo'];
             $data['fecha'] = $efe['fecha'];
             $data['monto'] = $efe['monto'];
             if ($saldoapl >= $saldoefe) {
                 $data['abono'] = $saldoefe;
                 $saldoapl = $saldoapl - $saldoefe;
                 $saldoefe = 0;
             } else {
                 $data['abono'] = $saldoapl;
                 $saldoefe = $saldoefe - $saldoapl;
                 $saldoapl = 0;
             }
             if ($ttipo == 'C') {
                 $data['numccli'] = $apl['numero'];
                 $data['tipoccli'] = $apl['tipo'];
                 $data['cod_cli'] = $clipro;
                 $data['reteiva'] = '';
                 $data['nroriva'] = '';
                 $data['emiriva'] = '';
                 $data['recriva'] = '';
                 $mSQLs[] = $this->db->insert_string('itccli', $data);
                 $mSQLs[] = 'UPDATE smov SET abonos=abonos+' . $data['abono'] . ' WHERE id=' . $this->db->escape($efe['id']);
             } elseif ($ttipo == 'P') {
                 $data['numppro'] = $apl['numero'];
                 $data['tipoppro'] = $apl['tipo'];
                 $data['cod_prv'] = $clipro;
                 $data['preten'] = '';
                 $data['creten'] = '';
                 $data['breten'] = '';
                 $mSQLs[] = $this->db->insert_string('itppro', $data);
                 $mSQLs[] = 'UPDATE sprm SET abonos=abonos+' . $data['abono'] . ' WHERE id=' . $this->db->escape($efe['id']);
             }
         } while ($saldoapl > 0);
         if ($ttipo == 'C') {
             $mSQLs[] = 'UPDATE smov SET abonos=abonos+' . $apl['monto'] . ' WHERE id=' . $this->db->escape($apl['id']);
         } elseif ($ttipo == 'P') {
             $mSQLs[] = 'UPDATE sprm SET abonos=abonos+' . $apl['monto'] . ' WHERE id=' . $this->db->escape($apl['id']);
         }
     }
     $do->set('observa1', substr($observa, 0, 50));
     $do->set('observa2', strlen($observa) >= 50 ? substr($observa, 50) : '');
     //$obs = wordwrap($observa, 50,"\n");
     $this->_sqls = $mSQLs;
     return true;
 }
Ejemplo n.º 3
0
 /**
  * build (only) the field (widhout labels or borders)
  *
  * @access   public
  * @return   string  the field output
  */
 function build()
 {
     $this->_getValue();
     switch ($this->status) {
         case 'show':
             if (substr_count($this->showformat, 'decimal') > 0) {
                 $output = nformat($this->value);
             } else {
                 $output = $this->value;
             }
             break;
         default:
     }
     $out = $output . $this->extra_output . "\n";
     if (!empty($this->valid_error)) {
         $out .= br() . $this->valid_error;
     }
     return $this->output = $out;
 }
Ejemplo n.º 4
0
 function chpreca($preca, $ind)
 {
     $codigo = $this->input->post('codigo_' . $ind);
     $precio4 = $this->datasis->dameval('SELECT base4 FROM sinv WHERE codigo=' . $this->db->escape($codigo));
     if ($precio4 < 0) {
         $precio4 = 0;
     }
     if ($preca < $precio4) {
         $this->validation->set_message('chpreca', 'El art&iacute;culo ' . $codigo . ' debe contener un precio de al menos ' . nformat($precio4));
         return false;
     } else {
         return true;
     }
 }
Ejemplo n.º 5
0
 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 ($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)) {
                 $iteracion = 0;
                 foreach ($ordenes as $k => $v) {
                     $iteracion++;
                     $temp = explode('_._', $k);
                     if (substr($temp[0], 0, 1) != 'N') {
                         $query = "SELECT SUM(a.xcausar) \n\t\t\t\t\t\t\tFROM v_comproxcausar a\n\t\t\t\t\t\t\tWHERE a.ocompra='" . $temp[0] . "' AND a.codigoadm='" . $temp[1] . "' AND a.fondo='" . $temp[2] . "' AND a.codigopres='" . $temp[3] . "' \n\t\t\t\t\t\t\t";
                         $totcau = $this->datasis->dameval($query);
                         $v = 1 * round($v);
                         $totcau = 1 * round($totcau);
                         if ($v > $totcau) {
                             $error .= "<div class='alert'><p> {$iteracion} ERROR. El monto (" . nformat($v) . ") es Mayor al por causar (" . nformat($totcau) . ") para la partida " . $temp[1] . "" . $temp[3] . " " . $temp[2] . " y el Compromiso " . $temp[0] . "</p></div>";
                         }
                     } else {
                         $query = "SELECT status FROM nomi WHERE numero=" . 1 * str_replace('NO', '', $temp[0]);
                         $sta = $this->datasis->dameval($query);
                         if ($sta != 'D') {
                             $error .= "<div class='alert'><p> {$iteracion} ERROR. La nomina " . $k[0] . " no puede ser causada, porque el estado no es orden asignada</p></div>";
                         }
                     }
                 }
             }
             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);
     }
 }
Ejemplo n.º 6
0
    function cargar($control)
    {
        $this->rapyd->uri->keep_persistence();
        $this->rapyd->load('dataform');
        $dbcontrol = $this->db->escape($control);
        $farmaxDB = $this->load->database('farmax', TRUE);
        $farmaxdb = $farmaxDB->database;
        $localdb = $this->db->database;
        $msj = '';
        $block = trim($this->datasis->traevalor('SCSTACTIVABLOQUEO', 'Activa la bloque al cargar compras, P:por promedio,M:por valor maximo'));
        if ($block == 'P' || $block == 'M') {
            $mSQL = "SELECT COALESCE(c.abarras,b.codigo) AS codigo,a.descrip, a.cantidad\n\t\t\tFROM {$farmaxdb}.itscst AS a\n\t\t\tLEFT JOIN {$localdb}.sinv AS b ON a.codigo=b.codigo\n\t\t\tLEFT JOIN {$localdb}.farmaxasig AS c ON a.codigo=c.barras AND c.proveed=a.proveed\n\t\t\tWHERE a.control={$dbcontrol}";
            $query = $this->db->query($mSQL);
            foreach ($query->result() as $row) {
                if (empty($row->codigo)) {
                    continue;
                }
                $cana = intval($row->cantidad);
                $fdesde = date('Ymd', mktime(0, 0, 0, date('n') - 2, 1, date('Y')));
                $fhasta = date('Ymd', mktime(0, 0, 0, date('n'), 0, date('Y')));
                if ($block == 'P') {
                    $sql = "SELECT SUM(cana) AS cana FROM sitems WHERE fecha BETWEEN {$fdesde} AND {$fhasta} AND codigoa=" . $this->db->escape($row->codigo);
                    $venta = $this->datasis->dameval($sql);
                    if (empty($venta)) {
                        $venta = 0;
                    } else {
                        $venta = ceil($venta / 2);
                    }
                    $fdesde = date('Ymd', mktime(0, 0, 0, date('n'), 1, date('Y')));
                    $fhasta = date('Ymd');
                    $sql = "SELECT SUM(IF(b.tipo_doc IN ('FC','NE'),1,-1)*a.cantidad) AS cana FROM itscst AS a JOIN scst AS b ON a.control=b.control  WHERE b.recep BETWEEN {$fdesde} AND {$fhasta} AND a.codigo=" . $this->db->escape($row->codigo);
                    $compra = $this->datasis->dameval($sql);
                    if (empty($compra)) {
                        $compra = 0;
                    }
                    $lim = $cana + $compra;
                    if ($lim > $venta) {
                        $msj .= '&nbsp;&nbsp;-' . $row->codigo . '-' . $row->descrip . ', Cantidad: <b>' . nformat($cana) . '</b>, Compra en el mes: <b>' . nformat($compra) . '</b>, L&iacute;mite: <b>' . nformat($venta) . '</b>' . br();
                    }
                } else {
                    $sql = "SELECT COUNT(*) FROM sinv WHERE existen+{$cana} > exmax AND codigo=" . $this->db->escape($row->codigo);
                    $ch = $this->datasis->dameval($sql);
                    if ($ch > 0) {
                        $msj .= $row->codigo . '-' . $row->descrip . ', Se esta comprando mas del m&aacute;ximo establecido.' . br();
                    }
                }
            }
        }
        $form = new DataForm("farmacia/scst/cargar/{$control}/process");
        $form->title('Carga de compra proveniente de droguer&iacute;a');
        $form->nfiscal = new inputField('Control F&iacute;scal', 'nfiscal');
        $form->nfiscal->rule = 'required|strtoupper';
        $form->nfiscal->autocomplete = false;
        $form->nfiscal->rows = 10;
        $cana = $this->datasis->dameval("SELECT COUNT(*) AS val FROM caub WHERE gasto='N' and invfis='N'");
        $form->almacen = new dropdownField('Almac&eacute;n', 'almacen');
        if ($cana > 1) {
            $form->almacen->option('', 'Seleccionar');
        }
        $form->almacen->options("SELECT ubica,CONCAT_WS('-',ubica,ubides) AS val FROM caub WHERE gasto='N' and invfis='N' ORDER BY ubides");
        $form->almacen->insertValue = $this->datasis->traevalor('ALMACEN');
        $form->almacen->rule = 'required';
        $proveed = $this->_traesprv($control);
        $dias = $this->datasis->dameval('SELECT b.dcredito FROM sprv AS b WHERE b.proveed=' . $this->db->escape($proveed));
        $form->dias = new inputField('D&iacute;as de cr&eacute;dito', 'dias');
        $form->dias->insertValue = $dias > 0 ? $dias : 21;
        $form->dias->rule = 'required|integer';
        $form->dias->css_class = 'inputnum';
        $form->dias->size = 5;
        if (strlen($msj) > 0) {
            $form->free = new containerField('', '<p class="alert">Se ha detectado sobre existencia en los siguientes productos:' . br() . $msj . 'Es necesaria la clave de aprobaci&oacute;n para continuar</p>');
            $form->clavef = new inputField('Clave de aprobaci&oacute;n', 'clavef');
            $form->clavef->rule = 'callback_chclavef|required';
            $form->clavef->size = 10;
            $form->clavef->autocomplete = false;
            $form->clavef->type = 'password';
        }
        $action = "javascript:window.location='" . site_url('farmacia/scst/dataedit/show/' . $control) . "'";
        $form->button('btn_regresa', 'Regresar', $action, 'TR');
        $form->submit('btnsubmit', 'Guardar');
        $form->build_form();
        if ($form->on_success()) {
            $nfiscal = $form->nfiscal->newValue;
            $almacen = $form->almacen->newValue;
            $dias = $form->dias->newValue;
            $data['content'] = $this->_cargar($control, $nfiscal, $almacen, $dias) . br() . anchor('farmacia/scst/dataedit/show/' . $control, 'Regresar');
        } else {
            $data['content'] = $form->output;
        }
        $script = '<script type="text/javascript" >
		$(function() {
		    $(".inputnum").numeric(".");
		});
		</script>';
        $data['script'] = $script;
        $data['head'] = $this->rapyd->get_head() . script('jquery.js') . script('plugins/jquery.numeric.pack.js');
        $data['title'] = '<h1>Cargar compra ' . $control . '</h1>';
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 7
0
</td>
				</tr>
			</table>

			<p style='text-align:center;font-size:2em'>
				<?php 
if ($form->_status != 'show') {
    ?>
				<span style='font-size:1.2em;color:#1900FF' id='tconcil'>0,0</span>
				<br><span style='font-size:0.5em;color:#1900FF'>Monto por conciliar</span><br>
				<?php 
}
?>
				<span style='font-size:1.8em;' id='conciliado'><?php 
$tota = $form->deposito->value + $form->credito->value - $form->cheque->value - $form->debito->value;
echo $form->_status == 'show' ? nformat($tota) : nformat(0);
?>
</span>
				<br><span style='font-size:0.5em;'>Monto conciliado</span>
			</p>
			<?php 
if ($form->_status != 'show') {
    ?>
			<div id='traconsul' style='border: 1px solid #9AC8DA;background: #FAFAFA;overflow-y: auto;max-height:100px;'>
				<p style="text-align:center">Seleccione cualquier efecto liable para ver los detalles.</p>
			</div>
			<?php 
}
?>
		</td>
	</tr>
Ejemplo n.º 8
0
 function retirohecho($cajero, $monto, $id = 0)
 {
     $nombre = $this->datasis->dameval('SELECT nombre FROM scaj WHERE cajero=' . $this->db->escape($cajero));
     if ($id != 0) {
         $descarga = anchor('formatos/descargar/RRET/' . $id, 'Imprimir');
     } else {
         $descarga = '';
     }
     $data['content'] = "<h1>Retiro realizado al cajero <b>{$cajero} - {$nombre}</b></h1>";
     $data['content'] .= '<p>por un monto de <b>' . nformat($monto) . '</b> ' . $descarga . '</p>';
     $data['content'] .= '<center>' . anchor('ventas/rret', 'Regresar') . '</center>';
     $data['title'] = '<h1>Retiros de Cajero</h1>';
     $data['head'] = $this->rapyd->get_head();
     $this->load->view('view_ventanas', $data);
 }
Ejemplo n.º 9
0
 function tabla($id = 0)
 {
     $id = intval($id);
     $transac = $this->datasis->dameval("SELECT transac FROM ssal WHERE id='{$id}'");
     $salida = '';
     // Revisa formas de pago sfpa
     $mSQL = "SELECT * from gser WHERE transac='{$transac}' ";
     $query = $this->db->query($mSQL);
     if ($query->num_rows() > 0) {
         $salida .= "<br><table width='100%' border='1'>";
         $salida .= "<tr bgcolor='#e7e3e7'><td colspan='3'>Gasto</td></tr>";
         $salida .= "<tr bgcolor='#e7e3e7'><td>Tipo</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>";
         foreach ($query->result_array() as $row) {
             $salida .= '<tr>';
             $salida .= '<td>' . $row['tipo_doc'] . '</td>';
             $salida .= '<td>' . $row['numero'] . '</td>';
             $salida .= '<td align=\'right\'>' . nformat($row['totneto']) . '</td>';
             $salida .= '</tr>';
         }
         $salida .= "</table>";
     }
     // Cuentas por Cobrar
     $mSQL = "SELECT * FROM otin WHERE transac='{$transac}' ";
     $query = $this->db->query($mSQL);
     $saldo = 0;
     if ($query->num_rows() > 0) {
         $salida .= "<br><table width='100%' border=1>";
         $salida .= "<tr bgcolor='#e7e3e7'><td colspan=3>Otros Ingresos</td></tr>";
         $salida .= "<tr bgcolor='#e7e3e7'><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>";
         $i = 1;
         foreach ($query->result_array() as $row) {
             $salida .= '<tr>';
             $salida .= '<td>' . $row['tipo_doc'] . '</td>';
             $salida .= '<td>' . $row['numero'] . '</td>';
             $salida .= "<td align='right'>" . nformat($row['totalg']) . '</td>';
             $salida .= '</tr>';
         }
         $salida .= '</table>';
     }
     $query->free_result();
     echo $salida;
 }
Ejemplo n.º 10
0
    function formacierre()
    {
        $id = $this->uri->segment($this->uri->total_segments());
        $reg = $this->datasis->damereg("SELECT a.numero, a.fecha, a.monto, a.codbanc, a.envia, b.banco, a.efectivo, a.cheques FROM bcaj a JOIN banc b ON a.codbanc=b.codbanc WHERE a.id={$id}");
        $salida = '';
        if (empty($reg)) {
            echo "Error Leyendo Tabla ::SELECT a.numero, a.fecha, a.monto, a.codbanc, a.envia, b.banco, a.efectivo, a.cheques FROM bcaj a JOIN banc b ON a.codbanc=b.codbanc WHERE a.id={$id}";
            return;
        }
        if ($reg['cheques'] > 0) {
            $salida = '
<script type="text/javascript">
	jQuery("#aceptados").jqGrid({
		datatype: "local",
		height: 190,
		colNames:["id","Banco","Numero","Cuenta", "Monto"],
		colModel:[
			{name:"id",     index:"id",     width:10, hidden:true},
			{name:"banco",  index:"banco",  width:40},
			{name:"numero", index:"numero", width:90},
			{name:"cuenta", index:"cuenta", width:150},
			{name:"monto",  index:"monto",  width:80, align:"right"},
		],
		multiselect: true,
		onSelectRow: sumadepo,
		onSelectAll: sumadepo
	});

	var mcheques = [
';
            $mSQL = "SELECT id, banco, num_ref, cuentach, monto FROM sfpa WHERE deposito='" . $reg['numero'] . "'";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                foreach ($query->result() as $row) {
                    $salida .= '{id:"' . $row->id . '",';
                    $salida .= 'banco:"' . $row->banco . '",';
                    $salida .= 'numero:"' . $row->num_ref . '",';
                    $salida .= 'cuenta:"' . $row->cuentach . '",';
                    $salida .= 'monto:"' . $row->monto . '"},';
                }
            }
            $salida .= '
	];
	for(var i=0;i<=mcheques.length;i++) jQuery("#aceptados").jqGrid(\'addRowData\',i+1,mcheques[i]);

	$("#ffecha").datepicker({dateFormat:"dd/mm/yy"});

	function sumadepo()
        {
		var grid = jQuery("#aceptados");
		var s;
		var total = 0;
		var meco = "";
		var rowcells=new Array();
		s = grid.getGridParam(\'selarrrow\');
		$("#fsele").html("");
		if(s.length)
		{
			for(var i=0; i<s.length; i++)
			{
				var entirerow = grid.jqGrid(\'getRowData\',s[i]);
				total += Number(entirerow["monto"]);
				meco = meco+entirerow["id"]+",";
			}
			total = Math.round(total*100)/100;
			$("#grantotal").html(nformat(total,2));
			$("input#fsele").val(meco);
			$("input#fmonto").val(total);
			montotal = total;
		} else {
			total = 0;
			$("#grantotal").html(" "+nformat(total,2));
			$("input#fsele").val("");
			$("input#fmonto").val(total);
			montotal = total;
		}
	};

</script>
	<p class="validateTips"></p>
	<h1 style="text-align:center">Cierre de Deposito Nro. ' . $reg['numero'] . '</h1>
	<p style="text-align:center;font-size:12px;">Fecha: ' . $reg['fecha'] . ' Banco: ' . $reg['codbanc'] . ' ' . $reg['banco'] . '</p>
	<form id="cierreforma">
	<table width="80%" align="center"><tr>
		<td  class="CaptionTD" align="right">Numero</td>
		<td><input type="text" name="fdeposito" id="fdeposito" class="text ui-widget-content ui-corner-all" maxlengh="12" size="12" value="" /></td>
		<td  class="CaptionTD"  align="right">Fecha</td>
		<td>&nbsp;<input name="ffecha" id="ffecha" type="text" value="' . date('d/m/Y') . '" maxlengh="10" size="10"  /></td>
	</tr></table>
	<input id="fmonto"   name="fmonto"   type="hidden">
	<input id="fsele"    name="fsele"    type="hidden">
	<input id="fnumbcaj" name="fnumbcaj" type="hidden" value="' . $reg['numero'] . '">
	<input id="fid"      name="fid"      type="hidden" value="' . $id . '">
	<input id="ftipo"    name="ftipo"    type="hidden" value="C">
	</form>
	<br>
	<center><table id="aceptados"><table></center>
	<table width="80%">
	<td>Monto en Transito: <div style="font-size:20px;font-weight:bold">' . nformat($reg['monto']) . '</div></td><td>
	Depositado:<div id="grantotal" style="font-size:20px;font-weight:bold">0.00</div>
	</td></table>

	';
        } elseif ($reg['efectivo'] > 0) {
            //////////////////////////////////////////////////////////////////
            //           DEPOSITOS EFECTIVO
            //
            $salida = '
<script type="text/javascript">
	$("#ffecha").datepicker({dateFormat:"dd/mm/yy"});
</script>
	<p class="validateTips"></p>
	<h1 style="text-align:center">Cierre de Deposito Nro. ' . $reg['numero'] . '</h1>
	<p style="text-align:center;font-size:12px;">Fecha: ' . $reg['fecha'] . ' Banco: ' . $reg['codbanc'] . ' ' . $reg['banco'] . '</p>
	<form id="cierreforma">
	<table width="80%" align="center">
	<tr>
		<td  class="CaptionTD" align="right">Numero</td>
		<td><input type="text" name="fdeposito" id="fdeposito" class="text ui-widget-content ui-corner-all" maxlengh="12" size="12" value="" /></td>
		<td  class="CaptionTD"  align="right">Fecha</td>
		<td>&nbsp;<input name="ffecha" id="ffecha" type="text" value="' . date('d/m/Y') . '" maxlengh="10" size="10"  /></td>
	</tr>
	</table>
	<input id="fmonto"   name="fmonto"   type="hidden" value="' . $reg['monto'] . '">
	<input id="fnumbcaj" name="fnumbcaj" type="hidden" value="' . $reg['numero'] . '">
	<input id="fsele"    name="fsele"    type="hidden" valus="">
	<input id="fid"      name="fid"      type="hidden" value="' . $id . '">
	<input id="ftipo"    name="ftipo"    type="hidden" value="E">
	</form>
	<br>
	<table width="80%">
		<tr>
		<td align="right">Monto en Efectivo: </td><td style="font-size:20px;font-weight:bold">' . nformat($reg['monto']) . '</td>
		</tr>
	</table>

	';
        }
        echo $salida;
    }
Ejemplo n.º 11
0
 function tabla()
 {
     $id = $this->uri->segment($this->uri->total_segments());
     $row = $this->datasis->damereg("SELECT clipro, tipo_op, numero, estampa, transac FROM bmov WHERE id={$id}");
     $transac = $row['transac'];
     $numero = $row['numero'];
     $tipo_doc = $row['tipo_op'];
     $estampa = $row['estampa'];
     $td1 = "<td style='border-style:solid;border-width:1px;border-color:#78FFFF;' valign='top' align='center'>\n";
     $td1 .= "<table width='98%'>\n<caption style='background-color:#5E352B;color:#FFFFFF;font-style:bold'>";
     $mSQL = "SELECT cod_prv, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos\n\t\t\tFROM sprm WHERE transac='{$transac}' ORDER BY cod_prv ";
     $query = $this->db->query($mSQL);
     $codcli = 'XXXXXXXXXXXXXXXX';
     $salida = '<table width="100%"><tr>';
     $saldo = 0;
     if ($query->num_rows() > 0) {
         $salida .= $td1;
         $salida .= "Movimiento en Proveedores</caption>";
         $salida .= "<tr bgcolor='#E7E3E7'><td>Nombre</td><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>";
         foreach ($query->result_array() as $row) {
             if ($row['tipo_doc'] == 'FC') {
                 $saldo = $row['monto'] - $row['abonos'];
             }
             $salida .= "<tr>";
             $salida .= "<td>" . $row['cod_prv'] . '-' . $row['nombre'] . "</td>";
             $salida .= "<td>" . $row['tipo_doc'] . "</td>";
             $salida .= "<td>" . $row['numero'] . "</td>";
             $salida .= "<td align='right'>" . nformat($row['monto']) . "</td>";
             $salida .= "</tr>";
         }
         $salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : " . nformat($saldo) . "</td></tr>";
         $salida .= "</table></td>";
     }
     $mSQL = "SELECT cod_cli, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos\n\t\t\tFROM smov WHERE transac='{$transac}' ORDER BY cod_cli ";
     $query = $this->db->query($mSQL);
     $codcli = 'XXXXXXXXXXXXXXXX';
     $saldo = 0;
     if ($query->num_rows() > 0) {
         $salida .= $td1;
         $salida .= "Movimiento en Clientes</caption>";
         $salida .= "<tr bgcolor='#e7e3e7'><td>Nombre</td><td>Tp</td><td align='center'>N&uacute;mero</td><td align='center'>Monto</td></tr>";
         foreach ($query->result_array() as $row) {
             if ($row['tipo_doc'] == 'FC') {
                 $saldo = $row['monto'] - $row['abonos'];
             }
             $salida .= "<tr>";
             $salida .= "<td>" . $row['cod_cli'] . '-' . $row['nombre'] . "</td>";
             $salida .= "<td>" . $row['tipo_doc'] . "</td>";
             $salida .= "<td>" . $row['numero'] . "</td>";
             $salida .= "<td align='right'>" . nformat($row['monto']) . "</td>";
             $salida .= "</tr>";
         }
         //$salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : ".nformat($saldo). "</td></tr>";
         $salida .= "</table></td>";
     }
     echo $salida . '</tr></table>';
 }
Ejemplo n.º 12
0
 function tabla()
 {
     $id = $this->uri->segment($this->uri->total_segments());
     $dbid = $this->db->escape($id);
     $transac = $this->datasis->dameval("SELECT transac FROM gser WHERE id={$dbid}");
     $dbtransac = $this->db->escape($transac);
     $mSQL = "SELECT cod_prv, MID(CONCAT(TRIM(cod_prv),' ',nombre),1,25) nombre, tipo_doc, numero, monto, abonos FROM sprm WHERE transac={$dbtransac} ORDER BY cod_prv";
     $query = $this->db->query($mSQL);
     $codprv = 'XXXXXXXXXXXXXXXX';
     $salida = '';
     $saldo = 0;
     $tercero = $this->datasis->dameval('SELECT COUNT(*) FROM gser WHERE tercero!="" AND id=' . $dbid);
     if ($query->num_rows() > 0) {
         if ($tercero > 0) {
             $tislr = $this->datasis->dameval('SELECT COUNT(*) FROM gereten WHERE tercero!="" AND idd=' . $dbid);
             if ($tislr > 0) {
                 $salida = '<button onclick="impislr()" style="width:100%;font-size:12pt;background:#0099FF;" >Retencion ISLR a Terceros </button>';
             } else {
                 $salida = '';
             }
             $salida = '<button onclick="teriva()" style="width:100%;font-size:12pt;background:#00FF00;" >Retencion IVA a Terceros </button>';
         }
         $salida .= '<br><table width=\'100%\' border=\'1\'>';
         $salida .= '<tr bgcolor=\'#e7e3e7\'><td>Tp</td><td align=\'center\'>Numero</td><td align=\'center\'>Monto</td></tr>';
         foreach ($query->result_array() as $row) {
             if ($codprv != $row['cod_prv']) {
                 $codprv = $row['cod_prv'];
                 $salida .= '<tr bgcolor=\'#c7d3c7\'>';
                 $salida .= '<td colspan=\'4\'>' . trim($row['nombre']) . '</td>';
                 $salida .= '</tr>';
             }
             if ($row['tipo_doc'] == 'FC') {
                 $saldo = $row['monto'] - $row['abonos'];
             }
             $salida .= '<tr>';
             $salida .= '<td>' . $row['tipo_doc'] . '</td>';
             $salida .= '<td>' . $row['numero'] . '</td>';
             $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
             $salida .= '</tr>';
         }
         $salida .= '<tr bgcolor=\'#d7c3c7\'><td colspan=\'4\' align=\'center\'>Saldo : ' . nformat($saldo) . '</td></tr>';
         $salida .= '</table>';
     }
     $mSQL = "SELECT codbanc, banco, tipo_op tipo_doc, numero, monto FROM bmov WHERE transac={$dbtransac} ORDER BY codbanc";
     $query = $this->db->query($mSQL);
     $salida .= "\n";
     if ($query->num_rows() > 0) {
         $salida .= '<br><table width=\'100%\' border=\'1\'>';
         $salida .= '<tr bgcolor=\'#e7e3e7\'><td>Tp</td><td align=\'center\'>Banco</td><td align=\'center\'>Monto</td></tr>';
         foreach ($query->result_array() as $row) {
             $salida .= '<tr>';
             $salida .= '<td>' . $row['codbanc'] . '</td>';
             $salida .= '<td>' . $row['banco'] . '</td>';
             $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
             $salida .= '</tr>';
         }
         $salida .= '</table>';
     }
     echo $salida;
 }
Ejemplo n.º 13
0
 function formato($id)
 {
     $this->load->plugin('numletra');
     $sel = array('a.numero', 'a.reserva', 'a.fecha', 'b.nombre', 'b.rifci', 'a.formap1', 'a.banco1', 'a.nummp1', 'a.pfecha1', 'a.formap2', 'a.banco2', 'a.nummp2', 'a.pfecha2', 'a.formap3', 'a.banco3', 'a.nummp3', 'a.pfecha3', 'CONCAT(b.dire11,b.dire12) AS direc', 'b.telefono', 'c.codigo AS inmueble', 'd.descripcion AS ubicacion', 'e.uso');
     $this->db->select($sel);
     $this->db->from('edres AS a');
     $this->db->join('scli AS b', 'a.cliente=b.cliente');
     $this->db->join('edinmue AS c', 'c.id=a.inmueble');
     $this->db->join('edifubica AS d', 'd.id=c.ubicacion');
     $this->db->join('eduso AS e', 'e.id=c.uso');
     $this->db->where('a.id', $id);
     $query = $this->db->get();
     //echo $this->db->last_query();
     if ($query->num_rows() > 0) {
         foreach ($query->result() as $row) {
             $data = array();
             $data['numero'] = $row->numero;
             $data['fecha'] = dbdate_to_human($row->fecha);
             $data['monto'] = nformat($row->reserva);
             $data['montolet'] = strtoupper(numletra($row->reserva));
             $data['nom_scli'] = $row->nombre;
             $data['rif_scli'] = $row->rifci;
             $data['direc_scli'] = $row->direc;
             $data['telef_scli'] = $row->telefono;
             $data['inmueble'] = $row->inmueble;
             $data['ubicacion'] = $row->ubicacion;
             $data['uso'] = $row->uso;
             $data['fpagos'] = '';
             for ($i = 1; $i < 4; $i++) {
                 $pago = 'pago' . $i;
                 $formap = 'formap' . $i;
                 $pfecha = 'pfecha' . $i;
                 $banco = 'banco' . $i;
                 $nummp = 'nummp' . $i;
                 $banco = 'banco' . $i;
                 $data[$pago] = '';
                 if (!empty($row->{$formap})) {
                     if ($row->{$formap} == 'CH') {
                         $data[$pago] .= 'Cheque';
                     } elseif ($row->{$formap} == 'DE') {
                         $data[$pago] .= 'Depósito';
                     } elseif ($row->{$formap} == 'NC') {
                         $data[$pago] .= 'Transferencia';
                     }
                     $dbcodbanc = $this->db->escape($row->{$banco});
                     $nombanc = $this->datasis->dameval("SELECT nomb_banc FROM tban WHERE cod_banc={$dbcodbanc}");
                     $data[$pago] .= ' del Banco ';
                     $data[$pago] .= ucwords($nombanc);
                     $data[$pago] .= ', Número ' . $row->{$nummp};
                     $data[$pago] .= ' de fecha ' . dbdate_to_human($row->{$pfecha}) . '.';
                 } else {
                     $data[$pago] = '';
                 }
             }
             formams::_msxml('reservacion', $data);
         }
     }
 }
Ejemplo n.º 14
0
 function tabla()
 {
     $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;
     $cliente = $this->datasis->dameval("SELECT cod_cli FROM snot WHERE id='{$id}'");
     $mSQL = "SELECT cod_cli, MID(nombre,1,25) nombre, tipo_doc, numero, monto, abonos FROM smov WHERE cod_cli='{$cliente}' AND abonos<>monto AND tipo_doc<>'AB' ORDER BY fecha ";
     $query = $this->db->query($mSQL);
     $salida = '';
     $saldo = 0;
     if ($query->num_rows() > 0) {
         $salida = "<br><table width='100%' border=1>";
         $salida .= "<tr bgcolor='#e7e3e7'><td colspan=3>Movimiento en Cuentas X Cobrar</td></tr>";
         $salida .= "<tr bgcolor='#e7e3e7'><td>Tp</td><td align='center'>Numero</td><td align='center'>Monto</td></tr>";
         foreach ($query->result_array() as $row) {
             $salida .= "<tr>";
             $salida .= "<td>" . $row['tipo_doc'] . "</td>";
             $salida .= "<td>" . $row['numero'] . "</td>";
             $salida .= "<td align='right'>" . nformat($row['monto'] - $row['abonos']) . "</td>";
             $salida .= "</tr>";
             if ($row['tipo_doc'] == 'FC' or $row['tipo_doc'] == 'ND' or $row['tipo_doc'] == 'GI') {
                 $saldo += $row['monto'] - $row['abonos'];
             } else {
                 $saldo -= $row['monto'] - $row['abonos'];
             }
         }
         $salida .= "<tr bgcolor='#d7c3c7'><td colspan='4' align='center'>Saldo : " . nformat($saldo) . "</td></tr>";
         $salida .= "</table>";
     }
     $query->free_result();
     echo $salida;
 }
Ejemplo n.º 15
0
    function index()
    {
        $this->rapyd->load('datafilter', 'datagrid');
        $link = site_url('supervisor/sfacfiscal/arreglaserial');
        $linkd = site_url('supervisor/sfacfiscal/arreglaserialdev');
        $link2 = site_url('supervisor/sfacfiscal/arreglanfiscal');
        $link4 = site_url('supervisor/sfacfiscal/arreglanfiscaldev');
        $link3 = site_url('supervisor/sfacfiscal/traereferen');
        $jquery = '
		function riega(id){
			if(confirm("Esta seguro que regar el serial para las facturas?")){
				if(confirm("Desea cambiar solo los registros vacios?"))
					resp=0;
				else
					resp=1;
				$.post("' . $link . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), serial:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()},
				function(data){
					alert(data);
				});
			}
		}

		function riegadev(id){
			if(confirm("Esta seguro que regar el serial por las devoluciones?")){
				if(confirm("Desea cambiar solo los registros vacios?"))
					resp=0;
				else
					resp=1;
				$.post("' . $linkd . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), serial:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()},
				function(data){
					alert(data);
				});
			}
		}

		function nfiscal(id){
			if(confirm("Esta seguro que regar el numero fiscal?")){
				if(confirm("Desea cambiar solo los registros vacios?"))
					resp=0;
				else
					resp=1;
				$.post("' . $link2 . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), numero:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()},
				function(data){
					alert(data);
				});
			}
		}

		function nfiscaldev(id){
			if(confirm("Esta seguro que regar el numero fiscal?")){
				if(confirm("Desea cambiar solo los registros vacios?"))
					resp=0;
				else
					resp=1;
				$.post("' . $link4 . '",{ cajero:$("#cajero").val(),fecha:$("#fecha").val(), numero:id ,noresp:resp, nulos:$("#nulos").val(),usuario:$("#usuario").val()},
				function(data){
					alert(data);
				});
			}
		}


		function buscaref(){
			referenc = prompt("Introduce una referencia");
			$.post("' . $link3 . '",{ referen: referenc },
			function(data){
				alert(data);
			});
		}';
        function exissinv($cen, $t, $tipo_doc)
        {
            if (!empty($cen)) {
                if ($t == 1) {
                    if ($tipo_doc == 'F') {
                        $rt = form_button('asignar', $cen, 'onclick="riega(\'' . $cen . '\');"');
                    } else {
                        $rt = form_button('asignar', $cen, 'onclick="riegadev(\'' . $cen . '\');"');
                    }
                } else {
                    if ($tipo_doc == 'F') {
                        $rt = form_button('asignar', $cen, 'onclick="nfiscal(\'' . $cen . '\');"');
                    } else {
                        $rt = form_button('asignar', $cen, 'onclick="nfiscaldev(\'' . $cen . '\');"');
                    }
                }
            } else {
                $rt = '--';
            }
            return $rt;
        }
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '0', 'screeny' => '0');
        $filter = new DataFilter('', 'sfac');
        //$filter->db->where('tipo_doc','F');
        $filter->script($jquery);
        $filter->fecha = new dateonlyField('Desde', 'fecha');
        $filter->fecha->clause = 'where';
        $filter->fecha->db_name = 'fecha';
        $filter->fecha->insertValue = date('Y-m-d');
        $filter->fecha->operator = '=';
        $filter->fecha->rule = 'required|chfecha';
        $filter->fecha->append("<a onclick='buscaref()'>Traer de referencia</a>");
        $filter->cajero = new dropdownField('Cajero', 'cajero');
        $filter->cajero->option('', 'Seleccionar');
        $filter->cajero->option(' ', 'Creditos');
        $filter->cajero->options('SELECT cajero, CONCAT_WS("-",cajero,nombre) FROM scaj ORDER BY cajero');
        $filter->usuario = new dropdownField('Usuario', 'usuario');
        $filter->usuario->option('', 'Todos');
        $filter->usuario->options('SELECT us_codigo AS cod,us_codigo FROM usuario ORDER BY us_codigo');
        $filter->usuario->rule = 'condi_required|callback_chusuario';
        $filter->tipo_doc = new dropdownField('Tipo Doc.', 'tipo_doc');
        $filter->tipo_doc->option('F', 'Facturas');
        $filter->tipo_doc->option('D', 'Devoluciones');
        $filter->tipo_doc->rule = 'required|enum[D,F]';
        $filter->nulos = new dropdownField('Filtrar seriales nulos', 'nulos');
        $filter->nulos->option('s', 'Si');
        $filter->nulos->option('n', 'No');
        $filter->nulos->clause = '';
        $filter->nulos->group = 'No afecta el filtro';
        $filter->nulos->append('Si se activa esta opcion no se riega el n&uacute;mero en los campos donde el serial de la m&aacute;quina fiscal es nulo');
        $filter->nulos->rule = 'enum[s,n]';
        $filter->buttons('reset', 'search');
        $filter->build();
        if ($this->rapyd->uri->is_set('search') && $filter->is_valid()) {
            $fecha = $filter->fecha->newValue;
            $dbfecha = $this->db->escape($fecha);
            $fields = $this->db->field_data('sfac');
            $ppk = array();
            foreach ($fields as $field) {
                if ($field->primary_key == 1) {
                    $ppk[] = '<#' . $field->name . '#>';
                }
            }
            $llink = anchor('supervisor/sfacfiscal/editsfac/modify/' . implode('/', $ppk), '<#tipo_doc#><#numero#>');
            $uri2 = anchor_popup('formatos/verhtml/FACTURA/<#tipo_doc#>/<#numero#>', 'Ver HTML', $atts);
            $grid = new DataGrid('');
            $grid->use_function('exissinv');
            $grid->per_page = 30;
            $grid->db->orderby('numero');
            $grid->column('Fecha', '<dbdate_to_human><#fecha#></dbdate_to_human>', 'fecha');
            $grid->column('Nombre', 'nombre');
            $grid->column('Referencia', $llink);
            $grid->column('Usuario', 'usuario');
            $grid->column('Cajero', 'cajero');
            $grid->column('Monto', '<nformat><#totalg#></nformat>', 'align="right"');
            $grid->column('N.Fiscal', '<exissinv><#nfiscal#>|2|<#tipo_doc#></exissinv>', 'align="center"');
            $grid->column('Serial Maq.', '<exissinv><#maqfiscal#>|1|<#tipo_doc#></exissinv>', 'align="center"');
            $grid->column('Ver factura', $uri2, 'align="center"');
            $grid->build();
            //echo $grid->db->last_query();
            $mSQL = $grid->db->last_query();
            $mSQL = str_replace('*', 'SUM(totalg)', $mSQL);
            $corte = stripos($mSQL, 'ORDER');
            if ($corte !== false) {
                $mSQL = substr($mSQL, 0, $corte);
            }
            $monto = $this->datasis->dameval($mSQL);
            $tabla = 'Monto: ' . nformat($monto) . $grid->output;
            $mSQL = 'SELECT COUNT(*) AS cana,serial, MAX(factura) AS factura,MAX(ncnumero) AS ncnumero,SUM(exento+base+iva+base1+iva1+base2+iva2-ncexento-ncbase-nciva-ncbase1-nciva1-ncbase2-nciva2) AS total FROM fiscalz WHERE fecha=' . $dbfecha . ' GROUP BY serial';
            $query = $this->db->query($mSQL);
            foreach ($query->result() as $row) {
                $tabla .= $row->serial . ' x' . $row->cana . ' - F' . $row->factura . ' - D' . $row->ncnumero . ' - ' . nformat($row->total) . br();
            }
        } else {
            $tabla = '<div class="alert">' . $filter->error_string . '</div>';
        }
        //if(strlen($filter->error_string)) $data['error']=$filter->error_string;
        $data['content'] = $filter->output . $tabla;
        $data['title'] = '<h1>Arreglos de consistencias fiscal en facturas</h1>';
        $data['head'] = $this->rapyd->get_head() . script('jquery.js');
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 16
0
    function gserchipros($codbanc = null)
    {
        if (empty($codbanc)) {
            show_error('Faltan par&aacute;metros');
        }
        $dbcodbanc = $this->db->escape($codbanc);
        $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc;
        $r = $this->datasis->damerow($mSQL);
        if ($r['cana'] == 0) {
            show_error('Caja sin gastos');
        }
        $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $nombre = $row->nombre;
            $codprv = $row->codprv;
        } else {
            $nombre = $codprv = '';
        }
        $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a';
        $query = $this->db->query($sql);
        $comis = array();
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $ind = '_' . $row->codbanc;
                $comis[$ind]['tbanco'] = $row->tbanco;
            }
        }
        $json_comis = json_encode($comis);
        $this->rapyd->load('dataform', 'datagrid');
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'C&oacute;digo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor');
        $bsprv = $this->datasis->modbus($modbus);
        $script = 'var comis = ' . $json_comis . ';
		
		$(document).ready(function() {
			desactivacampo("");
		});
		
		function desactivacampo(codb1){
			if(codb1.length>0 && codb1!="' . $this->mcred . '"){
				eval("tbanco=comis._"+codb1+".tbanco;"  );
				if(tbanco=="CAJ"){
					$("#cheque").attr("disabled","disabled");
					$("#benefi").attr("disabled","disabled");
				}else{
					$("#cheque").removeAttr("disabled");
					$("#benefi").removeAttr("disabled");
				}
			}else{
				$("#cheque").attr("disabled","disabled");
				$("#benefi").attr("disabled","disabled");
			}
		}';
        $form = new DataForm('finanzas/gser/gserchipros/' . $codbanc . '/process');
        $form->title("N&uacute;mero de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b>');
        $form->script($script);
        $form->codprv = new inputField('Proveedor', 'codprv');
        $form->codprv->rule = 'required';
        $form->codprv->insertValue = $codprv;
        $form->codprv->size = 5;
        $form->codprv->append($bsprv);
        $form->nombre = new inputField('Nombre', 'nombre');
        $form->nombre->rule = 'required';
        $form->nombre->insertValue = $nombre;
        $form->nombre->in = 'codprv';
        $form->cargo = new dropdownField('Con cargo a', 'cargo');
        $form->cargo->option($this->mcred, 'Cr&eacute;dito');
        $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' ORDER BY codbanc");
        $form->cargo->onchange = 'desactivacampo(this.value)';
        $form->cargo->rule = 'max_length[5]|required';
        $form->cheque = new inputField('N&uacute;mero de cheque', 'cheque');
        $form->cheque->rule = 'condi_required|callback_chobligaban';
        $form->cheque->append('Aplica  solo si el cargo es a un banco');
        $form->benefi = new inputField('Beneficiario', 'benefi');
        $form->benefi->insertValue = $nombre;
        $form->benefi->rule = 'condi_required|callback_chobligaban';
        $form->benefi->append('Aplica  solo si el cargo es a un banco');
        $action = "javascript:window.location='" . site_url('finanzas/gser/cierregserchi/' . $codbanc) . "'";
        $form->button('btn_regresa', 'Regresar', $action, 'BR');
        $form->submit('btnsubmit', 'Procesar');
        $form->build_form();
        $grid = new DataGrid('Lista de Gastos', 'gserchi');
        $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc');
        $grid->db->select($select);
        $grid->db->where('aceptado', 'S');
        $grid->db->where('ngasto IS NULL');
        $grid->db->where('codbanc', $codbanc);
        $grid->order_by('numfac', 'desc');
        $grid->per_page = 15;
        $grid->column('Caja', 'codbanc');
        $grid->column('N&uacute;mero', 'numfac');
        $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\'');
        $grid->column('Proveedor', 'proveedor');
        $grid->column('IVA', 'totiva', 'align=\'right\'');
        $grid->column('Monto', 'totneto', 'align=\'right\'');
        //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura');
        $grid->build();
        if ($form->on_success()) {
            $codprv = $form->codprv->newValue;
            $cargo = $form->cargo->newValue;
            $nombre = $form->nombre->newValue;
            $benefi = $form->benefi->newValue;
            $cheque = $form->cheque->newValue;
            $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque);
            //var_dump($rt);
            if ($rt) {
                redirect('finanzas/gser/listo/n');
            } else {
                redirect('finanzas/gser/listo/s');
            }
        }
        $data['content'] = $form->output . $grid->output;
        $data['title'] = heading('Reposici&oacute;n de caja chica ' . $codbanc);
        $data['head'] = $this->rapyd->get_head() . script('jquery.js');
        $data['head'] .= phpscript('nformat.js');
        $this->load->view('view_ventanas', $data);
    }
Ejemplo n.º 17
0
 function build()
 {
     if (!isset($this->size)) {
         $this->size = 45;
     }
     $this->_getValue();
     $output = '';
     switch ($this->status) {
         case 'disabled':
         case 'show':
             if (!isset($this->value)) {
                 $output = RAPYD_FIELD_SYMBOL_NULL;
             } elseif ($this->value == '') {
                 $output = '';
             } else {
                 if (substr_count($this->showformat, 'decimal') > 0) {
                     $output = nformat($this->value);
                 } else {
                     $output = nl2br(htmlspecialchars($this->value));
                 }
             }
             break;
         case 'create':
         case 'modify':
             if ($this->type == 'inputhidden') {
                 $t = 'hidden';
             } else {
                 $t = $this->type;
             }
             $value = $this->type == 'password' ? '' : $this->value;
             $attributes = array('name' => $this->name, 'id' => $this->name, 'type' => $t, 'value' => $value, 'class' => $this->css_class, 'size' => $this->size, 'style' => $this->style);
             if (strlen($this->maxlength) > 0) {
                 $attributes['maxlength'] = $this->maxlength;
             }
             if (strlen($this->title) > 0) {
                 $attributes['title'] = $this->title;
             }
             if (strlen($this->onclick) > 0) {
                 $attributes['onclick'] = $this->onclick;
             }
             if (strlen($this->onchange) > 0) {
                 $attributes['onchange'] = $this->onchange;
             }
             if (isset($this->onfocus)) {
                 $attributes['onfocus'] = $this->onfocus;
             }
             if (isset($this->onkeyup)) {
                 $attributes['onkeyup'] = $this->onkeyup;
             }
             if (!empty($this->tabindex)) {
                 $attributes['tabindex'] = $this->tabindex;
             }
             if ($this->readonly) {
                 $attributes['readonly'] = 'readonly';
             }
             if ($this->disable_paste) {
                 $attributes['onpaste'] = 'return false;';
             }
             if (!$this->autocomplete) {
                 $attributes['autocomplete'] = 'off';
             }
             $output = form_input($attributes) . $this->extra_output;
             if ($this->type == 'inputhidden') {
                 if (substr_count($this->showformat, 'decimal') > 0) {
                     $val = nformat($this->value);
                 } else {
                     $val = $this->value;
                 }
                 $output .= '<span id=\'' . $this->name . '_val\'>' . $val . '</span>';
             }
             break;
         case 'hidden':
             $attributes = array('name' => $this->name, 'id' => $this->name, 'type' => 'hidden', 'value' => $this->value);
             $output = form_input($attributes) . $this->extra_output;
             break;
         default:
     }
     $this->output = "\n" . $output . "\n";
 }
Ejemplo n.º 18
0
    function dataedit()
    {
        $this->rapyd->load('dataedit');
        $link = site_url('finanzas/mgas/ultimo');
        $script = '
		function ultimo(){
			$.ajax({
				url: "' . $link . '",
				success: function(msg){
				  alert( "El ultimo codigo ingresado fue: " + msg );
			}
		});
		}

		function grupo(){
			t=$("#grupo").val();
			a=$("#grupo :selected").text();
			$("#nom_grup").val(a);
		}

		$(function() {
			$(".inputnum").numeric(".");
			$("#grupo").change(function(){
				t=$("#grupo").val();
				a=$("#grupo :selected").text();
				$("#nom_grup").val(a);
			}).change();
		});';
        $qformato = $this->datasis->formato_cpla();
        $mCPLA = array('tabla' => 'cpla', 'columnas' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'filtro' => array('codigo' => 'C&oacute;digo', 'descrip' => 'Descripci&oacute;n'), 'retornar' => array('codigo' => 'cuenta'), 'titulo' => 'Buscar Cuenta', 'where' => "codigo LIKE \"{$qformato}\"");
        $bcpla = $this->datasis->modbus($mCPLA);
        $atts = array('width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes', 'screenx' => '5', 'screeny' => '5');
        $edit = new DataEdit('Maestro de Gastos', 'mgas');
        $edit->script($script, 'create');
        $edit->script($script, 'modify');
        $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');
        $ultimo = '<a href="javascript:ultimo();" title="Consultar ultimo codigo ingresado" onclick="">Consultar ultimo codigo</a>';
        $edit->codigo = new inputField('C&oacute;digo', 'codigo');
        $edit->codigo->mode = 'autohide';
        $edit->codigo->size = 12;
        $edit->codigo->maxlength = 6;
        $edit->codigo->rule = 'trim|required||alpha_numeric|strtoupper|callback_chexiste';
        $edit->codigo->append($ultimo);
        $edit->descrip = new inputField('Descripci&oacute;n', 'descrip');
        $edit->descrip->size = 30;
        $edit->tipo = new dropdownField('Tipo', 'tipo');
        $edit->tipo->style = 'width:100px;';
        $edit->tipo->option('G', 'Gasto');
        $edit->tipo->option('I', 'Inventario');
        $edit->tipo->option('S', 'Suministro');
        $edit->tipo->option('A', 'Activo Fijo');
        $edit->grupo = new dropdownField('Grupo', 'grupo');
        $edit->grupo->options('SELECT grupo, CONCAT(grupo," - ",nom_grup) nom_grup from grga order by nom_grup');
        $edit->grupo->style = "width:200px;";
        $lcuent = anchor_popup("/contabilidad/cpla/dataedit/create", image('list_plus.png', 'Agregar', array("border" => "0")), $atts);
        $edit->cuenta = new inputField("Cta. Contable", "cuenta");
        $edit->cuenta->size = 12;
        $edit->cuenta->maxlength = 15;
        $edit->cuenta->rule = 'trim|existecpla';
        $edit->cuenta->append($bcpla);
        //$edit->cuenta->append($lcuent);
        //$edit->cuenta->readonly=true;
        $lcuent = anchor_popup("/contabilidad/cpla/dataedit/create", image('list_plus.png', 'Agregar', array("border" => "0")), $atts);
        $edit->ctarein = new inputField("Cta. Reintegro", "ctarein");
        $edit->ctarein->size = 12;
        $edit->ctarein->maxlength = 15;
        $edit->ctarein->rule = 'trim|existecpla';
        $edit->ctarein->append($bcpla);
        //$edit->ctarein->append($lcuent);
        $edit->ctarein->readonly = true;
        /*
        		$edit->iva = new inputField("IVA", "iva");
        		$edit->iva->css_class='inputnum';
        		$edit->iva->size =9;
        		$edit->iva->maxlength =5;
        		$edit->iva->rule ="trim";
        */
        $ivas = $this->datasis->ivaplica();
        $edit->iva = new dropdownField('IVA %', 'iva');
        foreach ($ivas as $tasa => $ivamonto) {
            $edit->iva->option($ivamonto, nformat($ivamonto));
        }
        $edit->iva->style = 'width:100px;';
        $edit->iva->insertValue = $ivas['tasa'];
        //$edit->iva->onchange='calculos(\'S\');';
        //$edit->medida    = new inputField("Unidad Medida", "medida");
        //$edit->medida->size = 5;
        $AddUnidad = '<a href="javascript:add_unidad();" title="Haz clic para Agregar una unidad nueva">' . image('list_plus.png', 'Agregar', array("border" => "0")) . '</a>';
        $edit->medida = new dropdownField('Medida', 'medida');
        $edit->medida->style = 'width:100px;';
        $edit->medida->option('', 'Seleccionar');
        $edit->medida->options('SELECT unidades, unidades AS valor FROM unidad ORDER BY unidades');
        $edit->medida->append($AddUnidad);
        $edit->fraxuni = new inputField('Cant. X Caja', 'fraxuni');
        $edit->fraxuni->css_class = 'inputnum';
        //no sirve
        $edit->fraxuni->group = 'Existencias';
        $edit->fraxuni->size = 5;
        $edit->ultimo = new inputField('Costo', 'ultimo');
        $edit->ultimo->css_class = 'inputnum';
        //no sirve
        $edit->ultimo->size = 9;
        $edit->promedio = new inputField('Promedio', 'promedio');
        $edit->promedio->css_class = 'inputnum';
        //no sirve
        $edit->promedio->size = 9;
        $edit->minimo = new inputField('M&iacute;nima', 'minimo');
        $edit->minimo->css_class = 'inputnum';
        //no sirve
        $edit->minimo->group = 'Existencias';
        $edit->minimo->size = 5;
        $edit->maximo = new inputField('M&aacute;xima', 'maximo');
        $edit->maximo->css_class = 'inputnum';
        //no sirve
        $edit->maximo->group = 'Existencias';
        $edit->maximo->size = 5;
        $edit->unidades = new inputField('Cajas', 'unidades');
        $edit->unidades->css_class = 'inputnum';
        //no sirve
        $edit->unidades->group = 'Existencias';
        $edit->unidades->size = 5;
        $edit->fraccion = new inputField('Fracci&oacute;nes', 'fraccion');
        $edit->fraccion->css_class = 'inputnum';
        //no sirve
        $edit->fraccion->group = 'Existencias';
        $edit->fraccion->size = 5;
        $edit->reten = new dropdownField('Natural.', 'reten');
        $edit->reten->option('', 'Ninguno');
        $edit->reten->options('SELECT codigo, CONCAT(codigo," - ",activida) val FROM rete WHERE tipo="NR" ORDER BY codigo');
        $edit->reten->style = 'width:220px;';
        $edit->retej = new dropdownField("Jur&iacute;dica.", "retej");
        $edit->retej->option('', 'Ninguno');
        $edit->retej->options('SELECT codigo, CONCAT(codigo," - ",activida) val FROM rete WHERE tipo="JD" ORDER BY codigo');
        $edit->retej->style = 'width:220px;';
        $codigo = $edit->_dataobject->get('codigo');
        $edit->almacenes = new containerField('almacenes', $this->_detalle($codigo));
        $edit->almacenes->when = array('show', 'modify');
        //$edit->buttons("modify", "save", "undo", "back");
        $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_mgas', $conten);
        }
    }
Ejemplo n.º 19
0
            ?>
'>
					<td class="littletablerow">              <?php 
            echo form_checkbox('chrecibo_' . $i, '', FALSE);
            ?>
&nbsp;</td>
					<td class="littletablerow">              <?php 
            echo $porcobrar[$i]['numero'];
            ?>
&nbsp;</td>
					<td class="littletablerow">              <?php 
            echo dbdate_to_human($porcobrar[$i]['fecha']);
            ?>
&nbsp;</td>
					<td class="littletablerow" align="right"><?php 
            echo nformat($porcobrar[$i]['monto']);
            ?>
&nbsp;</td>
					<td class="littletablerow"              ><?php 
            echo $porcobrar[$i]['nombre'];
            ?>
&nbsp;</td>
					<td class="littletablerow"              ><?php 
            echo $porcobrar[$i]['observa'];
            ?>
&nbsp;</td>
					</tr>
				<?php 
        }
        ?>
				
Ejemplo n.º 20
0
				<tr><td align='center'><b STYLE="font-size:8pt;color:red"> <?php 
    echo $descurazon;
    ?>
</td></tr>
				<?php 
} else {
    ?>
				<tr><td align='center'><b STYLE="font-size:18pt;color:black">I.V.A.: <?php 
    echo nformat($precio2 - $precio2 * 100 / (100 + $iva));
    ?>
</b><b><?php 
    echo $moneda;
    ?>
</b></td></tr>
				<tr><td align='center'><b STYLE="font-size:32pt;color:red">Precio con IVA : <?php 
    echo nformat($precio2);
    ?>
</b><b><?php 
    echo $moneda;
    ?>
</b></td></tr>
				<?php 
}
?>
				<?php 
if (isset($dvolum1) && $dvolum1 > 0) {
    ?>
				<tr><td align='right' colspan=2 ><b STYLE="font-size:20pt;color:green">+ de <?php 
    echo $dvolum1;
    ?>
 unidades: <?php 
Ejemplo n.º 21
0
 function chcananeg($val, $i)
 {
     $almacen = $this->input->post('envia');
     $codigo = $this->input->post('codigo_' . $i);
     $dbcodigo = $this->db->escape($codigo);
     $dbalmacen = $this->db->escape($almacen);
     $tipo = trim($this->datasis->dameval("SELECT tipo FROM sinv WHERE codigo={$dbcodigo}"));
     if (empty($tipo)) {
         $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no tiene existe');
         return false;
     }
     if ($tipo[0] == 'A' || $tipo[0] == 'F') {
         $gasto = trim($this->datasis->dameval('SELECT gasto FROM caub WHERE ubica=' . $dbalmacen));
         if ($gasto == 'S') {
             return true;
         }
         $mSQL = "SELECT SUM(a.existen) AS cana FROM itsinv AS a JOIN caub AS b ON a.alma=b.ubica WHERE a.codigo={$dbcodigo} AND b.ubica={$dbalmacen}";
         $existen = floatval($this->datasis->dameval($mSQL));
         $val = floatval($val);
         if ($val > $existen) {
             $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no tiene cantidad suficiente para transferirse (' . nformat($existen) . ')');
             return false;
         }
     } else {
         $this->validation->set_message('chcananeg', 'El producto ' . htmlspecialchars($codigo) . ' no se puede transferir por el tipo, solo se permite articulo y fraccion');
         return false;
     }
     return true;
 }
Ejemplo n.º 22
0
 function chlitros($litros, $ind)
 {
     $bufala = round(floatval($this->input->post('itbufala_' . $ind)), 2);
     $vaca = round(floatval($this->input->post('itlitros_' . $ind)), 2);
     $litros = $vaca + $bufala;
     $ruta = $this->input->post('codrut_' . $ind);
     $fecha = human_to_dbdate($this->input->post('fecha'));
     $id = $this->input->post('itid_' . $ind);
     if (!empty($id)) {
         $ww = 'AND a.id <> ' . $this->db->escape($id);
     } else {
         $ww = '';
     }
     $dbfecha = $this->db->escape($fecha);
     $dbruta = $this->db->escape($ruta);
     $usados = round($this->datasis->dameval("SELECT SUM(a.litros) FROM itlprod AS a JOIN lprod AS b ON a.id_lprod=b.id WHERE a.codrut={$dbruta} AND b.fecha={$dbfecha} {$ww}"), 2);
     $recibi = round($this->datasis->dameval("SELECT SUM(litros)   FROM lrece   WHERE ruta={$dbruta} AND fecha={$dbfecha}"), 2);
     $disponible = $recibi - $usados - $litros;
     if ($disponible < 0) {
         if ($recibi - $usados < 0) {
             $disponible = 0;
         } else {
             $disponible = $recibi - $usados;
         }
         $this->validation->set_message('chlitros', "No hay suficiente leche recibida de la ruta {$ruta} para producir, disponible: " . nformat(abs($disponible)));
         return false;
     } else {
         return true;
     }
 }
Ejemplo n.º 23
0
    function tabla($id = 0)
    {
        $id = intval($id);
        if ($id == 0) {
            return;
        }
        $salida = '';
        $rrow = $this->datasis->damerow('SELECT transac,cod_cli,reiva FROM rivc WHERE anulado="N" AND id=' . $id);
        if (!empty($rrow)) {
            $pago = 0;
            $reiva = floatval($rrow['reiva']);
            $dbtransac = $this->db->escape($rrow['transac']);
            $dbcod_cli = $this->db->escape($rrow['cod_cli']);
            $salida = '';
            //Revisa los reintegros por caja
            $mSQL = "SELECT codbanc, numero, monto FROM bmov WHERE transac={$dbtransac} AND codcp={$dbcod_cli}";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $salida .= '<br><table width=\'100%\' border=\'1\'>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Reintegro por caja</td></tr>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Caja</td><td align=\'center\'>N&uacute;mero</td><td align=\'center\'>Monto</td></tr>';
                foreach ($query->result_array() as $row) {
                    $salida .= '<tr>';
                    $salida .= '<td>' . $row['codbanc'] . '</td>';
                    $salida .= '<td>' . $row['numero'] . '</td>';
                    $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
                    $salida .= '</tr>';
                    $pago += floatval($row['monto']);
                }
                $salida .= '</table>';
            }
            //Revisa si tiene anticipos
            $mSQL = "SELECT tipo_doc, numero, monto FROM smov WHERE transac={$dbtransac} AND cod_cli={$dbcod_cli} AND tipo_doc='AN'";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $salida .= '<br><table width=\'100%\' border=\'1\'>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Anticipo</td></tr>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Tipo</td><td align=\'center\'>N&uacute;mero</td><td align=\'center\'>Monto</td></tr>';
                foreach ($query->result_array() as $row) {
                    $salida .= '<tr>';
                    $salida .= '<td>' . $row['tipo_doc'] . '</td>';
                    $salida .= '<td>' . $row['numero'] . '</td>';
                    $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
                    $salida .= '</tr>';
                    $pago += floatval($row['monto']);
                }
                $salida .= '</table>';
            }
            //Revisa si tiene CxP
            $mSQL = "SELECT tipo_doc, numero, monto FROM sprm WHERE transac={$dbtransac} AND cod_prv='REINT' AND tipo_doc='ND'";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $salida .= '<br><table width=\'100%\' border=\'1\'>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Enviado a CxP</td></tr>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td>Tipo</td><td align=\'center\'>N&uacute;mero</td><td align=\'center\'>Monto</td></tr>';
                foreach ($query->result_array() as $row) {
                    $salida .= '<tr>';
                    $salida .= '<td>' . $row['tipo_doc'] . '</td>';
                    $salida .= '<td>' . $row['numero'] . '</td>';
                    $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
                    $salida .= '</tr>';
                    $pago += floatval($row['monto']);
                }
                $salida .= '</table>';
            }
            //Efectos cruzados
            $mSQL = "SELECT CONCAT('<b>',tipoccli,'</b>',numccli) AS apl, CONCAT('<b>',tipo_doc,'</b>',numero) AS efe, abono AS monto FROM itccli WHERE transac={$dbtransac} AND cod_cli={$dbcod_cli}";
            $query = $this->db->query($mSQL);
            if ($query->num_rows() > 0) {
                $salida .= '<br><table width=\'100%\' border=\'1\'>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td colspan=\'3\'>Efectos cruzados</td></tr>';
                $salida .= '<tr bgcolor=\'#E7E3E7\'><td>N&uacute;mero</td><td align=\'center\'>N&uacute;mero</td><td align=\'center\'>Monto</td></tr>';
                foreach ($query->result_array() as $row) {
                    $salida .= '<tr>';
                    $salida .= '<td>' . $row['apl'] . '</td>';
                    $salida .= '<td>' . $row['efe'] . '</td>';
                    $salida .= '<td align=\'right\'>' . nformat($row['monto']) . '</td>';
                    $salida .= '</tr>';
                }
                $salida .= '</table>';
            }
            //Arregla posibles problemas de incongruencias
            if ($this->secu->essuper()) {
                $mSQL = 'SELECT a.numero FROM itrivc a
				JOIN rivc   AS c ON a.idrivc = c.id
				LEFT JOIN smov b ON a.transac=b.transac AND a.numero=b.num_ref
				WHERE a.transac=' . $dbtransac . ' AND b.cod_cli IS NULL AND c.anulado=\'N\'';
                $query = $this->db->query($mSQL);
                if ($query->num_rows() > 0) {
                    foreach ($query->result_array() as $row) {
                        $numero = $row['numero'];
                        if ($pago == 0) {
                            $mnumnc = 'I' . $this->datasis->fprox_numero('ncint', -1);
                            $mSQL = "\n\t\t\t\t\t\t\tINSERT INTO smov (cod_cli,nombre,tipo_doc,numero,fecha,monto,impuesto,abonos,vence,tipo_ref,num_ref,observa1,codigo,descrip,usuario,estampa,hora,transac,nroriva,emiriva,fecdoc )\n\t\t\t\t\t\t\tSELECT b.cod_cli, b.nombre, 'NC' tipo_doc, '{$mnumnc}' numero, b.fecha, a.reiva monto, 0 impuesto,\n\t\t\t\t\t\t\t0 abonos, b.fecha vence, if(a.tipo_doc='F','FC','NC') tipo_ref, a.numero num_ref,\n\t\t\t\t\t\t\tCONCAT('APLICACION DE RET/IVA A ',if(a.tipo_doc='F','FC','NC'),a.numero) observa1, 'NOCON' codigo, 'NOTA DE CONTABILIDAD' descrip, a.usuario, a.estampa, a.hora, a.transac, CONCAT(b.periodo,b.nrocomp) nroriva, b.emision emiriva, a.fecha fecdoc\n\t\t\t\t\t\t\tFROM itrivc a\n\t\t\t\t\t\t\tJOIN rivc b ON a.transac=b.transac\n\t\t\t\t\t\t\tWHERE a.transac={$dbtransac} AND a.numero='{$numero}'";
                            $ban = $this->db->simple_query($mSQL);
                            if ($ban == false) {
                                memowrite($mSQL, 'RIVCFIXNC');
                            }
                            $idi = $this->db->insert_id();
                            // Arregla el itccli
                            $mSQL = "SELECT COUNT(*) AS cana FROM itccli WHERE transac={$dbtransac} AND numccli='{$numero}' ";
                            $hay = intval($this->datasis->dameval($mSQL));
                            if ($hay == 1 && $idi > 0) {
                                $mSQL = "UPDATE itccli SET numero='{$mnumnc}' WHERE transac={$dbtransac} AND numccli='{$numero}' ";
                                $ban = $this->db->simple_query($mSQL);
                                if ($ban == false) {
                                    memowrite($mSQL, 'RIVCFIXCC');
                                }
                                $mSQL = "UPDATE smov SET abonos=monto WHERE id={$idi} ";
                                $ban = $this->db->simple_query($mSQL);
                            }
                        }
                        $mnumnd = 'I' . $this->datasis->fprox_numero('ndint', -1);
                        $mSQL = "\n\t\t\t\t\t\tINSERT INTO smov (cod_cli,nombre,tipo_doc,numero,fecha,monto,impuesto,abonos,vence,tipo_ref,num_ref,observa1,codigo,descrip,usuario,estampa,hora,transac,nroriva,emiriva,fecdoc )\n\t\t\t\t\t\tSELECT c.cliente,  c.nombre, 'ND' tipo_doc, '{$mnumnd}' numero, b.fecha, a.reiva monto, 0 impuesto,\n\t\t\t\t\t\t0 abonos, LAST_DAY(b.fecha) vence, if(a.tipo_doc='F','FC','NC') tipo_ref, a.numero num_ref,\n\t\t\t\t\t\tCONCAT('RET/IVA DE ', c.cliente,' A DOC. ',IF(a.tipo_doc='F','FC','NC'),a.numero)       observa1, 'NOCON' codigo, 'NOTA DE CONTABILIDAD' descrip, a.usuario, a.estampa, a.hora, a.transac, CONCAT(b.periodo,b.nrocomp) nroriva, b.emision emiriva, NULL fecdoc\n\t\t\t\t\t\tFROM itrivc a\n\t\t\t\t\t\tJOIN rivc b ON a.transac=b.transac\n\t\t\t\t\t\tJOIN scli c ON c.cliente='REIVA'\n\t\t\t\t\t\tWHERE a.transac={$dbtransac} AND a.numero='{$numero}'";
                        $ban = $this->db->simple_query($mSQL);
                        if ($ban == false) {
                            memowrite($mSQL, 'RIVCFIXND');
                        }
                        $salida .= 'Arreglado';
                    }
                }
                //fin del arreglo de incongruencias
            }
        }
        echo $salida;
    }
Ejemplo n.º 24
0
 function _resumen($id)
 {
     $id = intval($id);
     if ($id <= 0) {
         return false;
     }
     $row = $this->datasis->damereg("SELECT cliente, credito, formap, limite, tolera, maxtole, observa, tipo FROM scli WHERE id={$id}");
     $cod_cli = $row['cliente'];
     $credito = floatval($row['credito']);
     $formap = $row['formap'];
     $limite = floatval($row['limite']);
     $tolera = floatval($row['tolera']);
     $maxtole = floatval($row['maxtole']);
     $observa = $row['observa'];
     $tipo = $row['tipo'];
     $dbcod_cli = $this->db->escape($cod_cli);
     if ($credito == 'S') {
         $mcredito = 'Activo';
     } else {
         $mcredito = 'Suspendido';
     }
     $saldo = floatval($this->datasis->dameval("SELECT SUM(monto*IF(tipo_doc IN ('FC','ND','GI'),1,-1)) saldo FROM smov WHERE cod_cli={$dbcod_cli}"));
     $pedido = floatval($this->datasis->dameval("SELECT SUM(totalg) saldo FROM pfac WHERE status<>'C' AND cod_cli={$dbcod_cli}"));
     $pauto = floatval($this->datasis->dameval("SELECT SUM(totalg) saldo FROM pfac WHERE status<>'C' AND autoriza='S' AND cod_cli={$dbcod_cli}"));
     $salida = '';
     $rutas = $this->datasis->dameval("SELECT GROUP_CONCAT(ruta) AS ruta FROM sclitrut WHERE cliente={$dbcod_cli}");
     if (!empty($rutas)) {
         $trut = '';
         $arrutas = explode(',', $rutas);
         foreach ($arrutas as $rut) {
             $trut .= '<a href="#" onclick="$(\'#rutactual\').val(\'' . addslashes($rut) . '\');$(\'#verutas\').click();return false;">' . $rut . '</a> ';
         }
         $salida .= '<table width="100%" cellspacing="0"><tr><td>Rutas: ' . $trut . '</td></tr></table>';
     }
     $salida .= '<table width="100%" cellspacing="0">';
     if ($tipo == '0') {
         $salida .= '<tr style="background-color:#AF1001; color:#FFFFFF; font-size:14px;font-weight:bold;"><td colspan="2" align="center">CLIENTE INACTIVO</td></tr>' . "\n";
     }
     if ($tipo == 'S') {
         $salida .= "<tr style='background-color:#AAEEAA;'><td colspan='2' align='center'><b>Cr&eacute;dito {$mcredito}</b></td></tr>\n";
     } else {
         $salida .= "<tr style='background-color:#CCCCBB;'><td colspan='2' align='center'><b>Cr&eacute;dito {$mcredito}</b></td></tr>\n";
     }
     $salida .= "<tr style='background-color:#FFFFFF;'><td>L&iacute;mite     </td><td align='right'>" . nformat($limite) . "  </td></tr>\n";
     $salida .= "<tr style='background-color:#EEEEEE;'><td>Tolerancia        </td><td align='right'>{$tolera}%  </td></tr>\n";
     $salida .= "<tr style='background-color:#FFFFFF;'><td>M&aacute;xima Tolerancia </td><td align='right'>{$maxtole}% </td></tr>\n";
     $salida .= "<tr style='background-color:#EEEEEE;'><td>Saldo Actual      </td><td align='right'>" . nformat($saldo) . "   </td></tr>\n";
     $salida .= "<tr style='background-color:#FBEC88;'><td>Cr&eacute;dito Disponible</td><td align='right'><b>" . nformat($limite - $saldo) . "</b></td></tr>\n";
     if ($pedido != 0) {
         $salida .= "<tr style='background-color:#FFFFFF;'><td>Pedidos           </td><td align='right'>" . nformat($pedido) . "  </td></tr>\n";
         $salida .= "<tr style='background-color:#FAA78F;'><td>Saldo - Pedidos   </td><td align='right'>" . nformat($limite - $saldo - $pedido) . "  </td></tr>\n";
     }
     if ($pauto != 0) {
         $salida .= "<tr style='background-color:#FFFFFF;'><td>Pedidos Autorizado</td><td align='right'>" . nformat($pauto) . "  </td></tr>\n";
         $salida .= "<tr style='background-color:#FAD78F;'><td>Saldo Disponible   </td><td align='right'>" . nformat($limite - $saldo - $pauto) . "  </td></tr>\n";
     }
     $salida .= "</table>\n";
     if (!empty($observa)) {
         $salida .= "<br><b>Observaciones:</b><textarea cols='28' rows='4' readonly='readonly'>{$observa}</textarea>\n";
     }
     return $salida;
 }
Ejemplo n.º 25
0
 function dibuja_viene($pdfa)
 {
     if (count($this->textoViene) != 0) {
         $pos = $this->textoViene['pos'];
         $ancho = $this->textoViene['ancho'];
         $borde = $this->textoViene['borde'];
         $alinea = $this->textoViene['alinea'];
         $fill = $this->textoViene['relleno'];
         $texto = $this->textoViene['texto'];
         $tfuente = $this->textoViene['tfuente'];
         $estilo = $this->textoViene['estilo'];
         $pdfa->setX($pos);
         $pdfa->setFont($this->fuenteTabla, $estilo, $tfuente);
         $pdfa->cell($ancho, 4, $texto, $borde, 0, $alinea, $fill);
     }
     foreach ($this->viene as $total) {
         $posTot = $total['pos'];
         $tfuenteTot = $total['tfuente'];
         $estiloTot = $total['estilo'];
         $anchoTot = $total['ancho'];
         $alineaTot = $total['alinea'];
         $bordeTot = $total['borde'];
         $fillTot = $total['relleno'];
         $monto = nformat($total['valor']);
         $pdfa->setX($posTot);
         $pdfa->setFont($this->fuenteTabla, $estiloTot, $tfuenteTot);
         $pdfa->cell($anchoTot, 4, $monto, $bordeTot, 0, $alineaTot, $fillTot);
     }
 }
Ejemplo n.º 26
0
?>
</td>
		<td class="littletablerow"  ><?php 
echo dbdate_to_human($form->fecha->value);
?>
</td>
		<td class="littletablerowth" align='center'><?php 
echo $form->frec->label . " " . $frec;
?>
</td>
		<td class="littletablerowth"><?php 
echo $form->total->label;
?>
</td>
		<td class="littletablerow"  ><?php 
echo nformat($form->total->value);
?>
</td>
	</tr>
</table>
</fieldset>
<br>
<fieldset  style='border: 1px outset #FEB404;background: #FFFCE8;'>
<table width='100%'>
<?php 
$i = false;
foreach ($arr_concs as $concepto) {
    $obj = 'c' . $concepto;
    if (isset($form->{$obj}->label)) {
        if (!$i) {
            echo '		<tr>';
Ejemplo n.º 27
0
                ?>
&nbsp;</td>
					<td class="littletablerow" align='left'>  <?php 
                echo $row->cod_prv;
                ?>
&nbsp;</td>
					<td class="littletablerow" align='right'> <?php 
                echo nformat($row->debe);
                ?>
&nbsp;</td>
					<td class="littletablerow" align='right'> <?php 
                echo nformat($row->haber);
                ?>
&nbsp;</td>
					<td class="littletablerow" align='right'> <?php 
                echo nformat($row->saldo);
                ?>
&nbsp;</td>
				</tr>
					<?php 
            }
            ?>
			</fieldset>
			</table>
				<?php 
        }
        ?>
			</div>
		</td>
	</tr>
	<?php 
Ejemplo n.º 28
0
                        echo $row->cod_cli . ' ' . $row->nombre;
                        ?>
</td>
		<td class="littletablerowth" align='center'><?php 
                        echo $row->tipo_doc;
                        ?>
</td>
		<td class="littletablerow"   ><?php 
                        echo $row->numero;
                        ?>
</td>
		<td class="littletablerowth" ><?php 
                        echo $row->observa1;
                        ?>
</td>
		<td class="littletablerow"   align='right'><?php 
                        echo nformat($row->monto);
                        ?>
</td>
	</tr>
	<?php 
                    }
                }
            }
            ?>

</table>
<?php 
        }
    }
}
Ejemplo n.º 29
0
function moneyformat($numero)
{
    return nformat($numero, 2);
}
Ejemplo n.º 30
0
    function gserchipros($codbanc = null)
    {
        if (empty($codbanc)) {
            show_error('Faltan parametros');
        }
        $dbcodbanc = $this->db->escape($codbanc);
        $mSQL = 'SELECT COUNT(*) AS cana, SUM(exento+montasa+monadic+monredu+tasa+sobretasa+reducida) AS monto FROM gserchi WHERE ngasto IS NULL AND aceptado="S" AND codbanc=' . $dbcodbanc;
        $r = $this->datasis->damerow($mSQL);
        if ($r['cana'] == 0) {
            echo heading("Caja {$codbanc} no tiene gastos aprobados, debe primero aprobar algun gasto y luego si puede reponerla");
            return false;
        }
        $mSQL = "SELECT a.codprv, b.nombre FROM banc AS a JOIN sprv AS b ON a.codprv=b.proveed WHERE a.codbanc={$dbcodbanc}";
        $query = $this->db->query($mSQL);
        if ($query->num_rows() > 0) {
            $row = $query->row();
            $nombre = $row->nombre;
            $codprv = $row->codprv;
        } else {
            $nombre = $codprv = '';
        }
        $sql = 'SELECT TRIM(a.codbanc) AS codbanc,tbanco FROM banc AS a';
        $query = $this->db->query($sql);
        $comis = array();
        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $ind = '_' . $row->codbanc;
                $comis[$ind]['tbanco'] = $row->tbanco;
            }
        }
        $json_comis = json_encode($comis);
        $this->rapyd->load('dataform', 'datagrid2');
        $modbus = array('tabla' => 'sprv', 'columnas' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre', 'rif' => 'RIF'), 'filtro' => array('proveed' => 'Codigo Proveedor', 'nombre' => 'Nombre'), 'retornar' => array('proveed' => 'codprv', 'nombre' => 'nombre'), 'titulo' => 'Buscar Proveedor', 'script' => array('post_modbus()'));
        $bsprv = $this->datasis->modbus($modbus);
        $script = 'var comis = ' . $json_comis . ';

		$(document).ready(function() {
			desactivacampo("");
			$("#codprv").autocomplete({
				source: function( req, add){
					$.ajax({
						url:  "' . site_url('ajax/buscasprv') . '",
						type: "POST",
						dataType: "json",
						data: {"q":req.term},
						success:
							function(data){
								var sugiere = [];
								if(data.length==0){
									$("#nombre").val("");
									$("#nombre_val").text("");
									$("#codprv").val("");
								}else{
									$.each(data,
										function(i, val){
											sugiere.push( val );
										}
									);
								}
								add(sugiere);
							},
					})
				},
				minLength: 2,
				select: function( event, ui ) {
					$("#codprv").attr("readonly", "readonly");

					$("#nombre").val(ui.item.nombre);
					$("#nombre_val").text(ui.item.nombre);
					$("#codprv").val(ui.item.proveed);

					setTimeout(function(){ $("#codprv").removeAttr("readonly"); }, 1500);
				}
			});

			desactivacampo($("#cargo").val());
		});

		function post_modbus(){
			nombre=$("#nombre").val();
			$("#nombre_val").text(nombre);
		}

		function desactivacampo(codb1){
			if(codb1.length>0 && codb1!="' . $this->mcred . '"){
				eval("tbanco=comis._"+codb1+".tbanco;"  );
				if(tbanco=="CAJ"){
					$("#cheque").attr("disabled","disabled");
					$("#benefi").attr("disabled","disabled");
				}else{
					$("#cheque").removeAttr("disabled");
					$("#benefi").removeAttr("disabled");
				}
			}else{
				$("#cheque").attr("disabled","disabled");
				$("#benefi").attr("disabled","disabled");
			}
		}';
        $pcchi = $this->datasis->damerow("SELECT proveed, nombre FROM sprv WHERE nombre LIKE '%CAJA%CHICA%' LIMIT 1");
        $form = new DataForm($this->url . 'gserchipros/' . $codbanc . '/process');
        $form->title("N&uacute;mero de facturas aceptadas {$r['cana']}, monto total <b>" . nformat($r['monto']) . '</b> para la caja ' . $codbanc);
        $form->script($script);
        $form->codprv = new inputField('Proveedor', 'codprv');
        $form->codprv->rule = 'required';
        $form->codprv->insertValue = $codprv;
        $form->codprv->size = 8;
        $form->codprv->append($bsprv);
        $form->codprv->insertValue = empty($pcchi) ? '' : $pcchi['proveed'];
        $form->nombre = new inputField('Nombre', 'nombre');
        $form->nombre->rule = 'required';
        $form->nombre->insertValue = $nombre;
        $form->nombre->in = 'codprv';
        $form->nombre->type = 'inputhidden';
        $form->nombre->insertValue = empty($pcchi) ? '' : $pcchi['nombre'];
        $dbcodban = $this->db->escape($codbanc);
        $form->cargo = new dropdownField('Reponer desde', 'cargo');
        $form->cargo->option('', 'Seleccionar');
        $form->cargo->options("SELECT codbanc, CONCAT_WS('-',codbanc,banco) AS label FROM banc WHERE activo='S' AND codbanc<>{$dbcodban} ORDER BY codbanc");
        $form->cargo->option($this->mcred, 'CREDITO');
        $form->cargo->onchange = 'desactivacampo(this.value)';
        $form->cargo->rule = 'max_length[5]|required';
        $form->cheque = new inputField('Cheque Numero', 'cheque');
        $form->cheque->rule = 'condi_required|callback_chobligaban';
        //$form->cheque->append('Aplica si es un banco');
        $form->cheque->group = 'Aplica si repone desde un Banco';
        $form->cheque->size = 12;
        $form->benefi = new inputField('Beneficiario', 'benefi');
        $form->benefi->insertValue = $nombre;
        $form->benefi->rule = 'condi_required|callback_chobligaban|strtoupper';
        //$form->benefi->append('Aplica si es un banco');
        $form->benefi->group = $form->cheque->group;
        $form->build_form();
        $grid = new DataGrid2("Lista de facturas aceptadas para pagar de la caja {$codbanc}", 'gserchi');
        $select = array('exento + montasa + monadic + monredu + tasa + sobretasa + reducida AS totneto', 'descrip', 'tasa + sobretasa + reducida AS totiva', 'proveedor', 'fechafac', 'numfac', 'codbanc');
        $grid->totalizar('totneto', 'totiva');
        $grid->db->select($select);
        $grid->db->where('aceptado', 'S');
        $grid->db->where('ngasto IS NULL');
        $grid->db->where('codbanc', $codbanc);
        $grid->order_by('fechafac', 'desc');
        $grid->per_page = 15;
        //$grid->column('Caja','codbanc');
        $grid->column('N&uacute;mero', 'numfac');
        $grid->column('Fecha', '<dbdate_to_human><#fechafac#></dbdate_to_human>', 'align=\'center\'');
        $grid->column('Proveedor', 'proveedor');
        $grid->column('Descripci&oacute;n', 'descrip');
        $grid->column('IVA', '<nformat><#totiva#></nformat>', 'align=\'right\'');
        $grid->column('Monto', '<b><nformat><#totneto#></nformat></b>', 'align=\'right\'');
        //$grid->add('finanzas/gser/datagserchi/create','Agregar nueva factura');
        $grid->build();
        if ($form->on_success()) {
            $codprv = $form->codprv->newValue;
            $cargo = $form->cargo->newValue;
            $nombre = $form->nombre->newValue;
            $benefi = $form->benefi->newValue;
            $cheque = $form->cheque->newValue;
            $rt = $this->_gserchipros($codbanc, $cargo, $codprv, $benefi, $cheque);
            if ($rt) {
                $rt = array('status' => 'A', 'mensaje' => 'Registro guardado', 'pk' => array('id' => $this->idgser));
                echo json_encode($rt);
            } else {
                $rt = array('status' => 'B', 'mensaje' => 'No se pudo guardar', 'pk' => '');
                echo json_encode($rt);
            }
        } else {
            echo $form->output . $grid->output;
        }
    }