El ejemplo de Easy Invoicing mencionado en http://samples.genexus.com ahora usa Data Providers, Business Components y la nueva funcionalidad de Initial Value para cargar los datos. Antes usaba news. ¿Por qué? porque uno por inercia no cambia. Uno se acostumbró a hacer las cosas de determinada forma. Es relativamente rápido, funciona y listo, ya está, por qué cambiar?
Si se conoce la potencia de los Data Providers, el por qué queda claro.
Vean la imagen que pone en evidencia las ventajas.
En la imagen se ve que:
- queda mucho más legible la solución nueva porque queda claro cuál registro del segundo nivel corresponde a cuál del primero.
- no preciso usar variables auxiliares para obtener el resultado de autonumber.
- no preciso serializar yo ni autonumerar.
- preciso hacer menos asignaciones porque las cosas se resuelven en el Business Component. Un ejemplo es InvoiceDate: A nivel de atributo especifiqué la propiedad InitialValue en Today(). Otro ejemplo es el "último del serial" también.
- no vuelvo a programar reglas de negocios en el procedimiento evitando errores de programación o inconsistencias y bajando costos de mantenimiento.
Más Notas:
- La propiedad Initialvalue, a especificar en un Dominio o Atributo, en GeneXus X Evolution 1 es como un default de defaults.
- En el ejemplo, &Invoice es de tipo Invoice siendo Invoice la transacción del mismo nombre.
- &InvoiceCollection es una Collection de Invoices.
- Las variables no las precisé ni definir... GeneXus lo hace solo porque usé la nomenclatura adecuada.
La aplicación está para probar online en ejecución en http://samples.genexus.com/easy.
La knowledge base está online en el
GeneXus Server público y gratuito disponible para toda la Comunidad GeneXus (lo cual permite visualizarla via browser o bajarla y probarla con su GeneXus X Evolution 1 en forma local).
Recomendación de la casa: bajarse el último nightbuild de GeneXus X Evolution 1.
Esto es para generar inercia de cambio, para que por inercia... cambiemos y no nos quedemos.
Publicado por Armin Bachmann en su Blog De GeneXus y de la vida.