Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Temas - mfalemany

Páginas: [1]
1
Buenas a todos! Recurro a ustedes para comentarles un problema que estoy teniendo con el comando "toba proyecto regenerar".
El problema es similar al descrito en este hilo: https://foro.comunidad.siu.edu.ar/index.php?topic=1650.msg5728#msg5728 (que ya está cerrado)

Luego de ejecutar el mencionado comando, toba_editor no me muestra ninguna operación (solo una, que según recuerdo fue la última en crearse). Lo raro es lo siguiente (comento todas las pruebas que hice):

1) instalé Toba desde cero. Luego coloqué la carpeta de mi proyecto en la carpeta "Proyectos" de Toba. Luego ejecuté "toba proyecto cargar -p mi_proyecto", y hasta ahí todo funciona perfecto (todo según lo esperado).
Ahora, Y SIN TOCAR NADA, NI HACER NINGÚN CAMBIO ejecuto "toba proyecto regenerar -p mi_proyecto" (se que esto no tiene ningún sentido, es solo a afectos de probar) y el editor de Toba deja de mostrarme todas las operaciones, como mencioné anteriormente. Si voy a "Componentes" si puedo ver todos los ci, cuadros, formularios, etc. El problema está en que no puedo ver el arbol de operaciones (ni tampoco el menú si entro al proyecto directamente). En resumen, el comando "toba proyecto regenerar -p mi_proyecto" rompe el normal funcionamiento de toba (tanto en el editor, como del proyecto en sí mismo).
2) Lo mas curioso de esto, es que si hago un pg_dump de la base toba_2_7, y la vuelvo a importar (con el comando psql) sin haber hecho ningún cambio,  si funciona. Es decir, entiendo que los datos en la base no son el problema (y esto lo demuestra), sino que el comando regenerar afecta algo (que no se que es, posiblemente algún permiso) y hace que se rompa (mas bien, que desaparezcan las operaciones).

Estoy usando la version 2.7.13 de toba con postgres 9.6 (usuario postgres, con todos los permisos habilitados) en Debian 11.
Para descartar que sea un problema de permisos en el sistema de archivos (al leer los metadatos), asigné como propietario de la carpeta toba al usuario con el que ejecuto mi entorno de ventanas, y además le asigné el valor 777 a la carpeta toba y todos sus subdirectorios (dentro de la cual está la carpeta "instalacion" también).
 
Adjunto dos imágenes: cómo se ve normalmente el proyecto y cómo se ve cuando ocurre el problema (al ejecutar toba proyecto regenerar)

