Sabías que … (4)

Sab√≠as que … (4)

Se puede desactivar la ordenaci√≥n de las columnas de las Rejillas de 2 formas …

    • Pero ninguna de ellas con Velneo nativo.
    • La primera usando el API mediante la funci√≥n setSortingEnabled(false) de la clase VGridListDataView.
    • La segunda se consigue usando una regla CSS sobre el control Rejilla.

Interfaz: Establecer hoja de estilo CSS ( GRD_REJILLA, “QTableView { qproperty-sortingEnabled: false}”)

Se puede ACELERAR LA CARGA DE LOS REGISTROS DESDE SERVIDORES REMOTOS

    • En nuestras aplicaciones necesitamos consultar a menudo tablas con muchos registros (art√≠culos, clientes, …).
    • En Cloud la primera consulta necesita un tiempo extra para guardar los registros en la cach√© del cliente.
    • Ese tiempo extra puede resultar en una mala experiencia para el usuario.
    • Podemos minimizar ese tiempo extra precargando los registros en el autoexec de la aplicaci√≥n mediante un proceso en 2¬ļ plano y el comando Cargar lista
    • El comando Cargar lista rellenar√° la cach√© con los registros de la tabla y de esta forma la primera consulta que realice el usuario se har√° desde la cach√© en lugar del servidor remoto.

Se puede fijar el tama√Īo de un Dock cuyo Objeto incrustado sea un formulario

    • Muchas veces nos interesa bloquear el tama√Īo de un Dock de tipo formulario, aparte de fijarlo en un sitio de la pantalla.
    • Usaremos el CSS siguiente en el que establecemos el mismo valor para las propiedades min-height/max-height o min-width/max-width:

QDockWidget {
       /* Los Docks son hijos de la Ventana principal QMainWindow y heredan los valores de min-width y min-height */
       /* Por eso se sobreescriben con la clase QDockWidget */
       min-width: 300px;
¬† ¬† ¬† ¬†/* Haciendo el min=max conseguimos que el Dock no sea modificable en tama√Īo */
       min-height: 100px;
       max-height: 100px;
}

    • Hay que tener en cuenta que el CSS afectar√° a todos los Docks de tipo formulario que tenga la Aplicaci√≥n, por lo tanto, esto solo es v√°lido cuando existe un solo Dock. (Los Docks del editor de Informes personalizados tambi√©n se ver√°n afectados).

