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.


Mensajes - richard

Páginas: [1] 2 3 ... 177
1
Hola Juan,

te diria que te fijes en la pestaña Datos,  en la definicion de la fuente  (editala y pasate a la segunda pestaña) que schemas tiene incorporados y cual tiene marcado por defecto.
Quizas este faltando eso, sino es simplemente que tenes que seleccionar en el combo "Fuente" con cual queres trabajar (suponiendo que el proyecto tenga mas de una).

Saludos

2
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 13, 2019, 12:44:33 pm »
mmmm, vuelvo al primer error con eso así, donde no encuentra ninguna de las clases. Si solo incluyo esos archivos, donde "ejecuta" los autoload? Por lo que veo es una clase con métodos unicamente.

En teoria los autoload los tiene que registrar nomas, una vez hecho eso solamente se invocan cuando no se encuentra cargada la definicion de una clase en memoria... sino no deberia pasar nunca.

Citar
Igual mi idea no era que tengas que tocar todo el framework para que funcione esta tool, pensé que por ahí había un script que hacia los include globales y podía alcanzar con eso, pero ahora que decís, es verdad que tampoco hay namespaces en gran parte del código.
Hay partes que es dificil que funcionen.. pero eso al menos lo podriamos agregar al exclude para que no lo analice... al menos igualmente quedaria el resto.
Seguramente si hacemos una extension para la herramienta podamos definir con mayor detalle algunas cosas que con la config por ahi no nos alcanza, voy a chusmear un poco mas para ver que nos proveeria eso.

Ciertamente te voy a pedir que me ayudes con el testing del lado de los proyectos, aun cuando Toba pudiera lanzar un analisis sobre si mismo... lo bueno seria que los proyectos puedan adoptarlo para CI.

Saludos

3
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 11, 2019, 12:34:54 pm »
Hola Tomas,
Dale, veo si puedo forkear el branch.
El branch esta pensado para correr PHPStan dentro de Toba... asi que le archivo neon tuyo probablemente deba incluir el de Toba estimo.

Citar
O sea, no esta levantando el autoload (y es correcto porque toba lo maneja aparte de composer)
2) Cree un archivo de config phpstan.neon para decirle que haga autoload del directorio php:
Archivo phpstan.neon:
Código: [Seleccionar]
parameters:
        autoload_directories:
                - php
Yo opte por pasarle directamente el archivo autoload que tiene que levantar, ya que los que usa el framework tienen  por nombre IdProyecto_autoload.php con lo cual no necesariamente puede reconocerlo.

Citar
Código: [Seleccionar]
Note: Using configuration file /path/al/proyecto/phpstan.neon.
  11/204 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░]   5%
Warning: require_once(consola/consola.php): failed to open stream: No such file or directory in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3

Fatal error: require_once(): Failed opening required 'consola/consola.php' (include_path='/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:.:/usr/share/php') in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3
Todo lo que sea extension de comandos va a ser un problema a resolver, por dos motivos:
- Tiene diseño top-down, asi que cada archivo va incluyendo lo que necesita hacia abajo... hay una cantidad minima de herencia ahi.
- A causa de eso, no hacen uso del autoload y por ende es cuasi imposible que PHPStan enganche las clases correctas salvo que arranque a ejecutar desde el launcher de Toba.

Ciertamente ahi voy a tener que encontrar la manera de que reconozca la presencia de esos archivos por mas que no esten en el autoload.

Citar
3) Intentando y probando varias cosas, termine con el archivo phpstan.neon de la siguiente manera

Código: [Seleccionar]
parameters:
        autoload_directories:
                - php
                - vendor/siu-toba/framework/php
        excludes_analyse:
                - vendor/siu-toba/framework/php/convenciones
                - vendor/siu-toba/framework/php/modelo/migraciones_instancia
                - vendor/siu-toba/framework/php/3ros

Los exclude son necesarios porque detecta clases duplicadas. En este punto, la salida que obtengo al ejecutar el ya mencionado comando es esta:
Bien, es mas o menos similar a lo que llegue yo.. solo que aun asi se muere impunemente en menos del 10%, tendria que agregar la exclusion para las migraciones de la instancia que me estan faltando.

Citar
Código: [Seleccionar]
  68/204 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░]  33%
Warning: require_once(consola/consola.php): failed to open stream: No such file or directory in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3