2
Buenas tardes! Les quiero consultar cuál es el mecanismo correcto (si existe en Toba) para cargar clases en tiempo de ejecución.
Hasta hace un tiempo, había agregado algunas clases al archivo autoload del proyecto (para que se carguen automáticamente), pero veo que al inicio del archivo hay una leyenda que dice "Esta clase fue y será generada automáicamente. NO EDITAR A MANO.". Además, si todas las clases necesarias fueran cargadas en ese archivo (y eventualmente no se necesitaran), se estarían cargando "de balde".
Tiene Toba algun mecanismo para cargar clases bajo demanda (por ejemplo toba_cargador::cargar($clase)? (pienso en algo que enmascare spl_autoload_register()  de PHP, por ejemplo).

Encontré esta manera de lograrlo:
Código: [Seleccionar]
//Este es el punto de montaje por defecto (podría crear otro desde Toba Editor)
$punto = toba::puntos_montaje()->get('proyecto');
toba_cargador::cargar_clase_archivo($punto->get_id(), 'ruta/a/archivo/clase.php' , 'mi_proyecto' );
$mi_objeto = new Clase_recien_cargada();

Estoy trabajando con Toba 2.7.13
Saludos!

3
SIU-Guaraní 2 - Técnicos / Cierre inesperado: Guaraní 2 (Gestión)
« on: Diciembre 26, 2020, 06:31:56 pm »
Buenas tardes!
Hace algún tiempo tengo un problema que se presenta en algunas de las PCs que usamos en la oficina.
El SIU-Guaraní pareciera no poder manejar las excepciones y se cierra inesperadamente, mostrando el mensaje de Windows: "siu_guarani.exe dejó de funcionar" (con la típica barrita de progreso --como si Windows intentara hacer algo :) --
El problema ocurre cuando el Guaraní encuentra algún error, por ejemplo, al intentar cerrar un acta de examen y algún alumno no cumple una correlativa o no tiene regularizada la materia.
Bajo este mismo escenario (y al intentar cerrar el mismo acta), en otra PC, podemos ver el mensaje de advertencia  del SIU-Guaraní (indicando el error que ocurrió).

Esto sucede en Windows 7 de 32 bits, y el registro de eventos muestra lo siguiente:
Cita
Nombre de registro:Application
Origen:        Application Error
Fecha:         26/12/2020 18:15:52
Id. del evento:1000
Categoría de la tarea:(100)
Nivel:         Error
Palabras clave:Clásico
Usuario:       No disponible
Equipo:        Guarani-PC
Descripción:
Nombre de la aplicación con errores: siu_guarani.exe, versión: 7.0.3.10312, marca de tiempo: 0x3f1d104a
Nombre del módulo con errores: MSVCR90.dll, versión: 9.0.30729.4940, marca de tiempo: 0x4ca2ef57
Código de excepción: 0xc0000417
Desplazamiento de errores: 0x000694cd
Id. del proceso con errores: 0xdc0
Hora de inicio de la aplicación con errores: 0x01d6dbcc469502e9
Ruta de acceso de la aplicación con errores: C:\guarani\Ejecutables\siu_guarani.exe
Ruta de acceso del módulo con errores: C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\MSVCR90.dll
Id. del informe: 88740ba9-47bf-11eb-8d76-0800273dd36d
XML de evento:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2020-12-26T21:15:52.000000000Z" />
    <EventRecordID>1546</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Guarani-PC</Computer>
    <Security />
  </System>
  <EventData>
    <Data>siu_guarani.exe</Data>
    <Data>7.0.3.10312</Data>
    <Data>3f1d104a</Data>
    <Data>MSVCR90.dll</Data>
    <Data>9.0.30729.4940</Data>
    <Data>4ca2ef57</Data>
    <Data>c0000417</Data>
    <Data>000694cd</Data>
    <Data>dc0</Data>
    <Data>01d6dbcc469502e9</Data>
    <Data>C:\guarani\Ejecutables\siu_guarani.exe</Data>
    <Data>C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\MSVCR90.dll</Data>
    <Data>88740ba9-47bf-11eb-8d76-0800273dd36d</Data>
  </EventData>
</Event>

Intenté con tres versiones distintas del Informix SDK (suponiendo que podría estár relacionado) y nada, con todas las versiones,el mismo inconveniente.
Por lo que pude encontrar en preguntas en este foro, también intenté relacionarlo con el archivo MSVCR90.dll (que aparentemente tiene que ver con el Visual C++ 2005). Instalé esa versión (aún cuando el SO tenía una mas actualizada) y nada.

El sistema funciona bien, es decir, se conecta a la base de datos sin problemas, pero como mencioné, por algún motivo no es capaz de manejar excepciones.
Alguna idea sobre cual podría ser el motivo?

Versión de Guarani: 2.9.2
SO: Windows 7 Ultimate 32 bits.
SDK Informix: 4.10.TC9DE


Desde ya, les agradezco por su ayuda.


4
Toba - Sugerencias / Error en formulario multilínea - Clave no numerica
« on: Agosto 14, 2020, 03:08:00 pm »
Buenas tardes, les comento que acabo de tener el siguiente problema: (Toba v2.7.13).
Tengo un formulario ML con personas (el primer ef del formulario es de tipo ef_popup). Al abrirse el popup (que permite la búsqueda de personas) y al seleccionar una, el popup devuelve el DNI de la persona seleccionada.

Al guardar (evento del CI), se disparaban los eventos implícitos de todos sus formularios hijo (hay varios), menos del ML que menciono.

Buscando el problema encontré que una de las personas tenía un "Pasaporte", es decir, un campo no numérico (tiene una letra), y esto generaba un error en el javascript del formulario_ml (código propio de Toba), en el archivo www/js/componentes/ei_formulario_ml.js. Allí, en la línea 83 (dentro de la definición del método "iniciar_fila") se llama al método ef.cuando_cambia_valor(), y dentro de sus argumentos, se hace referencia a la función "validar_fila_ef" que recibe el valor de la variable "fila". Tuve que agregar unas comillas simples para que no se produjera el error mencionado, quedando de la siguiente manera:
Antes:
Código: [Seleccionar]
Línea 83: ef.cuando_cambia_valor(this._instancia + '.validar_fila_ef(' + fila + ',"' + id_ef + '", true)');Ahora:
Código: [Seleccionar]
Línea 83: ef.cuando_cambia_valor(this._instancia + '.validar_fila_ef(\'' + fila + '\',"' + id_ef + '", true)');Es decír, se agregan unas comillas (escapadas) al paso de la variable "fila".

Dejo planteado el inconveniente, por si corresponde una corrección.
Abrazo!

5
Buenas tardes, tengo una operación en la que un usuario se auto-registra.
En el controlador de esa operación, se llama a la siguiente función:
Código: [Seleccionar]
...
toba::instancia()->agregar_usuario(
     $datos['nro_documento'],
     $datos['ayn'],
     $datos['clave'],
     array( 'email' => $datos['mail'] )
);
...

El problema es que la función lanza una excepción, cuyo mensaje del motor es el siguiente:
Cita
SQLSTATE[42P01]: Undefined table: 7 ERROR: no existe la relación «apex_usuario» LINE 1: INSERT INTO apex_usuario ( usuario, nombre, autentificacion,... ^

Evidentemente la conexión con la instancia se realiza correctamente, y la tabla apex_usuario existe, ya que el sistema permite loguearse correctamente a los usuarios que ya existen.
 En la traza de la ejecución, se  involucran las clases toba_instancia, toba_modelo_instancia y por último toba_db, con su método sentencia_ejecutar(), que recibe correctamente los parámetros enviados (usuario, clave, mail, etc).

Si en la linea previa a la llamada a toba::instancia()->agregar_usuario() agrego:
Código: [Seleccionar]
var_dump(toba::instancia()->get_db());
Puedo ver (entre todos los otros valores), los siguientes:
Cita
["profile":protected]=> string(9) "localhost"
["usuario":protected]=> string(8) "postgres"
["clave":protected]=> string(8) "postgres"
["base":protected]=> string(8) "toba_2_7"
["puerto":protected]=> string(4) "5432"

Pero si, dentro de la clase toba_modelo_instancia, antes de la ejecución de la consulta, agrego lo siguiente:
Código: [Seleccionar]
ei_arbol($this->get_db()->get_lista_tablas_bd()); //veo las tablas de la base
$this->get_db()->sentencia_ejecutar($id, $atributos);
Me retorna un listado de todas mis tablas de la base de negocio. Es decir, no se conecta a la base de la instancia.

En toba.conf están correctamente definidas las variables de entorno TOBA_DIR, TOBA_PROYECTO y TOBA_INSTANCIA.
En el archivo bases.ini también están correctamente definidos los parámetros de conexión a la base de negocios y a la instancia de toba.

Versión de Toba: 2.7.2
Versión de PostgreSQL: 9.4.5
Versióbn de PHP: 5.3.4

Alguna idea de porqué no se encuentra apex_usuario?
Gracias.

6
Toba - Desarrollo / Método toba_ei_cuadro::recuperar_clave_fila()
« on: Febrero 07, 2018, 04:48:04 pm »
Buenas tardes, llevo algunos días leyendo de la wiki de toba pero no puedo encontrar la solución al siguiente (y tan sencillo) problema: TOBA 2.7.9
Tengo una operación, con un controlador de interfaz, que tiene un cuadro, al que llamaremos "cuadro".
El cuadro tiene un evento, a nivel de fila, que llamaremos  "seleccion".

En la extensión PHP del CI, defino un método llamado conf__cuadro:
Código: [Seleccionar]
function conf__cuadro(toba_ei_cuadro $cuadro)
{
   $cuadro->set_datos(...); //se trae un conjunto de registros de la BD
}

Luego, defino un método para controlar el comportamiento del evento "seleccion" (que es a nivel de fila):
Código: [Seleccionar]
function conf_evt__cuadro__seleccion(toba_evento_usuario $evento, $fila)
{
   ei_arbol(toba_ei_cuadro::recuperar_clave_fila(2565,$fila)); //2565 es el id del cuadro
}

El problema es que, cuando inicio sesión en el proyecto, y entro por primera vez a la operación, se dibuja el cuadro correctamente, con los datos que corresponde, pero la funcion recuperar_clave_fila() no rertorna los datos que (supongo) debería, y en cambio, retorna NULL (una vez por cada fila del cuadro).
Si salgo de la operación y vuelvo a entrar (o refresco la pantalla) el método funciona normalmente devolviendome las claves correspondientes a cada registro.
El problema es solo la primera vez que se utiliza la operación.

Agradecería sus comentarios para entender este comportamiento.

7
Toba - Desarrollo / Enlace a documento PDF
« on: Enero 27, 2017, 04:03:49 pm »
Buenas tardes, tengo un cuadro (ei_cuadro) con un listado de documentos, y a nivel de fila  muestro un botón (un evento con acción predefinida "Vinculo") para acceder al PDF (documento digitalizado ya almacenado en el servidor con anterioridad). El vinculo direcciona a una operación PHP plano donde se muestra el documento seleccionado.
Actualmente la operación funciona perfecto.

Mi consulta es: 
Existe alguna manera mas limpia de hacer lo mismo?
Tiene Toba (en alguna clase relacionada) algun metodo estatico  como por ejemplo (mostrar_pdf()) que permita lograr lo mismo?
Alguna otra idea?

Desde ya, les agradezco.
Saludos!

Version de Toba: 2.7.6



8
Personalizaciones de Autogestión / Documentación Chulupí
« on: Mayo 11, 2016, 07:02:03 pm »
Buenas, antes que nada pido disculpas si este no es el lugar indicado! Quería consultarles si tienen/conocen alguna documentación sobre el framework Chulupí? (Aparte del sitio https://repositorio.siu.edu.ar/trac/chulupi/wiki en donde encontré muy poca información) Vi algunas cuestiones muy puntuales en el foro, pero nada general como para alguien que recién comienza con este framework (como yo).
Desde ya, gracias!

Páginas: [1]