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"
Consulta la documentación de Puesta en marcha
Presentación
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.
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
|
|   |
|
Bloque Número 2
Subprogramas
|   |
|   |
Tabla Parámetros
|   |
|
|   |
|   |
|
Descripción
|   |
Cerrar
Este botón permite copiar un código variable de asiento automático a otro dossier. |