Generacion de número de Actas

Les escribo por que no recuerdo bien que tenias que hacer cuando modificabas una consulta para que el toba tomara esta personalización.
Les cuento lo que he hecho, modifique el archivo co_actas.php y lo coloque en la carpeta correspondiente en personalizaciones.
Les paso el código


<?php 
  class co_acta_fca extends co_actas { 
	/**
	 * Genera un nuevo número de Acta
	 *
	 * @param Array() Recibe como parametros en el array $parametros
	 * Origen (origen)			: E-Examen/R-Regulares/P-Promociones/Q-Equivalencias (sga_actas_origen)
	 * Tipo de Acta	(tipo_acta)	: N-Normal / R-Rectificativa
	 * Libro de Actas (libro)	: Id del Libro de Actas donde se guardará el examen.
	 *
	 * Según sea de la operación que se llame ya sea del modulo de Exámenes o Cursadas respectivamente)
	 * Llamado (llamado_mesa)	: id de la mesa de examen en un llamado (Examnenes)
	 * Comisión (comision)      : id de la comision (Cursadas)
	 * @return
	 */
	function generar_nro_acta($parametros)
	{
		$origen		= toba::db()->quote($parametros['origen']);
		$tipo_acta	= toba::db()->quote($parametros['tipo_acta']);

		switch ($parametros['origen']) {
			case acta::origen_examen:
				$llamado_mesa = toba::db()->quote($parametros['llamado_mesa']);
			break;
			case acta::origen_regulares:
				$comision = toba::db()->quote($parametros['comision']);
			break;
			case acta::origen_promociones:
				$comision = toba::db()->quote($parametros['comision']);
			break;
		}

		if ($origen = 'E'or $origen ='Q') 
                {
                $sql = "Select substring (max(nro_acta)from 4 for 8)
                            from negocio.sga_actas 
                            where origen = $origen";
                $rs=  guarani_db::consultar($sql);
                
                    if ($rs = '180')
                    {
                        $libro = get_libro_de_actas($parametros);
                        $rs = libro +'0000';
                    }
                    else { 
                            $sql = "Select (max(nro_acta):: integer)+1 as nro_acta"
                                        . "from negocio.sga_actas"
                                        . "where origen = $origen";
                            $rs = guarani_db::consultar_fila($sql);
                        }
                } 
               If($origen ='C' or $origen = 'P')
                {       
                $sql = "SELECT	MAX(sga_actas.nro_acta :: integer)+ 1 as nro_acta
				FROM	negocio.sga_actas
				WHERE	sga_actas.origen = $origen
		";
		$rs = guarani_db::consultar_fila($sql);
                }
                
               
		return $rs['nro_acta'];
	}
}
?>

En la imagen les mando lo que modifique en toba


imagen1.png

imagen1.png

Hola Martín,

El problema es que en el archivo PHP la clase se llama co_acta_fca, y en el editor la definiste como co_actas_fca (en plural). Ajustalo en PHP.

Saludos!
Fernando

Solucionado esa parte ya entra al archivo ahora cuando lo corro me da el siguiente error


SQL con perfil de datos: Select substring (max(nro_acta)from 4 for 8)

                            from negocio.sga_actas 
                            where origen = E

SQLSTATE[42703]: Undefined column: 7 ERROR: no existe la columna «e»

LINE 3:                             where origen = E -- toba_log: 86...

parecieraque toma el valor de origen como columna

Si bien al principio hiciste el quote de origen, acá:

if ($origen = 'E'or $origen ='Q') 

estás haciendo asignación! Acordate que en PHP la comparación es con ==, y el or con ||

Saludos!

Eso anda bien pero no me escribio el numero de acat en la base de datos