Fatal error: require_once(): Failed opening required 'consola/consola.php' (include_path='/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:.:/usr/share/php') in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3
Es lo que te decia mas arriba, intenta cargar desde tus clases... cuando en la consola el camino es inverso, salvo que tengas el require_once explicito, no va a encontrar la clase.
Ademas, justamente esa parte requiere de parametros para determinar proyecto, directorio de instalacion, etc... no es muy "static" friendly.

Citar
Una cosa que se me ocurre probar (aun no me hice el tiempo) es ver si se puede hacer un autoload de todo toba en composer tal como indican aca[1]. No es util para toba en si pero por ahi le sirve a phpstan. Tenes idea si eso se puede hacer?

[1]: https://getcomposer.org/doc/04-schema.md#psr-4
Toba ya tiene apuntado en composer el autoload con formato psr-4, lo que hay que ir haciendo es pasar el resto de las clases a namespaces e incorporarlas ahi dentro.
Me parece que es mas sencillo hacer asi:

Código: [Seleccionar]
parameters:
        autoload_files:
           - php/proyecto_autoload.php
           - vendor/siu-toba/framework/php/toba_autoload.php

Y con eso intentar garantizarse que levanta ambos,  igual.. .aun con eso, la parte de consola seguramente siga fallando.. asi que quizas debas meter esa parte dentro del exclude.

Saludos

4
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 10, 2019, 11:46:41 am »
Hola Tomas,

estoy mirando un poco la herramienta asi que si queres vamos viendo juntos como llevarlo adelante, podemos ir agregando cosas en este branch .

Solo hay una cuestion que no se si sea salvable.

