Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones

¡Ya está aquí!, el próximo jueves 12 de marzo de 2015, en Madrid tienes la oportunidad de participar en el evento anual de desarrollo de software empresarial, Life is soft.

Este año, Life is soft 2015 va A +.

PageLines- jesus_arboleya_lis2012.jpg

Tendrás ponencias, en formato TED, sobre calidad de software, aplicaciones rentables en la nube, aplicaciones que integran QML, DHTML, te enseñaremos la plantilla empresarial vERP para que dispongas de tu propio ERP y muchas más temáticas.

Es una oportunidad única para convivir e interactuar con el equipo de Velneo y su comunidad, participar en las diferentes mesas redondas temáticas, conocer los diferentes casos de éxito de la comunidad e intercambiar experiencias e inquietudes con otros desarrolladores.

¡¡Date prisa porque quedan muy pocas plazas presenciales!! Regístrate ahora

Continuamos con la confianza depositada en nosotros por la Universidad Politécnica de Madrid para permitirnos realizar el evento presencial en sus instalaciones.
Este año será mucho más potente y más técnico, algo que ya nos solicitaron nuestros clientes.

Para ello, el evento estará dividido en dos partes. Por la mañana, realizaremos unas jornadas de networking con mesas temáticas sobre estrategia, desarrollo y comercial, una mesa redonda con casos de éxito de clientes y la entrega de un premio al mejor forero de la comunidad Velneo. Este evento será exclusivamente presencial.

Por la tarde, empezarán las ponencias sobre diferentes temas relacionados con las empresas de software empresarial donde intercalaremos ponencias puramente técnicas con grandes novedades de esta versión y de las posibilidades que ofrece Velneo para integrarse con otras tecnologías. Este evento será retransmitido por streaming para toda España y la comunidad Latinoamericana.

Puedes consultar la agenda detallada del evento aquí.

Este año tendré el placer de compartir escenario con mi amigo Nicolás Osuna para presentaros las importantes novedades del gran componente de la plataforma Velneo vERP, la plantilla de código abierto con la que puedes construir tu propio ERP.

Te esperamos y en caso de que no puedas asistir al evento presencialmente recuerda que podrás asistir al mismo con la transmisión online que realizaremos.

The post Life is Soft 2015 evento en Madrid para desarrolladores de aplicaciones appeared first on Lógica mente Velneo V7.

4 aplicaciones que no pueden faltar en una empresa de software

Cualquier persona que deja de aprender es viejo, ya tenga veinte u ochenta años. Cualquier persona que sigue aprendiendo se mantiene joven. Henry Ford

.

Las base de cualquier empresa de software es innovar constantemente en sus procesos, después de innovar puedes encontrar aplicaciones que te ayuden a mejorar o estabilizar esas mejoras. Algunas empresas creen que con implantar una herramienta, un producto, una aplicación sus procesos mejorarán y eso rara vez se produce. Si eres un mal conductor da igual el coche que te compres, seguirás teniendo accidentes. Es importante que te plantees primero la mejora de los procesos y luego selecciones la herramienta que te acompañará en esa innovación.

.

innovación

. 

-Gotowebinar: Hace un año y medio empezamos a trabajar internamente en seminarios online, posteriormente buscamos la herramienta que nos cubriera nuestras necesidades, después de un par de fracasos, encontramos Gotowebinar con la cual estamos muy satisfechos. La innovación fue un éxito, en el último año hemos registrado más de 4.000 programadores en nuestros seminarios en Velneo. El seminario “Tu primera aplicación empresarial” lleva más de 2.000 alumnos y su interés no para de crecer. Para mi es una sorpresa el gran éxito de este servicio, es sin duda, el servicio de mayor crecimiento en el último año y de mayor progresión de futuro. Los seminarios on-line funcionan, es un servicio complejo y tardarás mínimo un año en empezar a entenderlo pero si apuestas tendrás retorno.

.

