Parametrización > Contabilidad > Interfaz contable > Variables asientos automáticos 

Esta función permite definir las variables de asientos automátivos que pueden explotarse en las fórmulas de las lineas de asientos automáticos.

El uso de una variable en una fórmula puede utilizarse cuando la inicialización de un campo de una línea de apunte es completo y no puede reducirse a una expresión simple. En este caso, la activación de una variable se traducirá en la activación de un subprograma que evaluará la variable y permitirá al generador inicializar el contenido del campo de la línea contable.

Parametrización de las variables de asientos automáticos.

Cada variable de asientos automáticos está asociado a un código que puede utilizarse en cualquier línea de asiento automático.

La activación de una variable en una fórmula se traducirá en una activación de un subprograma definido en un tratamiento cuyos nombres hay que parametrizar en los campos previstos para ello.

Cada variable:

 puede suponer cierto número de parámetros 'por valor' necesarios para la evaluación de la variable (estás variables se pasarán como parámetros en el subprograma).

 Debe incluír obligatoriamenteun parámetro "por dirección". Este parámetro corresponde al resultado de la evaluación de la variable.

 Reenvía, además del parámetro de evaluación, una variable de tipo entero que permite definir un código de error. Este parámetro no está definido en la lista de parámetros, sino que se añade automáticamente al activar el subprograma: el código de subprograma debe incluirlo.

Ejemplo:

En ciertas líneas de asiento automático, es necesario conocer la tasa de IVA a aplicar teniendo en cuenta el código tasa, la fecha contable y la sociedad. La variable "TVA" se ha introducido en estándar para permitir la evaluación de las tasas de tasa, e incluye los parámetros siguientes:

 Tres parámetros por "Valor" necesarios para la evaluación de las tasas de tasa: la sociedad (CPY) de tipo "Char", el código tasa (TAX) de tipo "Char", la fecha (DAT) de tipo "Fecha"

 Un parámetro por dirección que corresponde al resultado que se desea obtener: la tasa de tasas (VATRAT) de tipo "Decimal"

Prerequisitos

SEEREFERTTO Consulta la documentación de Puesta en marcha

Gestión de Pantalla

 

Pantalla de captura

Presentación

Principio de parametrización en las fórmulas

Cada variable puede explotarse en el cuadro de fórmulas asociadas a los campos de las líneas de apuntes por la expresión V_XXXXX (XXXXX designa el código de la variable). La introducción de una variable desencadena la apertura de una ventanita que en la que el usuario debe indicar el valor de cada parámetro necesario para la evaluación de la variable (parámetro de tipo "Valor"). El valor indicado para cada parámetro debe ser del tipo correcto.

Hay que tener en cuenta que los parámetros que se transmiten en el momento de la activación del subprograma pueden ser constantes, variables o expresiones complejas que integren variables en línea.

Ejemplo:

Si on desea pasar, en una fórmula asociada al asiento automático BPCIN, el código del diario que se encuentra en esta tabla, a una variable, se da la fórmula [F:SIH]JOU en parámetro.

Hay que tener en cuenta que una fórmula de una línea de asientos automáticos puede explotar diversas variables de asientos automáticos.

Ejemplo:

V_CONVERT-ar2(V_CONVERT/(1+V_TVA))  o V_CONVERT debe reenviar un importe con impuestos incluídos, V_TVA debe reenviar una tasa de tasas y en el que la fórmula entera debe reenviar un importe de TVA.

La referencia a una variable en una lína de asiento automático genera en el tratamiento WMGAUYYYYY (YYYYY designa el código del asiento automático) la activación del subprograma en cuestión con:

 Los parámetros de la variable en el orden en el que se han introducido en la parametrización de la variable del asiento automático

 Un parámetro 'STAT' de tipo 'Integer' que permite reenviar un estado de retorno al generador de asientos automáticos. Si en retorno, la variable STAT es igual a 98, el asiento contable no se generará y el error mostrado será el que esté contenido en la variable global GMESSAGE.

