He vuelto a retomar la programación en V7, y para practicar quiero migrar mis programas personales.
He empezado con uno pequeño que estoy usando de V6 para llevar mi contabilidad personal, en donde tengo una tabla EJERCICIOS con los siguientes campos.
%ENE% -> Numérico
…
%DIC% -> Numérico
%ENE-TOT% -> Formula numérica (%EJR-ANT.DIC-TOT% + %ENE%)
…
%DIC-TOT% -> Formula numérica (%NOV-TOT% + %DIC%)
Los campos numéricos (%ENE%…%DIC%) los cargo a traves de las actualizaciones de la tabla CONCEPTOS.
Esto en V6 me funciona bien, sin problemas. Sin embargo en V7 no me actualiza los campos formula #ENE -> Numérico (valor = 1)
… #DIC -> Numérico (valor = 1)
En vAdmin acabo de ver que me sale este error.
Que es normal, ya que no existe el ejercicio anterior, no?
He cambiado el campo para que sea numérico y no produzca el fallo y como puedes ver en las capturas, le pongo el valor 1 a cada mes y me hace bien el calculo.
Todo viene por el primer registro que no tiene valor el campo anterior.
De todas formas, este sistema que planteas no lo veo escalable puesto que conforme hayan más ejercicios más calculos tiene que hacer, irá remontándose a ejercicios anteriores hasta el primero.
Yo sí que crearía un campo DIC_ANT o SALDO_ANT o el nombre que quieras de tipo numérico con contenido inicial #EJR_ANT.DIC_TOT
Así todos los campos del registro actual dependen de ese mismo registro y no de los anteriores.
Luego necesitas un trigger posterior al alta/modificacion/baja para que cuando cambie el saldo de diciembre, copie su valor al ejercicio siguiente, provocando el arrastrado del saldo, este trigger se encadenará, ya que será lanzado igualmente en el ejercicion siguiente hasta que llegue al último