-Zendesk: El servicio de soporte es crítico para cualquier empresa de software, es una clave en el negocio y no puedes parar de innovar y mejorar. Al principio te limitas a contestar correos, cuando quieres mejorar, tener varias personas de soporte, base de conocimiento, histórico de consultas, gestión por empresas, gestión de satisfacción,….necesitas procesos y una buena herramienta. El crecimiento de soporte se ha disparado en el último año y hemos llegado a 12.000 iteraciones de soporte con clientes, mejorando nuestra satisfacción y los tiempos de respuesta. Las mejoras en procesos han sido muchas, pero si además se acompañan de una buena herramienta el éxito está garantizado.

.

-Mailchimp: Llevo escuchando que el mailing está muerto desde que empecé en el mundo de software hace 15 años y hoy día sigue siendo la herramienta de comunicación más importante que tenemos con nuestros clientes. El trabajo que hay detrás del mailmarketing puede llegar a ser infinito, hay que mejorar en segmentación, flujos, base de datos, categorización, workflow y una vez mejores internamente todo esto podrás sacarle partido a una herramienta como Mailchimp. La complejidad y capacidades del mailmarketing son inmensas pero muchos procesos internos tienen que estar preparados para sacarle partido de verdad, por ejemplo la base de datos perfectamente categorizada es una de las claves.

.

-Google Analitics: El primer consejo del uso de Google Analitics es que te olvides de la herramienta, coge una hoja de papel escribe los 5 objetivos que quieras medir y olvídate del resto. Trabajar con esta herramienta puede ser como conducir una nave espacial. Google analitics es clave para medir la atracción de leads a tu sitio. Una vez tengas claro el funcionamiento puedes profundizar en el uso de dos herramientas complementarias, Kissmetrics y Fullcontact. (esto daría para muchos post ; )

 

Estas herramientas son todas geniales, a la mayoría de ellas no le sacamos el 40% de su potencial porque internamente todavía no estamos preparados ni organizados para sacarles todo lo que nos pueden dar. Es importante que antes de pensar en herramientas estés bien organizado internamente y tengas claro como quieres que funcione tu negocio de venta de software.

Cómo personalizar aplicaciones en ejecución

¿Te gustaría saber como personalizar aplicaciones en ejecución sin tocar el código fuente de tu aplicación estándar? Entonces te recomiendo que sigas leyendo…

Las aplicaciones estándar tienen la ventaja de que se programan una vez para todos los clientes y el inconveniente de que no están ajustadas a las necesidades específicas de cada uno. Las aplicaciones a medida, justo lo contrario, se ajustan a las necesidades específicas pero eso obliga a mantener un programa por cliente.

El sueño de cualquier desarrollador o empresa de programación es disponer de un programa estándar que pueda mantener una única vez y que sin tocar ese código fuente pueda tener las adaptaciones específicas para cada uno de sus clientes. De esta forma podrías ofrecer unos productos y servicios de gran calidad a un precio ajustado.

¿Te gusta la idea pero crees que es un utopía?
Velneo V7 en cada versión ha mejorado añadiendo nuevas posibilidades para acercarte al sueño de conseguir alcanzar esa utopía.

Para conseguir que tus aplicaciones sean altamente personalizables y configurables Velneo V7 nos provee de las siguientes herramientas:

  • Herencia de proyectos para reutilizar el código.
  • Puntos de inserción para añadir opciones de menús y subformularios sin tocar el código fuente.
  • Tablas de extensión para añadir campos a tablas del núcleo estándar sin modificar su estructura.
  • Índices complejos para generar índices de tablas sin tocar su estructura o combinando campos de diferentes tablas incluyendo las que están en el estándar.
  • API de Velneo que nos permite acceder a todos los objetos y subobjetos de la aplicación tanto para conocer su definición como para controlarlos en tiempo de ejecución.

La combinación de todas estas herramientas nos abre la puerta al desarrollo de un núcleo estándar que pueda ser personalizado específicamente para cada cliente.

Además, de las funcionalidades programadas específicamente para cliente existen una serie de configuraciones y personalizaciones que se hacen a nivel de interfaz para cada cliente o usuario. Gracias a las nuevas funciones disponibles en el API de Velneo podemos de forma rápida y sencilla conseguir que los programadores, implantadores e incluso el usuario pueda personalizar sus rejillas, formularios y menús.

 

