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 imágen que pone en evidencia las ventajas.
En la imágen 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 Knowledge base está online en el GeneXus Server público y gratuito disponible para toda la comunidad GX
http://gxserver.genexusx.com/ (lo cual permite visualizarla via browser o bajarla y y probarla con su GeneXus X Evolution 1 en forma local).
Esto es para generar inercia de cambio, para que por inercia ... cambiemos y no nos quedemos.