Skip to main content

Utilizando scripts en la importación de ficheros externos

El Mantenimiento de estructuras de ficheros externos, situado en la sección Configuración de la aplicación de GESTWIN permite definir la estructura de ficheros de texto externos para utilizarlos como medio de importación de datos a la aplicación.

Se pueden utilizar tanto ficheros de texto con campos delimitados por algún carácter -por ejemplo ficheros CSV (valores separados por una coma)- como campos de ancho fijo. En ambos casos la ficha de la estructura permite definir todos los parámetros necesarios para esta labor.

Como novedad, y a partir de la versión 10.3, se ha introducido la posibilidad de utilizar Scripts o código fuente interpretable para realizar operaciones sobre los datos a importar.

Con un ejemplo quedará más clara su utilidad :

Supongamos que tenemos un fichero de texto con datos de fichas de artículos obtenidos de otra aplicación. Por ejemplo listas de precios de un proveedor mayorista que las distribuye en ese formato para que sus clientes no tengan que introducirlas manualmente. Sin embargo utiliza una codificación especial : cuando el código del artículo tiene más de 13 caracteres es porque lleva antepuesto el código del proveedor de ese artículo (un código de 5 caracteres) y el resto del código -a partir de la sexta posición- es el del artículo. Cuando el código tiene 13 caracteres o menos, es simplemente el código del artículo.

Como vemos la codificación es condicional, y no es posible definirla utilizando los parámetros de posición y/o longitud fijas del campo. Sin embargo utilizando un Script sí que podemos. El código del Script se ejecuta cada vez que se intenta importar un registro.

Veamos como sería el código fuente necesario para solucionar éste problema :

If   Length( Codigo )>13
then begin

CodigoProveedor := Copy( Codigo, 1, 5 );

Codigo := Copy( Codigo, 6, 13 );
end;

Solo se realiza la labor de trocear el código cuando éste supera los 13 caracteres, en caso contrario se deja que la asignación de campos por defecto haga su trabajo.

La siguiente imagen muestra el mantenimiento con el código del ejemplo :

scs133

En este enlace se puede consultar el manual de referencia de PascalScript.

 

  • Actualizado el .