Automatizaciones de asignaciones
Automatizaciones de asignaciones
GeneraContaplus incluye un sistema que permite la asignación de subcuentas y otros datos de forma automatizada a través del un sencillo y potente sistema de máscaras.
Procedimiento
El sistema está basado en simples archivos de texto que se cargan y aplican dentro de la aplicación. Esto permita que pueda tener tantos como necesite para dar soporte a diferentes casos y clientes.
Por comodidad le aconsejamos que cree un directorio llamado Automatiza y sitúe dentro los archivos de automatización.
Una vez cargado el archivo en el formulario pulsamos las opción Procesar automatización para asignar datos según las máscaras creadas.
Solo se aplican las asignaciones si el contenido del campo destino está vacío.
Las automatizaciones se aplican en orden ascendente. Una vez asignado un campo, ya no se modifica con máscaras posteriores.
Puede aplicar tantas automatizaciones como considere oportuno. Solamente tendría que ir cargando y procesando las mismas.
Estructura del archivo
En la primera file deben aparecer los nombres de los campos a utilizar en la automatización. No deben aparecer necesariamente todos los campos posibles, solo aquellos que se necesiten.
Cada campo debe ir separado por el símbolo de la barra vertical "|".
En las líneas posteriores aparecerán los contenidos de cada campo de la primera fila. Cuando no tenga contenido no se pondrá nada pero aún así se separará por "|".
Ejemplo de archivo sencillo para contabilizar de los movimientos de un banco.
CONCEPTO|ID_CUENTA_CONTRA COMISI%|626.1 %REMESA%|43000000 %|555
En este caso se utiliza el campo CONCEPTO para asignar la subcuenta ID_CUENTA_CONTRA.
El símbolo % sustituye cualquier número de caracteres. El símbolo _ sustituye únicamente un carácter. Sabiendo esto ya podemos interpretar el funcionamiento de la automatización:
- Si el campo ID_CUENTA_CONTRA tiene contenido no se modifica.
- A todo lo que el concepto empiece por COMISI se le asigna la subcuenta 62600001.
- A todo aquello que tenga la palabra REMESA en el concepto se le pone la subcuenta 43000000.
- Al resto se le asigna la 55000000 para que posteriormente lo cambiemos en Contaplus
Nombres de campos
Campos de filtrado simple: CONCEPTO, CUENTA y DH
Serán utilizados como máscara de filtrado en base al contenido de la columna indicada. Se usará el carácter % para sustituir cualquier y _ para sustituir únicamente un carácter.
Si se quieren forzar el filtrado solo para determinados tipos de movimiento, Debe o Haber, usaremos el campo DH. Esto fuerza que la automatización se aplique a solo los movimiento del tipo indicado. Cualquier carácter diferente de D o H, y el filtro será aplicado a todos los movimientos.
Estos campos pueden usarse de forma complementaria. Se puede filtrar por el contenido de la columnas CONCEPTO, CUENTA y DH a la vez.
No se tienen en cuenta mayúsculas o minúsculas.
Campos de asignación simple: ID_CUENTA_CONTRA, ID_CUENTA_BASE, ID_CUENTA, ID_CONTRA
En este caso solo se aplican si no tiene contenido el campo indicado.
Las subcuentas pueden escribirse como:
- Subcuenta completa
- Solo la primera parte y será completada con ceros hasta el número de caracteres configurado. 555 pasará a 55500000
- Usar el método de Contaplus de indicar un "." entre los diferentes dígitos de las subcuenta que será sustituido por ceros hasta completar los caracteres necesarios. 626.1 pasará a 62600001.
Filtrado avanzado: FILTRO
Este campo se puede utilizar para hacer filtros complejos independientes o complementarios a los sencillos de CONCEPTO y CUENTA.
Por ejemplo IRPF<>0 usará una máscara que filtrará todas las líneas cuyo IRPF sea diferente de 0.
Revise la ayuda sobre los operadores en filtrados avanzados para montar cualquier tipo de filtrado.
Asignación avanzada: ASIGNA
Aparte de los campos anteriores puede asignar cualquier campo de la tabla de datos usando este campo.
Si complementamos el filtro anterior con IRPF<>0|ID_CUENTA_IRPF=4751.4 asigna la subcuenta 47510004 a todas las líneas que tengan IRPF diferente de 0.
Asignaciones habituales
Hemos automatizado partes de las asignaciones mas habituales para que no sea necesario montarlas a través del sistema de automatización descrito. Si considera que alguna otra le puede ser de utilidad solo tiene que solicitarla.
Operadores en filtrados avanzados
Operadores en filtrados avanzados
Utilice las instrucciones siguientes para generar filtros avanzados.
Descripción =========== Usa estos filtros avanzados para filtrar los datos a mostrar: Ejemplos ========= Provincia = 'Almería' or Ciudad = 'Sierro' Provincia <> 'Almería' or Ciudad = NULL Cuando los campos de la tabla contengan espacios, debes encerrar el nombre del campo entre corchetes: [Telefono personal] = '611-000000' or [Segundo apellido] = 'Martos' También puedes comparar dintintos campos de la tabla: Ciudad <> Provincia Los filtros en principio discriminan entre mayusculas y minusculas, para evitar eso usa las funciones "Lower" y "Upper": UPPER(CIUDAD) = 'GRANADA' Tampoco filtra cuando cumpla el filtro de forma parcial, para ello usa "%", "_" y "*": Lower(Ciudad) = 'ma*' Lower(Ciudad) like 'ma%' Ident_Cliente = 21_ Como te abrás dado cuenta la comilla simple es obligatoria para filtrar texto, sin embargo no se usa en los numeros, ten esto en cuenta. NUMERO = 21 NOMBRE = 'Alicia' Operadores ========== < Menor que > Mayor que >= Mayor o igual que <= Menor o igual que = Igual que <> Distinto que AND Filtra por varias condiciones, solo los datos que cumplen todas las condiciones NOT Filtra solo los valores que cumplen la primera condición pero no la segundo OR Cuando cumple al menos alguna de las condiciones IS NULL Devuelve los campos donde el valor del campo filtrado es NULO (no tiene asignado ningún valor) IS NOT NULL Cuando los campos no son nulos + Suma numeros, concatena palabras y suma valores a fechas y horas - Resta numeros y valores a fechas y números * Multiplica dos numeros / Divide dos numeros Upper Pone en mayusculas una cadena de palabras o el valor de un campo Lower Pone en minusculas una cadena de palabras o el valor de un campo Substring Función que devuelve solo una parte de una cadena de palabras, empezando desde una determinada posición. "Substring(campo o cadena de caracteres,desde la posición,numero de caracteres)" Trim Elimina los espacios o un determinado caracter desde el principio al final de una cadena TrimLeft Elimina los espacios o un determinado caracter al principio de una cadena TrimRight Elimina los espacios o un determinado caracter al final de una cadena Year Devuelve el año de una fecha o una hora Month Devuelve el mes de una fecha o una hora Day Devuelve el dia de una fecha o una hora Hour Devuelve la hora de un valor de tiempo determinado Minute Devuelve el minuto de una hora determinada Second Devuelve el segundo de una hora determinada GetDate Devuelve la hora actual Date Devuelve la fecha de un valor que incluye fecha y hora Time Devuelve la hora de un valor que incluye fecha y hora Like Para incluir patrones al comparar valores en una cadena de caracteres In Test de inclusión (en) * Caracter especial para buscar comparaciones parciales Date cuenta de los sofisticados que pueden ser tus filtros: (Custno > 1400) AND (Custno < 1500); Para separar distintas partes de los filtros usa los paréntesis. Mas ejemplos comentados ======================== Comparaciones -------------- = State = 'CA' <> State <> 'CA' >= DateEntered >= '1/1/1998' <= Total <= 100,000 > Percentile > 50 < Field1 < Field2 Palabras especiales ------------------- BLANK State <> 'CA' or State = BLANK Los campos en blanco no aparecen salvo que esplicitamente los determines así IS NULL Field1 IS NULL IS NOT NULL Field1 IS NOT NULL Operadores lógicos ------------------ and State = 'CA' and Country = 'US' or State = 'CA' or State = 'MA' not not (State = 'CA') Operadores aritmeticos ---------------------- + Total + 5 > 100 Aplicar a numeros, cadenas de caracteres, fechas y horas - Field1 - 7 <> 10 Aplicar a numeros, fechas y horas * Discount * 100 > 20 Aplicar solo a numeros / Discount > Total / Cantidad