La mayoría de las veces, cuando armamos un string, lo queremos para mostrar un mensaje. Muchas veces es para pasárselo a la función msg() o a la función error().
Algo así:
&mensaje = Format('El pedido número %1 fue confirmado', PedidoId.ToString())o simplemente
msg(&mensaje)
msg( Format('El pedido número %1 fue confirmado', PedidoId.ToString()) )Sería más práctico e intuitivo, que las funciones msg() y error() recibieran una cantidad variable de parámetros y se comportaran como la función Format().
El código quedaría entonces más simple:
msg( 'El pedido número %1 fue confirmado', PedidoId.ToString() )
Es una de mis funciones preferidas.
ResponderBorrarFijate que, a pesar que la documentación dice lo contrario, no es necesario convertir a String los parámetros.
&msg = Format('El pedido número %1 fue confirmado', PedidoId)
Yo la uso muchísimo para separar la presentación del contenido.. por ejemplo, la uso para generar JSON en la expresión
&JSON += format('{titulo: "%1", url: "%2.aspx"}', &titulo, &url)
Es una buena idea, la del msg con varios parámetros, tiene el inconveniente de los mensajes de status..
ResponderBorrarSe podria solucionar con dos funciones diferentes.
Msg('Mensaje número:' %1, MsgId)
y
MsgStatus('Mensaje número: %1, MsgId)
MsgStatus es equivalente a Msg('texto',status)
Mirá vos... no la tenía esta función en GX. Siempre me pareció muy buena la forma de armar los mensajes en C# poniendole el %f, %x, %d , etc... no sabia que en Gx se podia.
ResponderBorrarMuy buena.