Entradas

Caracteristicas de GeneXus que vale la pena conocer: Background Specification

Imagen
En Genexus 16, pues hacer que cuando se salva un objeto, el mismo se especifique automáticamente, en background.  Esto tiene ventajas y desventajas.  Si tengo procesador suficiente (sobre todo con varios cores) , generalmente acelera el desarrollo, porque cuando largo el build all o un run, ya encuentra todo especificado y generado.  Si tengo un procesador algo limitado, puede hacer más lento, sobre todo si hago salvado de objetos muy frecuentes o genero mucho con patterns.  De cualquier manera, conviene conocerlo: 

Funcionalidades de GeneXus que vale la pena conocer: Properties Data Type

Imagen
  El   Properties   Data Type ( https://wiki.genexus.com/ commwiki/servlet/wiki?31606, Properties %20Data%20Type ) es un tipo de datos que permite manejar en memoria un conjunto de valores de clave y valor.  Tiene los métodos, Set, Clear, Get, Remove, ToJson, FromJson y Count.  Para recorrerlos todos, se puede hacer for & property  in &myProperties        msg(& property .Key)        msg(& property .Value)  endfor Es muy util en varios escenarios, por lo que conviene conocerlo.  Puede servir para hacer acumulados en memoria para guardar los filtros seleccionados por el usuario y muchos mas.  Algunos ejemplos de uso, se puede ver en: https://wiki.genexus.com/commwiki/servlet/wiki?37750,Consuming+JSON+with+GeneXus+Properties+Data+Type

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.

Imagen
Algunas veces en el código tenemos que poner una fecha como constante. Una alternativa a esta función, es usar el formato #yyyy-mm-dd# , como constante. Por ejemplo:   &InitialDate =# 2007 - 01 - 01 # &DateTime = #2020-01-01 10:00:00# Esta funcionalidad está desde hace varias versiones, pero por algún motivo, no se usa demasiado. He visto que usan ymdtod(2020,01,01) que para mi queda bastante mas confuso. Más información en el siguiente link: Date Constants

Caracteristicas de GeneXus que vale la pena conocer: GXServer Quality Assistant

 En GeneXus 17 Upgrade 2, se va a agregar una funcionalidad que permite mejorar la calidad de nuestro código: GXServer Quality Assistant.  Al momento de subir el código se analiza el mismo y a través de avanzados algoritmos de inteligencia artificial nos da un diagnóstico de la calidad del código que intentamos subir.  Algunos de los mensajes que pude probar: GQA001 - In that state, don't even think about uploading that object. GQA002 - Don't update that object. The code of the same can be improved.  GQA003 - The object you are uploading will have errors in the next 5 days.  GQA004 - We recommend that you monitor it intensively.  GQA005 -  Not much effort was put into programming this object. It is recommended that you put the batteries  GQA006 -  Do you think that with this object you are going to solve a problem? I do not think so.  GQA007 - Your contribution has not been the best, you can and should try harder.  GQ...

Características de GeneXus que vale la pena conocer: Dynamic Transaction (UNION)

Imagen
Problema: Tengo una tabla de Operaciones, que tienen movimientos que son generados por otras operaciones, como pueden ser DUA, Líneas de Duas, Conocimientos, Lineas y se pone como Referencia en la tabla de operaciones.  Como hacer un "integridad referencial" desde una tabla a varias tablas?.  En la tabla de Operaciones, voy a tener unos atributos, LuciaRefTpo y LuciaRefID, que tiene el tipo y el identificado de la referencia.  Esto se puede crear como un  Dynamic   Transaction , que es una transaccion que se le y se hace el Data Provider asociada a la transacción.  Los atributos con que armo la referencia son los campos claves de las demas tablas.  Va a generar una vista en la base de datos, que hace la UNION de la concatenacion de la tablas.  Luego, puede usarse como una tabla normal, con integridad referencial que chequea contra todas las tablas, haciendo que no se puedan grabar Operaciones, que no tengan una referencia valida.  Y tamb...

Caracteristicas de GeneXus que vale la pena conocer: Progressive Web Application (PWA)

Imagen
Con GeneXus se pueden hacer aplicaciones web progresivas o PWA. Son una buena opción para desarrollar aplicaciones WEB que se comporten como nativas. Son Responsive, permiten ser usadas aun sin conexión y acceden a varios de los periféricos de las computadoras o celulares.  Hay un buen video que explica que es una  PWA  y otro de como hacerlas con GeneXus.  Tambien hay informacion en el wiki de GeneXus https://wiki.genexus.com/commwiki/servlet/wiki?42601,How%20to%20create%20a%20PWA%20using%20GeneXus https://wiki.genexus.com/commwiki/servlet/wiki?42600,Toc%3AProgressive+Web+Applications+in+GeneXus

Características de Genexus que vale la pena conocer: DataSelectors con USING o IN

Imagen
Los   Data Selectors   con objetos GeneXus que permiten almacenar condiciones (WHERE) y formas de ordenar (ORDER BY) de forma que puedan ser reutilizados en varios objetos.  Tienen varias ventajas:  * El código queda mas fácil de leer y se escribe menos * Encapsulan conceptos, como podría ser DOCUMENTO_ACTIVO (que tuviera un ESTADO <> 'ANU') y podria usarse en todos los lugares donde solo se necesitan los DOCUMENTOS no anulados.  * Centralizan el código, por ejemplo, si se necesita cambiar el concepto de DOCUMENTO_ACTIVO, se cambia solo el data selector y todos los objetos que lo usan, van a ver reflejado el cambio en las condiciones.  Una opción poco conocida de los data selector es que permiten usarse con USING (con lo cual agregan sus condiciones lo que se tenga el for each) o con IN , con el cual se hace una subconsulta para resolver la consulta.  Por ejemplo, si tengo la tabla  Empresa *EmpresaID EmpresaActiva ...