El ejemplo

Te recomiendo que veas el vídeo de la presentación realizada por Jesús Arboleya en Life is Soft 2014 donde realiza la personalización de la aplicación en tiempo de ejecución sin tocar el código fuente del estándar.

Cómo personalizar aplicaciones en ejecución. Vídeo


Tal y como se muestra en el vídeo la personalización en tiempo de ejecución se apoya en la potencia del API de Velneo tanto para gestionar la interfaz como para modificar los menús de la aplicación.

 

Menús personalizados

Podemos programar nuestros menús dinámicamente sobre una tabla de opciones de menú. Y con el API podemos conseguir que la configuración de las opciones se realice en tiempo de ejecución, por lo que resulta muy sencillo añadir opciones personalizadas, modificar las estándar y aplicar la personalización a nivel general o de grupos de usuario.

Cómo personalizar aplicaciones en ejecución. Opciones de menú dinámicas

 

Formularios y rejillas personalizadas

A nivel de personalización de la interfaz podemos configurar diferentes acciones: ocultar y desactivar controles, añadir, quitar y sustituir subformulario.

Cómo personalizar aplicaciones en ejecución. Formulario de configuración

Incluso ejecutar un script, lo que nos abre las puertas a hacer prácticamente de todo en la personalización de un formulario o rejilla, sin tener que tocar su código fuente o cambiar sus propiedades. Y todo en tiempo de ejecución.

Cómo personalizar aplicaciones en ejecución. Formulario de configuración avanzada

 

Programar la personalización

El otro aspecto importante de la personalización de aplicaciones en ejecución con Velneo V7 es lo realmente sencillo que resulta, ya que solo necesitamos incluir un manejador de evento JavaScript con estas 2 líneas en cada objeto que queramos que sea personalizable.

Cómo personalizar aplicaciones en ejecución. Código JavaScript

Y ejecutarlo en el evento post-inicializado de nuestros objetos formulario y rejilla, o en el momento que nos interese.

Este script es siempre igual para todos los objetos y no requiere cambiar nada, ya que la función no tiene parámetros, lo que permite programarlo a toda velocidad incluso en las aplicaciones que ya tengas programadas.

Hay que destacar que el uso de esta personalización no supone pérdida de rendimiento en la ejecución de tus aplicaciones ya que el código script de la personalización lo ejecuta Velneo V7 a toda velocidad.

 

Seminario sobre personalización de aplicaciones en ejecución y vERP

Tras la salida de la versión 7.15 realizaremos un seminario online el próximo 24 de abril en el que se explicará con detalle cómo puedes aplicar esta personalización en ejecución a tus aplicaciones y a los suscriptores de vERP les entregaremos el script para que puedan aplicarlo y disfrutarlo.

Ahorra muchas líneas de código y programa a toda velocidad aplicando la personalización de interfaz y menú de Velneo V7 en tus aplicaciones.

La entrada Cómo personalizar aplicaciones en ejecución aparece primero en Velneo V7.

PaaSOSGTD: el nuevo miembro de la familia PaaSOS desarrollado por AyudaVelneo

Después de realizar el módulo de cobros y pagos para la plataforma PaaSOS de Tipesoft, con la salida de la versión 1.4, aparece un nuevo producto que he desarrollado para esta plataforma: PaaSOSGTD. Con PaaSOSGTD podrás aplicar la metodología GTD creada por David Allen que según la wikipedia “se basa en el principio de que una persona necesita liberar su mente de las tareas pendientes guardándolas en un lugar específico. De este modo, no es necesario recordar lo que hay que hacer y se puede concentrar en realizar las tareas.” GTD y PaaSOS Con este nuevo producto, el autónomo o pequeño empresario, foco al que se dirige la plataforma PaaSOS (además de a las Pymes) tendrá una herramienta sobre la que implementar la metodología GTD y aumentar su productividad personal. Además PaaSOSGTD está perfectamente integrado con el resto de aplicaciones de la familia PaaSOS: Calendario, tareas así como con el nuevo módulo eCorreo también de aparición en esta versión 1.4. Estos son los pasos de la metodología GTD: 1.- Recopilar para vaciar tu mente No tendrás que perder tiempo en recopilar tu información. Podrás anotar lo que te haya surgido de una manera ágil [...]

