GeneXus - Formulas globales en transacciones
Estimados: Tengo el siguiente problema: he definido en una transacción de dos niveles un conjunto de formulas globales que efectuan calculos entre los atributos del segundo nivel y en algunos casos interactuando con atributos del primer nivel, si bien los calculos se efectuan con presicion (los resultados en el reporte evidencian esta afirmacion), en mi objeto transacción, cada vez que abro un registro en modo UPD, las formulas se muestran con valor 0. Hay alguna razón para este comportamiento? Gracias por su ayuda. Chaly También te puede interesar...
Pues si las formulas las tienes definidas a nivel del diseño de la estructura de la transaccion (o sea si es un atributo que se marca como Fx) entonces no puedes reasignarlo ya que se trata de un atributo formula, yo lo que haria es condicionar el comportamiento con reglas por ejemplo: esto = (esto + esto - esto)/esto if &mode = 'INS'; asi la regla se va a disparar cuando estes insertando y te va a permitir modificar el valor cuando evidentemente estes actualizando saludos
Arlex, gracias por tu respuesta, les aclaro mejor el problema: efectivamente, mis formulas al ser globales, se definen en modo diseño en el campo formula de cada atributo, el problema radica cuando evoco un objeto transacción y los atributos que deberían mostrar el resultado de un calculo producto de la aplicacion de las formulas previamente diseñadas, muestran una salida en pantalla con valor cero (reitero en el objeto transacción), como si no se hubiese efectuado la operación matematica, aunque este valor de 0 es falso pues las operaciones SI se efectuaron de manera correcta, pues, si los atributos evocados son llamados a partir de un reporte o un Web Panel, ahi se manifiestan con el calculo apropiado. Llama la atención que la visualización de formulas con valor cero en modo transacción, se de únicamente a nivel de la grilla (es decir en transacciones que tienen mas de un nivel). Daría la impresión que se trata de algun mal funcionamiento a este nivel del Genexus. Gracias por sus aportes Chaly
Ya entendi o sea que la formula si se esta ejecutando pero en la transaccion esos campos los visualizas como 0 pero al ejecutar un reporte o un query al dbms la data esta bien prueba lo siguiente: edit model propiedades: en design>edit model>properties>functions>allow non standart funtions en prototipo o produccion: edit model>properties>specification \ typechecking \ functions \ allow non stantart functions salvas y das un force generation asi corriges todos los bugs en una especificacion con warnings con standart functions Url de descarga de Genexus 9.0 Confirm en otro boton |