En algunas ocasiones nos enfrentaremos a situaciones en las que es necesario obtener varios valores de devolución en un solo método, por ejemplo, obtener los valores alto y ancho de un control en una sola llamada a un método.
Hoy vamos a crear un método de una clase que permita devolver un registro de InventJournaTable e InventJournalTrans correspondientes a un JournalId usado como parámetro.
Primero, invocaremos a la creatividad para buscar el mejor nombre para esta clase... después de un par de tensos segundos tenemos la respuesta, la llamaremos TestMultiple, y bueno, el método se llamará getDiarioInventario.
01 Container getDiarioInventario(JournalId _journalId)
02 {
03 InventJournalTrans inventJournalTrans;
04 ;
05 select * from inventJournalTrans
06 where inventJournalTrans.JournalId == _journalId;
07
08 return [InventJournalTable::find(_journalId), inventJournalTrans];
09}
Lo interesante de éste método, es el tipo de devolución Container, y la intrucción return, que devuelve dos objetos, ahora vamos a ver como usarlo.
01 static void main(Args _args)
02{
03 InventJournalTable inventJournalTable;
04 InventJournalTrans inventJournalTrans;
05 ;
06
07 [inventJournalTable , inventJournalTrans] = new TestMultiple().getDiarioInventario("INVJ295691");
08
09 info (inventJournalTable.JournalId + " - " + inventJournalTrans.JournalId );
10 }
Quedó coqueto... ¿No les parece?.
No comments:
Post a Comment