El artículo PaaSOSGTD: el nuevo miembro de la familia PaaSOS desarrollado por AyudaVelneo fue publicado en Ayudavelneo por Francisco José Vila Martín

¿Qué es BusinessCenter Pro? Aquí despejamos tus dudas

BusinessCenter Pro se define como “el ERP de gestión por excelencia, de cualquier PYME o gran empresa que quiera gestionar todo su negocio de una forma eficaz y con un control exhaustivo de los costes y de los ingresos. Incluyendo controles para las empresas dedicadas a la producción o fabricación de productos o equipamientos“. Hugo Barros (InnovaDB) y Martín Ibarra (distribuidor Master en México) nos desgranan el modelo de negocio que hay en torno al producto en el que destaca la inversión nula que los distribuidores tienen que realizar inicialmente. Quiero pedir disculpas por los problemas técnicos que tuvimos [...]

El artículo ¿Qué es BusinessCenter Pro? Aquí despejamos tus dudas fue publicado en Ayudavelneo por

Planos de ejecución en Velneo V7

BUENAS PRACTICAS – 5 CONCEPTOS BASICO

El objetivo del manual Planos de ejecución en Velneo V7 es explicar conceptos cuyo conocimiento se puede considerar imprescindible conocer y comprender para desarrollar aplicaciones con Velneo V7 de forma rápida y eficaz. Estos conceptos te ayudan a comprender la filosofía de programación de Velneo V7.

Con el objetivo de ayudarte a comprender mejor algunos de ellos he creado este documento denominado “Planos de ejecución en Velneo V7″, en el que se tratan temas importantes relacionados con la arquitectura cliente-servidor así como el uso de diferentes objetos de la plataforma y, sobre todo, la descripción de los planos de ejecución y como utilizarlos para optimizar nuestras aplicaciones.

Descarga el documento Planos de ejecución en Velneo V7

Portada planos de ejecución en Velneo V

Haz clic en la imagen superior o en el siguiente enlace Planos de ejecución en Velneo V7 para descargar el manual en formato PDF.

Espero que te resulte útil.

 

Si te ha gustado este artículo, por favor compártelo con los tuyos en las redes sociales

The post Planos de ejecución en Velneo V7 appeared first on Lógica mente Velneo V7.

Planos de ejecución en Velneo V7

El 17 de Septiembre de 2013 celebramos un seminario de consultoría online en el que se dieron respuestas a múltiples cuestiones planteadas por los desarrolladores de Velneo V7. Existen conceptos cuyo conocimiento ayudan a comprender la filosofía de programación de Velneo V7. Con el objetivo de ayudar a que se comprendan mejor algunos de ellos he creado este documento denominado “Planos de ejecución en Velneo V7″, en el que se tratan temas importantes relacionados con la arquitectura cliente-servidor así como el uso de diferentes objetos de la plataforma y, sobre todo, la descripción de los planos de ejecución y como utilizarlos para optimizar nuestras aplicaciones.

Portada planos de ejecución en Velneo V7

Descarga el documento Planos de ejecución en Velneo V7 en formato PDF.

Espero que os sea de utilidad.

La entrada Planos de ejecución en Velneo V7 aparece primero en Velneo V7.

Control de edición de etiquetas en Velneo V7

VITAMINA – 11

Las posibilidades que ofrece Velneo V7 para el desarrollo de la interfaz de tus aplicaciones es muy elevado. Si además de todo lo que trae la plataforma le unimos las posibilidades que ofrece la integración de QML y el control visor HTML, nos encontramos que los límites se disipan entre tantas posibilidades. En este artículos veremos como implementar un control de edición de etiquetas en Velneo V7.

Es cierto que los controles que la plataforma trae por defecto son mucho más Life is Soft que crear controles QML o con HTML, pero no es menos cierto que en Internet podemos encontrar controles, plantillas y recursos que nos ayudan a mejorar la interfaz de nuestras aplicaciones de forma más cómoda y rápida.

