/** * Asignamos un número al asiento. */ public function new_numero() { $this->numero = 1; $sql = "SELECT MAX(" . $this->db->sql_to_int('numero') . ") as num FROM " . $this->table_name . " WHERE codejercicio = " . $this->var2str($this->codejercicio) . ";"; $data = $this->db->select($sql); if ($data) { $this->numero = 1 + intval($data[0]['num']); } /// Nos guardamos la secuencia para dar compatibilidad con eneboo $secc = new \secuencia_contabilidad(); $secc0 = $secc->get_by_params2($this->codejercicio, 'nasiento'); if ($secc0) { if ($this->numero >= $secc0->valorout) { $secc0->valorout = 1 + $this->numero; $secc0->save(); } } }
public function new_numero() { $secc = new secuencia_contabilidad(); $secc0 = $secc->get_by_params2($this->codejercicio, 'nasiento'); if ($secc0) { $this->numero = $secc0->valorout; $secc0->valorout++; $secc0->save(); } if (!$secc0 or $this->numero <= 1) { $this->numero = 1; $sql = "SELECT MAX(" . $this->db->sql_to_int('numero') . ") as num FROM " . $this->table_name . " WHERE codejercicio = " . $this->var2str($this->codejercicio) . ";"; $num = $this->db->select($sql); if ($num) { $this->numero = 1 + intval($num[0]['num']); } if ($secc0) { $secc0->valorout = 1 + $this->numero; $secc0->save(); } } }
public function renumerar() { $secc = new secuencia_contabilidad(); $ejercicio = new ejercicio(); foreach ($ejercicio->all_abiertos() as $eje) { $secc0 = $secc->get_by_params2($eje->codejercicio, 'nasiento'); $posicion = 0; $numero = 1; $sql = ''; $continuar = TRUE; $consulta = "SELECT idasiento,numero,fecha FROM " . $this->table_name . " WHERE codejercicio = '" . $eje->codejercicio . "'\n ORDER BY codejercicio ASC, fecha ASC, idasiento ASC"; $asientos = $this->db->select_limit($consulta, 1000, $posicion); while ($asientos and $continuar) { foreach ($asientos as $col) { if ($col['numero'] != $numero) { $sql .= "UPDATE " . $this->table_name . " SET numero = '" . $numero . "' WHERE idasiento = '" . $col['idasiento'] . "'; "; } $numero++; } $posicion += 1000; if ($sql != '') { if (!$this->db->exec($sql)) { $this->new_error_msg("Se ha producido un error mientras se\n renumeraban los asientos del ejercicio " . $eje->codejercicio); $continuar = FALSE; } $sql = ''; } $asientos = $this->db->select_limit($consulta, 1000, $posicion); } $secc0->valorout = $numero; $secc0->save(); } return $continuar; }