Ordenar una Rejilla sin tener en cuenta ni may√ļsculas ni acentos

    • La ordenaci√≥n que tenemos en la Rejilla es alfab√©tica y tendr√° en cuenta las may√ļsculas y acentos.
    • Para disponer de una Ordenaci√≥n independiente de may√ļsculas y acentos lo que debemos hacer es a√Īadir un nuevo campo #NOMBRE_64 a la tabla que sea de tipo F√≥rmula alfab√©tica. El contenido de la f√≥rmula ser√° stringToAlpha64(#NOMBRE). El campo NOMBRE es el que queremos ordenar.
    • Con el comando Ordenar lista (#NOMBRE_64) conseguiremos el resultado deseado.

El comando Set retorno de proceso = NO en procesos de 3P inhabilita el comando Get variable local de objeto ejecutado desde 1P

    • Mucho cuidado con el comando Set retorno de proceso = NO en procesos ejecutados en 3P y que deban devolver valores en variables locales
    • El comando Get variable local de objeto no es funcional cuando el proceso en 3P ha terminado con un Set retorno de proceso = NO
    • Por lo tanto, cuando un proceso vaya a ser ejecutado en 3P lo mejor es no usar este comando y sustituir el retorno por una variable local que leeremos desde 1P

La carpeta base en el Visor HTML es siempre la caché de vClient

    • La carpeta base del c√≥digo que ejecutamos en el Visor HTML es siempre la cach√© de vClient
    • Tenemos que tenerlo en cuenta si queremos usar links en el c√≥digo que hagan referencia directamente al fichero
    • Para cambiar la carpeta base tenemos que usar la funci√≥n del API VCWebView.setSourceCode(html, pathBase).

Un proceso en 4P ejecutado desde vClient no contempla la herencia hacia arriba

    • Los procesos en 4P se ejecutan siempre en una copia de la instancia del proyecto al que pertenecen
    • Lo podemos comprobar con el siguiente ejemplo:

Tenemos un proceso PRO_VERALIAS javascript en el proyecto de datos,

var cAliasAPP = theApp.mainProjectInfo().alias();
// Muestra en vAdmin el Alias
alert (“El valor de theApp.mainProjectInfo().alias() es: ” + cAliasAPP)

Ejecutamos el proceso PRO_VERALIAS desde el proyecto de aplicación en 3P y 4P.

Comprobamos que en 3P devuelve el alias del proyecto de aplicación y en 4P sin embargo devuelve el alias del proyecto de datos.

    • Por lo tanto, habr√° que tener en cuenta este comportamiento en aquellos scripts javascript que vayamos a ejecutar tanto en 3P (s√≠ncrono) como en 4P (as√≠ncrono).
      El resultado no será el mismo cuando en el código se vaya a contemplar la cadena de herencia, por ejemplo la función VProjectInfo.allTableCount().

QML solo funciona en 1P

    • El c√≥digo QML se ha incorporado a Velneo para mejorar nuestros interfaces, sobre todo en dispositivos m√≥viles.
    • Los scripts QML siempre van asociados a un formulario.
    • As√≠ que QML solo tiene sentido en 1P y el c√≥digo estar√° siempre descargado en la cach√© de vClient.

En tiempo de dise√Īo el editor de f√≥rmulas javascript eval√ļa las expresiones introducidas

    • El bot√≥n Verificar (F9) no solo comprueba la sintaxis del c√≥digo javascript sino que adem√°s eval√ļa la expresi√≥n.
    • Este comportamiento en tiempo de dise√Īo puede tener consecuencias curiosas o incluso peligrosas.

Dos ejemplos:

SET(LOK, /*JAVASCRIPT*/theApp.setOverrideCursor(17))
SET(LOK, /*JAVASCRIPT*/theApp.removeFile(‚Äúd:/este_fichero_se_va_a_borrar.txt‚ÄĚ))

    • Para evitar que se eval√ļe el c√≥digo en tiempo de dise√Īo podemos usar el siguiente comando:

if (theApp.exeName() != “vDevelop”) { <expresi√≥n javascript> }

La entrada Sab√≠as que … (4) aparece primero en AyudaVelneo.

Exportación dinámica de datos mediante vJavascript

En The Seed Software Company hemos desarrollado un exportador de datos dinámico basado en vJavascript. Funcionalidades básicas del exportador: Versión 1.0 Permite exportar en los siguientes formatos: CSV, TXT, XML, JSON y HTML. Para la exportación en TXT podemos decidir el tipo de separador a utilizar y si queremos o no incluir el título de las distintas columnas. Permite elegir [...]

Entrada temporal usada para la detecci√≥n del tema (c8d690fe-ad00-4c76-99ab-9fd32e70edb0 ‚Äď 3bfe001a-32de-4114-a6b4-4005b770f6d7)

Se trata de una entrada temporal que no se eliminó. Elimínala manualmente. (a2f15dcf-044f-4b4f-86c1-c71a35806852 Р3bfe001a-32de-4114-a6b4-4005b770f6d7)

Entrada temporal usada para la detección del tema (c8d690fe-ad00-4c76-99ab-9fd32e70edb0 – 3bfe001a-32de-4114-a6b4-4005b770f6d7) is a post from: Consultor√≠a, an√°lisis y programaci√≥n en la plataforma de desarrollo de aplicaciones empresariales Velneo V7

Entrada temporal usada para la detección del tema (c8d690fe-ad00-4c76-99ab-9fd32e70edb0 – 3bfe001a-32de-4114-a6b4-4005b770f6d7) is a post from: Consultor√≠a, an√°lisis y programaci√≥n en la plataforma de desarrollo de aplicaciones empresariales Velneo V7

Actualizando el Blog

Buenas a todos.

En estos días intentare cambiar el Host del Blog para ver si consigo que funciones en condiciones aceptables.

√öltimamente estoy teniendo complicaciones lo cual me impide muchas veces el publicar, actualizar, etc.

No es f√°cil hacer una publicaci√≥n directamente en la SQL, la verdad es un co√Īazo.

Así que ya sabéis, se esta la web Off o mas rara que un perro verde no os asustéis.

Gracias a todos.