Ejemplo de formulario con control de edición de etiquetas

Control de edición de etiquetas en Velneo V7

Esta vitamina es un ejemplo de las posibilidades que ofrece el control visor HTML para añadir a nuestros formularios controles que Velneo V7 no incluye en su galería de objetos o controles.

Vídeo que explica como incluir un control de edición de etiquetas en Velneo V7

Para los amantes de Life is Soft

Te dejo el enlace de descarga de la instalación de la solución controlTag que contiene todos los objetos explicados en esta vitamina totalmente operativos para que los pruebes o uses directamente heredándolo en tus aplicaciones.

Por razones de seguridad, el fichero de instalación .vin lo descargarás comprimido en formato zip. Debes descomprimirlo para obtener el fichero con extensión “.vin”.

Recuerda que este fichero de instalación está creado con la versión 7.14, por lo que necesitas instalarlo en un vServer que tenga esa versión o una superior.

icono descarga 32 Descargar controlTag_1_1_714_vin

Actualizado

Cuando publiqué la versión 1.0 comentaba que esta vitamina funcionaba bien en Windows, pero no en Linux y Mac. La versión 1.1 ya funciona correctamente en todas las plataformas. El motivo por el que no funcionaba correctamente era que el controlHtml usa ficheros externos que van adjuntos en la aplicación y en el segundo parámetro de la función setSourceCode con la que se añade el HTML al control se especifica el directorio de caché de la aplicación, sin embargo, eso funcionaba bien Windows pero no el resto de sistemas. Para garantizar la compatibilidad multiplataforma es necesario añadir el prefijo “file:///” (con tres barras) tal y como se muestra en el siguiente código.

// Cambiar el HTML del control
control.setSourceCode( html, "file:///" + theApp.clientCachePath() );

 

Si te ha gustado este artículo, por favor compártelo con los tuyos en las redes sociales

The post Control de edición de etiquetas en Velneo V7 appeared first on Lógica mente Velneo V7.

Importación automática de datos con Velneo V7

VITAMINA – 10

Una de las actividades más habituales con la que nos encontramos los desarrolladores es la importación de datos. Tanto por razones operativas de la aplicación, como por la migración de aplicaciones hacia nuevas versiones. En este artículo aprenderás a desarrollar la importación automática de datos con Velneo V7.

En el desarrollo de aplicaciones a medida la migración de datos es un capítulo importante y que debemos resolver desde el primer momento para contar con información real tanto para hacer pruebas como para preparar la migración definitiva el día de la puesta en producción.

Gracias al uso del API para JavaScript, en Velneo V7, es realmente sencillo y automático el proceso de migración de información de datos desde otros sistemas hacia Velneo V7, a través de ficheros de texto.

En esta píldora vamos a ver los realmente sencillo y práctico que puede ser realizar la importación de datos en tablas V7 a través de un proceso automatizado JavaScript.

1º Un proceso principal V7 que dirige la importación

Para conseguir preparar una importación automática de datos en múltiples tablas V7, lo primero que debemos hacer es preparar un proceso V7 que se encargará de solicitar el directorio de importación, donde encontraremos los diferentes ficheros que vamos a procesar para proceder a la importación de sus datos. En la siguiente imagen podemos ver el contenido de este proceso V7 estándar para la importación.

Importación automática de datos con Velneo V7

2º Un formulario para solicitar la senda de importación

Como vemos en la imagen, lo primero que hace es solicitar mediante un formulario la senda del directorio donde encontraremos todos los ficheros ASCII a importar.

Selección directorio de importación

Este formulario será el que utilizará el usuario para seleccionar el directorio de importación donde previamente a la importación habremos almacenado los ficheros que contienen los datos a importar. Contiene un control de tipo selección de directorio para la localización y selección del directorio de disco donde estarán almacenados los ficheros a importar.