PHPStan no es tan estático como promete, de hecho hay algún issue al respecto (que  pinta mas a won'tfix que a otra cosa).. lo cual en Toba puede ser un problema ya que al intentar ejecutar ciertas partes del código le va a pedir una conexión a la bd. Por ahora el problema que encontre es que se corta abruptamente por consumo de memoria incluso teniendo un limite muy superior, ya me sume a un issue donde se plantea lo mismo para ver si hay forma de resolverlo.

Fuera de eso, es mas que probable que haya que hacer algún tipo de extensión para que entienda cuestiones particulares del framework.. pero como decís, para eso hay que indagar mas en la documentación.

Saludos

5
Toba - Desarrollo / Re:enlace simbolico por proyecto
« : diciembre 04, 2019, 12:23:09 pm »
Hola Jhon,
La pregunta concreta es por cada instalacicón se crea un enlace simbolico a toba_3.2 ? o el mismo sirve para todos ? ya que cuando ejecutamos dicho comando al final de cada instalación dice que ya existe, o como los diferenciamos ?

Por ejemplo en la base de datos creamos una nueva por cada proyecto toba_2_3_proyectoN
Tenes un enlace simbolico por cada archivo toba.conf que exista, dentro de ese archivo tenes todos los alias que necesita el proyecto en particular (incluido el de Toba).

La pregunta seria si cada instalacion de Toba necesita su propio alias?.. .la respuesta es SI.
Tenes un alias por cada instalacion del proyecto, por lo tanto cada Toba que tenga dentro debera tener su alias propio.
No podes asegurar que distintos proyectos tengan exactamente la misma version de Toba... lo que si podes asegurar, es que cada proyecto va a tener internamente la version que necesita.

Saludos

6
Toba - Desarrollo / Re:Problema con perfiles de datos y dimensiones
« : diciembre 04, 2019, 12:10:59 pm »
Hola Martin,
Vi el comentario en el código de toba... tiene alguna solución esto? porque "abuso" de ese tipo de subconsultas.
con la forma de parsear las SQL en este momento, la unica solucion es filtrar la/s SQL/s de manera separada y luego integrarlas antes de realizar la ejecucion de la misma.
En tu caso, filtraria la SQL original y luego le pegaria la clausula where al resultado del filtrado.

Citar
La devuelve exactamente igual, hace de cuenta que no la toma.
Que info te serviría? capaz algun log en particular en alguna consulta de la api?
Si la devuelve exactamente igual, entonces es que no esta reconociendo los gatillos de las dimensiones implicadas.
Algo que acabo de notar es que el perfil de datos tiene asignados dos dimensiones para fuentes distintas, en que fuente estas filtrando la SQL?, el proyecto tiene mas de una fuente?, podrias pasarle como segundo parametro la fuente para que especificamente intente filtrar por esa?.

Lo que serviria es saber si el metodo toba_perfil_datos::get_clausula_from() esta obteniendo adecuadamente esa parte de la SQL o no, como para despues empezar a ver si la pifia buscando los gatillos o de movida.

Saludos

7
Toba - Desarrollo / Re:Problema con perfiles de datos y dimensiones
« : diciembre 02, 2019, 12:23:19 pm »
Hola Martin,

veo que tenes una subconsulta incluida en el where, eso podria estar confundiendo al parser y hacer que incluya las condiciones en el lugar equivocado.

Por otro lado, si esta devolviendo una SQL exactamente igual a la que pasas.. habria que ver por que motivo no reconoce los gatillos.

Podes pasarme mas info?.

Saludos

8
Toba - Desarrollo / Re:Error exportando Excel Guarani 3.17
« : noviembre 28, 2019, 02:58:03 pm »
Hola Matias,
Probé sacarle a todos los archivos que componen la operacion...tanto del ci como del filtro y los co y sigue estando el mismo error

eso significa que hay algun otro archivo entre todos los que ejecuta la operación que tiene ese carácter.
La instalacion que tenes de G3, esta totalmente estandar?... te consulto porque me hice una instalación de prueba de 3.17.0 y funciona sin problemas la exportación a Excel del cuadro.

Hay algun archivo que hayan editado? en gral me refiero, no puntualmente de esta operación quizás.. pero que pueda estar quedando en uso durante el runtime.

La otra opción es mirar en los archivos de Toba (que deberian estar participando), en dicho caso deberías mirar en: 
- toba_vista_excel
- toba_http

Son los únicos que pueden intervenir entre la generación y el envio... de hecho el segundo es justamente el que realiza el envio de los headers, asi que podria ser el que emita ese caracter extra.

Saludos

9
Toba - Desarrollo / Re:Error exportando Excel Guarani 3.17
« : noviembre 22, 2019, 05:44:32 pm »
Hola Matias,
Buenos dias. Estuve probando los formatos de los archivos y no hay caso, sigue fallando. Todos los archivos estan bien aparentemente. En el intento de rastrear el error doy con que el archivo temporal generado (en toba_vista_excel, metodo crear_excel, ruta dada por la variable $temp_salida) no tiene el espacio que tiene el descargado, lo cual si le cambio a extension .xls veo que funciona bien. Alguna idea que podra ser?

lo que se me ocurre es que el archivo que finalmente realiza el envio sea el que tenga el impune caracter maligno. Es claro que la generacion no es el problema, sino que aparece durante la descarga porque el browser interpreta que toda la salida luego de los headers forma parte del mismo archivo.

Hagamos una cosa, en los archivos  CI que componen la operacion (inclusive las superclases) quita el delimitador final del archivo php.
Creo que son 3 CIs en total, una vez hecho eso proba de exportar... si persiste el inconveniente quizas no este en la operacion el problema sino en algun otro lugar mas profundo.

Saludos

10
Toba - Desarrollo / Re:Como abrir un popup modal desde un boton.
« : noviembre 21, 2019, 01:21:12 pm »
Hola Juan,
Para este caso en particular el popup contiene solamente un combo para seleccionar el tipo de exportación entre (PDF, Excel, etc.), pero en general esto se esta usando para pasar parámetros al reporte que se va a imprimir/exportar, por ejemplo podría solicitar del set de datos solo los que estén entre una fecha desde y una fecha hasta, estas fechas serian dos campos en el formulario que se abre como popup.

entiendo, basicamente es pasarle parametros a la exportacion a ultimo momento.

Citar
Si, es un comportamiento que tampoco me cierra, estoy suponiendo que es una parte del framework que no conozco.
En definitiva, no se abre la misma operación en el popup, solo el formulario modal_imprimir, este formulario no aparece en la pantalla en la que debería estar según el árbol de operaciones (adjunto imagen), si yo trato de replicar el árbol de operaciones dicho formulario si aparece en la pantalla.

Justamente me parece extraño porque no es algo que suela usarse de dicha forma en el framework, ni parte comun de como opera.
Lo mas probable es que por defecto salga oculto desde el servidor y al presionar el boton de imprimir se muestre el mismo via JS, igual con eso solo lograrias mostrarlo... ahora que se haga en forma "modal", requiere del uso de algun div para simular el popup, lo mas probable es que este extendida la pantalla para sacar codigo html/js especifico.

Si tenes acceso a operaciones similares, fijate en el arbol a la izquierda que componentes estan extendidos y chusmea un poco adentro para ver que envian al cliente.
La parte de ocultar/mostrar el formulario no es muy compleja... cambiandole el estilo al tag html podes lograrlo.

Citar
Principalmente se esta usando para pasar parámetros al reporte que genera la impresión/exportación, ademas de los campos visibles en el formulario (aunque esto ya no es importante para el caso creo) hay un campo oculto en donde se establece que reporte se va a usar y un segundo campo oculto en donde se encapsulan los parámetros ingresados en una estructura json para pasárselos al reporte.

Osea que esa info va a otra operacion finalmente que es la que realiza la exportacion, supongo que esos parametros se estan agregando en JS entonces.

Citar
Estoy usando mal el termino "popup", mala mía perdón, no soy oriundo de la programación web y no me di cuenta cuando lo escribí. Es mas bien una alerta? o algo por el estilo (se ve en la imagen adjunta), es en definitiva, un cartel modal que tiene un formulario adentro no una ventana nueva del browser.
No esta mal el termino porque en definitiva es lo que trata de simular, aunque hasta que subiste la imagen pense que se abria en otra ventana directamente... siendo que se abre todo dentro de la "misma ventana"... lo que es seguro es que hay mucho laburo en JS ahi ya que hay que modificar el comportamiento de varios botones.

Yo lo que haria es algo asi:

- Extenderia en JS el evento del boton imprimir para que su accionar sea mostrar el div/iframe que contiene el otro form y punto.
- Extenderia el formulario "modal" para que su boton de aceptacion tome los parametros en cuestion del formulario y los agregue a un vinculo a la operacion de reportes el cual invoca explicitamente.
- Extenderia el HTML de la pantalla para dejar el contenido del form modal dentro de algun div oculto de manera de poder presentarlo via el primer boton.

Igual como te decia antes, ya que no tenes acceso a la persona que lo hizo.. lo mas sencillo seria fijarse en las extensiones de esos componentes (en otras operaciones que hacen esto) y ver que envian, lo bueno es que tenes a mano los fuentes de todo.. asi que podes rastrear funciones inclusive si es que no fuera HTML plano.

Saludos

11
Toba - Desarrollo / Re:Como abrir un popup modal desde un boton.
« : noviembre 19, 2019, 12:56:51 pm »
Hola Juan,
Estoy intentando abrir un popup modal para aceptar/cancelar una acción de imprimir desde un botón.
En dicho popup, visualizarias una vista previa del formulario con sus datos?.. simplemente te aparecerian dos botones?, que es lo que iria ahi?.

Citar
En uno de los proyectos que heredamos ya tienen hecho esto mismo, pero no estoy pudiendo reproducirlo, adjunto una imagen de la sección del árbol de operación de lo que quiero replicar, cabe destacar que el formulario "modal_imprimir" que muestra en el árbol de operación no se ve en la pantalla "pant_encabezado" junto al otro formulario sino que se despliega en un popup cuando el usuario hace click sobre el botón generado por el evento imprimir.  Replique la situación en todo lo que vi pero creo que me esta faltando entender algo del funcionamiento de Toba.
Tenes a mano a alguno de los desarrolladores de ese proyecto como para preguntarle?... hay algo de toda esa logica que me planteas que me hace ruido.
Primero el hecho de abrir la misma operación en un popup (de gusto), segundo que en runtime cambies los formularios que se ven en dicha pantalla y tercero que a partir de lo que decidas ahi, operes sobre la pestaña que te quedo abajo.

Citar
Alguna idea de que me podría estar faltando? o sino, cual seria la forma correcta de lograrlo?
Cualquier información adicional que requieran me avisan.
No termino de entender por que motivo la impresión requiere de una confirmación en el sistema?.. tiene algún efecto secundario?
Por otra parte, el hecho de hacerlo en un popup prácticamente hace inviable que se comporte de manera modal... tranquilamente podes evadirte de dicha "pestaña" con una combinación de teclas y dejarla dando  vueltas ahi en segundo plano.

Saludos

12
Hola Lucas,
Buenas Richard, era un error mio nomás, resulta que no se habian instalado bien las librerias en www/js/packages mediante yarn, di vueltas en el tema hasta que conseguí. aca te dejo el codigo del .JSON:
me imagine que podia venir por ese lado, por eso te pedi el archivo composer.json para ver si se estaban ejecutando los scripts correctos.

Por otro lado, el archivo JSON que me pasas es de TOBA... yo queria ver el de tu proyecto, son y deben ser completamente distintos ya que tu proyecto usa TOBA como dependencia.
Tene en cuenta que a partir de la version 3.0.0, cambio radicalmente la organizacion de los proyectos respecto de Toba... ahora tenes una instalacion por proyecto y es este ultimo el que instala a toba como dependencia via composer.

Me parece que varios de los inconvenientes que venis viendo estan relacionados con este tema.

Citar
sin embargo sigo con problemas con JS, por ejemplo no se me quitan los filtros del menú cuando quiero eliminarlos, la funcionalidad de "limpiar" funciona perfectamente pero cuando quiero eliminar por fila algun ei_filtro (desde el basurerito) no responde  y me arroja el siguiente error
"SyntaxError: expected expression, got '}' " que es un https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Errors/Unexpected_token

y al revisar el depurador me lleva hasta éstas dos funciones pero son generado por el propio toba y no consigo avanzar:
Código: [Seleccionar]
function on_menu_set_popup_on(e) {
    var id = (window.event) ? event.keyCode : e.keyCode;
if (id == 16) {
toba.set_menu_popup(true, "menu-h", "nivel-0" );
}
}
function on_menu_set_popup_off(e) {
    var id = (window.event) ? event.keyCode : e.keyCode;
if (id == 16) {
toba.set_menu_popup(false, "menu-h", "nivel-0" );
}
}
agregarEvento(document, "keyup", on_menu_set_popup_off);
agregarEvento(document, "keydown", on_menu_set_popup_on);
Quizas sea tema para otro hilo pero como siento que viene de la mano con esos packages instalados mediante el composer.json quise aprovechar para mencionarlo

Podrias fijarte en la pestaña de "RED" del depurador a ver si falta bajar algun archivo?... aun  cuando te esta marcando esas funciones, se ve claramente que no  hay un delimitador mal apareado, por lo que el error debe estar previo a eso y simplemente se da cuenta que algo no le cierra cuando el parser llega a ese punto.

Otra cosa que podes mirar es si no sale algun notice o warning como parte del codigo HTML que pudiera estar rompiendo el parseo de javascript.

Saludos

13
Toba - Desarrollo / Re:Error exportando Excel Guarani 3.17
« : noviembre 19, 2019, 11:03:48 am »
Hola Matias,
Buenos días. No la operacion no está personalizada. Adjunto Excel

normalmente cuando se rompe asi una exportacion es algun caracter extra que quedo como parte de la salida y que no deberia estar ahi, mirarias los archivos involucrados en la operacion para constatar lo siguiente?.

1.- Que no sobre ningun caracter anterior o posterior a los tags de inicio y cierre de PHP
2.- Que esten en codificacion iso-8859-1 sin BOM dichos archivos

Si abris el excel con un editor de texto comun se ve que hay un "_" previo al primer caracter que  suelen tener otros archivos de ese formato... el problema es encontrar en que parte se esta escapando ese caracter (ya sea de control o el guion mismo).

Saludos

14
Hola Lucas,

me podrias pegar el contenido del archivo composer.json de tu proyecto?... quizas este faltando ejecutar algun script para bajar los assets en el lugar adecuado.

Saludos

15
Toba - Desarrollo / Re:Como cambiar el valor por defecto de confirmacion
« : noviembre 01, 2019, 11:02:27 am »
Hola Olga,

el mensaje de confirmación es simplemente un mensaje y de hecho tiene un solo botón,  la idea es que la gente lea antes de presionar para decidir el curso de acción.

Respecto del evento de cancelación,  a menos que lo tengas como "predeterminado" ...osea que marcaste la ultima casilla al definir el evento... no debería activarse con un enter , sino que tendrían que usar algún shortcut o bien hacer click para dispararlo.

En este caso,  si lo tenes marcado.. podrias evitar que se dispare quitandole el seteo de predeterminado. Podrias quitar tambien los shortcuts.. pero seria injusto para quien no tiene un mouse o algun dispositivo de puntero.

Saludos

Páginas: [1] 2 3 ... 177