Changes between Version 5 and Version 6 of SpecsFormulasCanon
- Timestamp:
- 04/02/12 13:42:49 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SpecsFormulasCanon
v5 v6 1 1 [[TOC(Specs,SpecsModLiq,SpecsFórmulasCanon)]] 2 2 = Fórmulas de cálculo de Canon = 3 4 == Contexto == 3 5 4 6 El cálculo de las fórmulas de [wiki:Canon_Superficiario canon] para cada anualidad se hace de forma diferente dependiendo principalmente de: … … 14 16 15 17 Así que para hacer una formulación efectiva para cada etapa, es necesario contar con fórmulas que puedan ser procesadas y ejecutadas de forma automática. Estas fórmulas deben contar con una cadena de condiciones que determinen el valor del canon para cada una de estas condiciones. 18 19 == Problemática == 20 21 El problema a solucionar es el siguiente: 22 23 * El usuario debe poder manejar las fórmulas de cálculo de canon desde el [wiki:mod_liq módulo de liquidaciones] 24 * Las fórmulas se utilizan en el momento de generación de las liquidaciones 25 * De forma periódica 26 * Por demanda 16 27 17 28 == Conceptos == … … 40 51 === Lenguaje === 41 52 42 Des menuzando este cálculo en diferentes elementos, podemos ver lo siguiente:53 Descomponiendo este cálculo en diferentes elementos, podemos ver lo siguiente: 43 54 44 55 1. Ley 685 … … 75 86 76 87 * Evaluación 77 * Variable 88 * Variable (o parámetro) 78 89 * Constante 79 90 * Operador … … 81 92 ...Para cada ''Elemento'', y que cada ''Elemento'' se comporta de forma diferente, es decir, tiene una ''semántica'' inherente. 82 93 83 Por otro lado, tenemos que cada variable debe ser ''buscada'' pues su valor también depende de los parámetros de la fórmula, que en este caso son: 84 * Título 85 * Etapa 86 * Norma 94 También se puede ver que cada ''Condición'' viene acompañada de una ''Expresión'', van por pares de esta forma: 87 95 88 === Persistencia y Obtención de información === 96 * Condición '''1''' 97 * Expresión '''1''' 98 * Condición '''2''' 99 * Expresión '''2''' 100 * ... 101 * ... 102 * Condición '''n''' 103 * Expresión '''n''' 89 104 90 Es importante tener en cuenta que la información que estas variables usan, se obtiene a partir de una búsqueda o es seleccionada, ya sea por el usuario o por un proceso automático.105 Con estos elementos, podemos definir un léxico formal. 91 106 92 ==== Liquidaciones automáticas ==== 107 ==== Léxico ==== 108 109 El siguiente léxico toma elementos de [http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form BNF]: 110 111 * <if> ::= [ if ] 112 * <then> ::= [ then ] 113 * <sep> ::= <espacio> 114 * <brk> ::= <retorno> 115 * <constante> ::= [ float ] 116 * <variable> ::= [ param ] 117 * <valor> ::= <constante> | <variable> 118 * <ope. cond.>::= [ > | < | >= | <= | == | != ] 119 * <evaluación condicional> ::= <valor> <sep> <ope. cond.> <sep> <valor> | <valor> <sep> <between> <valor> <and> <valor> 120 * <ope. mat> ::= [ + | - | * | / ] 121 * <evaluación matemática>:= <valor> <sep> <ope. mat> <sep> <valor> [ <sep> <ope. mat> <sep> <valor> ] * | (<evaluación matemática>) [<sep> <ope. mat> <evaluación matemática> ] * 122 * <condición> ::= <if> <sep> <evaluación condicional> 123 * <expresión> ::= <then> <sep> <evaluación matemática> 124 * <fórmula> ::= <condición> <brk> <expresión> [<brk> <condición> <brk> <expresión> ] * 125 126 == Implementación == 127 128 === Liquidaciones automáticas === 93 129 94 130 Las liquidaciones automáticas se hacen para aquellos títulos que estén próximos a cumplir su siguiente anualidad, es decir, aquellos que la fecha de hoy más un lapso establecido, sea mayor o igual al cumpleaños. En pseudo código: 95 131 96 132 97 '''Si''' título'''.'''anualidad actual'''.'''fecha ''' >=''' hoy '''+''' lapso establecido133 '''Si''' título'''.'''anualidad actual'''.'''fecha '''<=''' hoy '''+''' lapso establecido 98 134 '''entonces''' ''ejecutar liquidación en título'' 99 135 … … 108 144 ''ejecutar fórmula'' para 109 145 ''norma'' '''=''' título'''.'''norma actual, 110 ''etapa'' '''=''' título'''.'''etapa actual 146 ''etapa'' '''=''' título'''.'''etapa actual, ''anualidad'' '''=''' título'''.'''anualidad_actual, 111 147 ) 112 148 … … 117 153 * Ejecutar fórmula 118 154 119 === = Liquidaciones por demanda ====155 === Liquidaciones por demanda === 120 156 121 157 122 158 123 == Problemática ==124 159 125 El problema a solucionar es el siguiente:126 127 * El usuario debe poder manejar las fórmulas de cálculo de canon desde el [wiki:mod_liq módulo de liquidaciones]128 * Las fórmulas se utilizan en el momento generación de las liquidaciones automáticas129