Una vez seleccionado el directorio donde encontraremos los ficheros a procesar para su importación. El proceso V7 se encarga de ejecutar el proceso JavaScript. En la imagen vemos que el proceso se ejecuta mediante los comandos de manejador de objeto y disparar objeto. El proceso se ejecuta en primer plano (cliente), pero se podría optimizar ejecutándolo en tercer plano (servidor), en este último caso los ficheros a importar deberían estar almacenados en una subcarpeta del servidor y, probablemente en lugar de seleccionar el usuario final la senda del directorio de importación, podría ser un directorio configurado.

Podemos observar que el proceso V7 pasa valores al proceso JavaScript mediante el uso de variables locales, en concreto le pasa 2 valores: SENDA (senda del directorio donde se encuentran los ficheros a importar) y SEPARADOR, variable donde identificamos el carácter de separación entre valores de campos. Por defecto se asume el valor de separación de campos “\t” (el tabulador), salvo que le pasemos un caracter específico en la variable SEPARADOR.

3º Un proceso JavaScript que se encargará de la importación

// --------------------------------------------------------------------------------
// Devuelve el idRef de una tabla a partir de su Id
// --------------------------------------------------------------------------------
var tablaIdRef = function ( tablaId )
{
    // ----------------------------
    // Se lee el proyecto principal
    // ----------------------------
    var proyecto = theApp.mainProjectInfo();
    
    // ----------------------------------------------------------------
    // Se repasan todas las tablas buscando la recibida en el parámetro
    // ----------------------------------------------------------------
    for ( var numTabla = 0; numTabla < proyecto.allTableCount(); numTabla++ )
    {
        if ( proyecto.allTableInfo( numTabla ).id() == tablaId )
        {
            return proyecto.allTableInfo( numTabla ).idRef();
        };
    };

    // ---------------------------------------
    // Si no se ha encontrado se devuelve null
    // ---------------------------------------
    return null;
};

// --------------------------------------------------------------------------------
// Importación de registros en una tabla a partir los datos contenidos en un fichero ASCII
// --------------------------------------------------------------------------------
importClass("VDir");
importClass("VFile");
importClass("VTextFile");

// -------------------------
// Se recorre el direoctorio
// -------------------------
var dir = new VDir();
dir.cd( theRoot.varToString( "SENDA" ) );
dir.load();

// ---------------------------------------
// Se recorren los ficheros del directorio
// ---------------------------------------
for ( var numFichero = 0; numFichero < dir.count(); numFichero++ )
{
    // ---------------------------------------------------------------------
    // Se lee el fichero del directorio y se prepara su nombre sin extensión
    // ---------------------------------------------------------------------
    var fichero = dir.entryAt( numFichero );
    var ficheroNombre = fichero.baseName();

    // ---------------------------------------------------------
    // Se prepara el idRef de la tabla destino de la importación
    // ---------------------------------------------------------
    var ficheroIdRef = tablaIdRef( ficheroNombre );
    
    var registro = new VRegister( theRoot );
    if ( registro.setTable( ficheroIdRef ) )
    {
        // -------------------------------------------
        // Se prepara el valor del separador de campos
        // -------------------------------------------
        var separador = ( theRoot.varToString( "SEPARADOR" ) != null ) ? theRoot.varToString( "SEPARADOR" ) : "\t";
        
        // --------------------------------
        // Se abre transacción si no existe
        // --------------------------------
        bTransCurso = theRoot.existTrans();
        if ( bTransCurso == false )
        {
        bTransNueva = theRoot.beginTrans( "Importando: " + fichero );
        };
        
        if ( bTransCurso || bTransNueva )
        {
            // ------------------------------------------
            // Se abre el fichero en modo de sólo lectura
            // ------------------------------------------
            var ficheroTxt = new VTextFile( fichero.filePath() );
        
            if ( ficheroTxt.open( VFile.OpenModeReadOnly ) )
            {                   
                // ------------------------------------------------------------------------------
                // Se leen los nombres de los campos en la primera línea y se guardan en un array
                // ------------------------------------------------------------------------------
                var linea = ficheroTxt.readLine();
                var aCampos = linea.split( separador );
                            
                // ----------------------------------------------------------
                // Recorremos el fichero línea a línea guardando su contenido
                // ----------------------------------------------------------
                var aValores = new Array();
                var nNumRegistro = 0;
                theRoot.initProgressBar();
                theRoot.setProgress( 100 );

                while ( ficheroTxt.atEnd() == false )
                {   
                    // -----------------------------------------
                    // Leer la línea y los valores de los campos
                    // -----------------------------------------
                    linea = ficheroTxt.readLine();
                    aValores = linea.split( separador );
                    for ( var nCampo = 0; nCampo < aValores.length; nCampo++ )
                    {
                        registro.setField( aCampos[ nCampo ], aValores[ nCampo ] );
                    };
                    registro.addRegister();
            
                    // -----------------
                    // Mostrar el avance
                    // -----------------    
                    theRoot.setTitle( "Importando registro nº " + nNumRegistro++ + " de la tabla " + ficheroNombre );
                };

                // --------------------
                // Se cierra el fichero
                // --------------------
                ficheroTxt.close();
                theRoot.endProgressBar();
            };

            // ---------------------------------------------
            // Se cierra la transacción si se creó una nueva
            // ---------------------------------------------
            if ( bTransNueva )
            {
                theRoot.commitTrans();
            };
        };
    };
};

