Ir al contenido principal

Un tip super menor y una curiosidad

Si se están definiendo atributos en la estructura de una transacción y se digita "." (punto) entonces pone el nombre del nivel como "prefijo".

De este modo si estoy en el primer nivel de la transacción: "Cliente" cuando en el nombre del atributo a ingresar escribo "." lo sustituye por "Cliente".

Así si quiero definir los atributos "ClienteNombre", "ClienteApellido", "ClienteSaldo", etc es más sencillo.

¿obvio? ¿al menos conocido?

Está bien.... es conocido.

Incluso muchos saben que el "." si estoy en un subnivel de la Transacción entonces toma como prefijo el nombre del nivel no en nombre de la transacción.

¡Todos somos super listos! se terminó el post acá... o...



en realidad iba a otro punto no tan conocido (creo).

Si en lugar de querer prefijar con el nombre del nivel o de la transacción quiero prefijar con la "raiz" del atributo anterior ¿cómo hago?

Por ejemplo, estoy en la transacción de Facturas y no he definido la de Clientes, ya lo haré, pero en primera instancia preciso escribir algo como:

FacturaId*

FacturaFecha

ClienteId

ClienteNombre

ClienteDireccion

En si, para los dos primeros me sirve el "." pero para el resto no porque prefijaría con "Factura" en lugar de "Cliente" que es lo que preciso.

¿Cómo se hace? fácil, en lugar de "." se utiliza """ o sea, comillas dobles.

Ahí toma la "raíz" del atributo anterior, o sea, hasta la primer mayúscula, cuando voy a escribir "ClienteNombre" podría simplemente poner comillas y ahí aparecía el texto "Cliente".

¿Todo el mundo la sabía? bueno, reconozco mi total ignorancia de ese "tip".

Ahora ¿es medio "raro" no?  el punto para prefijar con el nombre de la trn o nivel y la comilla para prefijar con la raiz del anterior, no se, suena más razonable una coma o algo más simple ¿no?.

El punto lo tengo ahí a un teclazo, las comillas a dos (shift+2), depende de la configuración del teclado pero parece menos práctico.

Ahí viene la curiosidad... bueno, la dejo planteada hasta el lunes, capaz alguno la descubre (*) y la postea, es un motivo tecnicamente correcto no es "porque a alguien se le antojó", tiene fundamento digamos.

En conclusíon: creo que muchos conocen lo del punto, ya son menos los que conocen los de las comillas ¿cuantos serán los que descubren el motivo? me juego a que pocos.. muy pocos..talvez ninguno.

Bueno, vierne 19:23, me voy yendo... ahh antes voy a develar el secreto de los ninjas en el post correspondiente

(*) cuando digo "descubre" me refiero a que quienes saben la respuesta porque son de desarrollo  o ya la sabían no tiene gracia, la gracia es ver si alguien la descubre realmente.

Comentarios

  1. Y... las comillas se usan en el idioma para representar el texto del renglon anterior sin escribirlo. podria ser un buen motivo ese....

    ResponderBorrar
  2. Cuando he leido el post he llegado a la conclusion de que el uso de las comillas es para abreviar como cuando estas haciendo una lista:

    Nombre del cliente
    Direccion " "
    Telefono " "

    Para no poner muchas veces "del cliente"... conste que lo habia pensado antes de leer el comentario de Gabriel ;-)

    Salu2

    ResponderBorrar
  3. ¡Tenemos dos ganadores!
    Cuando me lo explicaron (obvio que yo no lo deduje) me cerró y a la vez pensé: "¡hace cuanto no escribo unas comillas a mano!"

    En fin, cavilaciones sin sentido en un viernes lluvioso, buen fin de semana.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Abrir links con aplicaciones nativas y no el browser (deeplinking)

El problema que tengo con algunas aplicaciones Android/iOS es que cuando recibo un link por algún medio (mail, tweet, etc) al abrirlo me lo abre con el browser, en lugar de abrirlo con una aplicación nativa asociada a ese “contenido”. Por ejemplo, si recibo un link a un tweet espero que lo abra con alguna aplicación de twitter que tenga instalada y no con el browser. De modo análogo si recibo un mail con una nota de prensa de un medio X y tengo la aplicación de ese medio X instalada, espero que el link lo abra con la aplicación nativa y no con el browser. Lo mismo quisiera con mi aplicación de "banking" o cualquiera que tenga instalada y sepa manejar ese "contenido" (link). Los motivos son bastante obvios pero los resumo en: la experiencia de usuario es mucho mejor en la aplicación nativa que en el navegador. Parte importante del tema es que el mismo link sea válido tanto para ver el contenido en el browser como para verlo en la aplicación, porque como prove

¡A la salud de mi KB!

Es bueno, especialmente en "bases de conocimiento" (KB) que han pasado por varias versiones de Genexus, chequear su "estado de salud". En este sentido KBDoctor  es una herramienta que ayuda mucho, principalmente desde el punto de vista del "modelo" Genexus (atributos, calls, definiciones de variables, etc) representado en una KB. También es útil revisar la salud de los archivos que lo soportan. Hasta la 9.0 eran archivos C-tree (los famosos .DAT) que tenían indices (los famosos .IDX) y teníamos en "rebuild -y" que mejoraba esos archivos y sobre todo reconstruía los indices. A partir de la X las KBs se almacenan en MS SQL Server por lo cual la administración de la misma pasó de ser un "file server" a un "database server". En este sentido algo que me ha dado muy buenos resultados es el "CheckKnowledgeBase".

Rocha:Constantes tipo fecha

En la Rocha se soportan constantes del tipo fecha o fecha-hora con formato ANSI/ISO (AAAA-MM-DD HH:MM:SS).  Tecnicamente (Sintáxis): <date>::=    [0-9]{1,4}"/"[0-9]{1,2}"/"[0-9]{1,2} | [0-9]{1,4}"."[0-9]{1,2}"."[0-9]{1,2} | [0-9]{1,4}"-"[0-9]{1,2}"-"[0-9]{1,2} <hms>::=    [0-9]{1,2}[ap] | [0-9]{1,2}":"[0-9]{1,2}[ap]? | [0-9]{1,2}":"[0-9]{1,2}":"[0-9]{1,2}[ap]? <constant> ::=   "#"<date>"#" | "#"<date> <hms>"#" | "#"<hms>"#" Funcionalmente Se pueden utilizar esas constantes en las reglas, eventos, propiedades, etc (todo lugar donde se utilice el parser): Algunos ejemplos básicos: &FechaInicial=#2007-01-01# &FechaHoraInicial=#07-1-1 11:15a# &HoraInicial=#11a# Me parece bueno no tener que escribir funciones (CTOD, TTOC) sobre constantes tipo char para lograr una fecha y mucho mejor aun en