En los tratamientos generados por la contabilización de los asientos automáticos, la tabla principal está abierta, no con una abreviatura propia, sino por la abreviatura [F:TB0] ; la tabla de líneas se abre con la abreviatura [F:TB1]. Esto no tiene incidencia sobre las fórmulas introducidas o las expresiones de parámetros pasados en parametrización de los asientos. Se puede continuar con la utilización de las abreviaturas habituales de las tablas principales, la validación del asiento automático que realiza de forma automática las substituciones de abreviaturas en las expresiones. Por contra, si el tratamiento activado por la variable debe activar campos de la tabla principal o de la tabla de líneas para el registro actual (si por ejemplo el tratamiento prueba los campos de estos registro que no se habrían pasado como argumento), será necesario utilizar las abreviaturas [TB0] y [TB1] en el tratamiento.

Ejemplo: La referencia a la variable 'TVA' de la línea 11 del asiento automátivo "PRINC" genera en el tratamiento WMGAUPRINC la siguiente activación: 

Call LECTAUX([F:TB0]CPY,[F :TB1]VATLIN,[F:TB0]ACCDAT,[L]VATRAT,STAT) From CPTINIVAR

 TB0 designa la abreviatura de la tabla activadora (tabla PAYMENTH para el asiento automático PRINC);

 TB1 designa la abreviatura de la tabla "general" (tabla PAYMENTD);

 Los parámetros [F:TB0]CPY, [F :TB1]VATLIN, [F:TB0]ACCDAT corresponden a los parámetros "por valor";

 El parámetro [L]VATRAT corresponde al parámetro "por dirección";

 El parámetro STAT para el estado de retorno.

Regla de escritura del subprograma que evalúa la variable

El subprograma que evalúa la variable debe estar adecuado a los parámetros pasados para su activación, es decir, qeu debe contener en la orden:

 Los parámetros de la variable en el orden en el que se han introducido en la parametrización de la variable y con el tipo correcto (Char, Integer, Date o Decimal)

 Un parámetro 'STAT' de tipo 'Integer' que permite reenviar un estado de retorno al generador de asientos automáticos. Si un error en la evaluación de la variable (error de lectura, por ejemplo), impide la creación del asiento, el subprograma deberá posicionar la variable STAT en 98 y alimentar la variable global GMESSAGE, que deberá contener el error que impide la creación del asiento.

Ejemplo:

Subprog LECTAUX(SOC,TAX,DAT,TAUX,STAT)

Value    Char    SOC()

Value    Char    TAX()

Value    Date    DAT

Variable Decimal TASA

 Variable Integer STAT

If clalev([F:TRA])=0 : Local File TABRATVAT [TRA] : Endif

Filter [TRA] Where CPY=SOC & VAT=TAX & STRDAT<=DAT

Read [TRA]TRA0 Last

If fstat>2

 Filter [TRA] Where CPY="" & VAT=TAX & STRDAT<=DAT

Read [TRA]TRA0 Last

If !fstat

   TAUX = [F:TRA]VATRAT/100

Endif

 Filter [TRA]

Endif

If fstat>2

  STAT = 98

  GMESSAGE =  "Error de evaluación de la tasa de tasas"-TAX

Endif

End

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Cabecera

  • Código variable (campo CODVAR)
  • campo DESTRA

 

Bloque Número 2

Subprogramas

  • Procesamiento (campo CODTRT)

 

  • Subprogramas (campo SUBPRG)

 

Tabla Parámetros

  • N.º (campo NUMLIG)

 

  • Código (campo CODPAR)
  • Título parámetro (campo DESTRAPAR)

 

  • Tipo parámetro (campo TYPPAR)

 

  • Tipo argumento (campo ADRVAL)

Descripción

  • campo ZINFO

 

Cerrar

 

Botones especificos

Este botón permite copiar un código variable de asiento automático a otro dossier.

Mensajes de Error

No hay ningún mensaje de error aparte de los mensajes de error genéricos.

Tablas en ejecución

SEEREFERTTO Consulta la documentación de Puesta en marcha