En la primera función tablaIdRef() podemos observar como a partir del identificador de la tabla destino se devuelve el idRef o identificador completo de la tabla (alias/identificador). Esta función parte del principio de que en nuestra aplicación no existen tablas duplicadas con el mismo identificador (algo que deberíamos evitar siempre). En caso de que hubiese un identificador de tabla repetido, nos devolvería el idRef de la primera tabla encontrada.

Esta función es llamada por el proceso JavaScript principal para calcular el idRef de la tabla destino a partir del identificador de la tabla. El proceso asume que el nombre de la tabla se corresponde con el nombre del fichero en disco (sin la extensión).

Por lo tanto los ficheros a importar deben tener las siguientes características:

  • El nombre del fichero a importar deben corresponderse con el identificador de la tabla de destino.
  • En la primera línea del fichero deberán aparecer separados (por el carácter de separación) los identificadores de los campos de destino de cada dato/columna.
  • El campo código debe tener el identificador ID.
  • El campo nombre debe tener el identificador NAME.
  • Los campos de tipo fecha deben exportarse en formato ISO AAAA-MM-DD para que se importen correctamente.

fichero a importar

¿Cómo implementarlo?

Una vez que hemos visto las piezas, vamos a enlazarlas para implementar esta importación de datos:

  1. Crear un proceso V7, por ejemplo con el nombre IMP_TXT_SEL_DIR, que contenga los comandos que vemos en la primera imagen de este artículo.
  2. Debes crear un formulario para solicitar al usuario final el directorio de importación, por ejemplo con el identificador IMP_TXT_SEL_DIR.
  3. En el directorio de scripts crea un fichero JavaScript e incluye el script de JavaScript con la función tablaIdRef y el código que realiza la importación.
  4. Crea un proceso JavaScript, por ejemplo con el nombre IMP_TXT que tenga asignado como fichero script el creado en el punto anterior.
  5. Crea una acción, por ejemplo IMP_TXT, que se encargue de ejecutar el proceso V7 IMP_TXT_SEL_DIR que lanzará el formulario y luego el proceso JavaScript de importación.

Implentación de importación ASCII mediante JavaScript

Para los amantes de Life is Soft

Te dejo el enlace de descarga de la instalación de la solución importaDatosJS que contiene todos los objetos explicados en esta píldora totalmente operativos para que los pruebes o uses directamente heredándolo en tus aplicaciones.

Por razones de seguridad, el fichero de instalación .vin lo descargarás comprimido en formato zip. Debes descomprimirlo para obtener el fichero con extensión “.vin”.

Recuerda que este fichero de instalación está creado con la versión 7.14, por lo que necesitas instalarlo en un vServer que tenga esa versión o una superior.

icono descarga 32 Descargar importaDatosJS_1_0_714.vin

 

Si te ha gustado este artículo, por favor compártelo con los tuyos en las redes sociales

The post Importación automática de datos con Velneo V7 appeared first on Lógica mente Velneo V7.