Cómo se aplica la precedencia a los filtros

Recuerde: Cada movimiento que se procese será comparado con TODOS los filtros activos

El principio de funcionamiento de la precedencia es sencillo: la aplicación procesará los filtros según este orden, de manera que un filtro con el número de precedencia menor se procesará antes que cualquier otro con un número mayor.

El propósito del sistema de precedencia es evitar que la aplicación de un filtro sobreescriba en el asiento los datos proporcionados por otro filtro que se hubiera aplicado con anterioridad dentro del mismo proceso y cuyo resultado nos interesara conservar.

El siguiente ejemplo es ilustrativo de su funcionalidad

Ejemplo

1 Imagine que al primer filtro que usted ha creado es para los cargos de cheques en una hipotética entidad 9999. Del examen de este tipo de movimientos resulta un filtro con esta composición:

Condiciones que han de darse en los movimientos
Entidad = 9999
Concepto propio = 123
Asignaciones a los asientos
Contrapartida = 5721000 (Cuenta de cheques pendientes de cargo)
Concepto= 'CARGO CHEQUE '+ $(DOCUMENTO,1,10) (campo del movimiento en el que figura el número del cheque)

Le llamaremos Filtro Específico. Import43 le asignará el 1 en Precedencia y Orden (recuerde que es el primer filtro creado)

2 Posteriormente, usted se da cuenta de que esa entidad ('9999') coloca en CONCEPTO 02 de los movimientos la información relevante en la mayoría de los casos. Para evitar el paso de CONCEPTO01+CONCEPTO02 a los asientos (comportamiento por defecto de Import43) usted crea un segundo filtro con esta composición:

Condición que ha de darse en los movimientos
Entidad = 9999
Asignación a los asientos
Concepto= $(CONCEPTO02,1,25) del movimiento

Le llamaremos Filtro General. Import43 le asignará el 2 en Precedencia y Orden (es el segundo filtro creado)

3 Si las cosas se dejan así, a la hora de ejecutar un proceso, el programa, siguiendo el orden de creación de los filtros, aplicará PRIMERO el Filtro Específico a las relativamente pocas operaciones que encajen con él (es lo que queremos). El problema es que a continuación el programa aplicará el Filtro General: todos los movimientos de la entidad 9999 que haya en el fichero se verán afectados por él, incluidos los que en su momento trató el Filtro Específico (esto NO lo queremos).

En los asientos por cargo de cheques no se verá 'CARGO CHEQUE NumCheque', se verá lo que haya en CONCEPTO02 (que será algo así como 'Cheque compensación'). Nos quedamos sin saber el número de cheque

La asignación de Contrapartida a la subcuenta 5721000 no se verá afectada, ya que el Filtro General no asigna nada a este campo. (Más información en Reglas destacables de filtros)

4 El procedimiento de establecimiento de la precedencia resuelve este problema de manera sencilla.

En este caso, asignaremos al Filtro General un número de precedencia menor (más bajo) que el que tenga el Filtro Específico. Lo hacemos con la flecha hacia arriba (menor) del menú de la LISTA DE FILTROS.

La consecuencia es que el programa aplicará el Filtro General antes que el Filtro Específico: todos los movimientos de la entidad 9999 pasarán el contenido del CONCEPTO 02 al diario, excepto aquellos cuyos valores encajen con las condiciones del Filtro Específico, que pasarán, entre otras cosas, el resultado de aplicar 'CARGO CHEQUE '+ $(DOCUMENTO,1,10), no el de CONCEPTO 02 . Justo lo que necesitamos.

Nótese que el número de Orden de los filtros no cambia. Lo que se modifica es la PRIORIDAD en su actuación