Algoritmia - We are geeks, after all ;)
  Crear una cuenta
Inicio Buscar Foros Chat Downloads Login
 [Login]
Foros
Ir a los foros 

Menú Trucos Ax
 Inicio(Noticias) :
 Inicio
 Enviar Noticias
 Archivo de noticias
 Buscar
 Temas

 Miembros :
 Lista de miembros
 Tu Cuenta(Regístrate)

 Comunidad :
 Chat

 Foros

 Links

 Downloads

 Estadísticas :
 Estadísticas
 Top 10
 Encuestas

 Otros Servicios :
 Publicidad


 Miscelanea :
Añadir a favoritos
Contactar


Hemos recibido

impresiones desde Diciembre 2005


 Enlázanos :
Copia el código siguiente en tu web para enlazarnos :


Trucos Ax


Mensajes rápidos

Sólo los usuarios registrados pueden escribir login o crear una cuenta.

Trucos
Ir a trucos programación
Ir a trucos consultoría

AxSearch

AxSearch
Es un motor de búsqueda
específico sobre temas
de Axapta (Dynamics Ax)

Anuncios



Mapa

¿De donde venimos?
Ubicación de visitantes de esta página

Webs Amigas
[axapta-links.com] - The startpage for Axapta
DaxGuy


Fred Shen

Comunidad Ax
Conunidad AX

Anuncios



Trucos Ax: Foros

Trucos Ax :: View topic - Mensajes con fundamento
 Forum FAQForum FAQ   SearchSearch   UsergroupsUsergroups   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Mensajes con fundamento

 
Post new topic   Reply to topic    Trucos Ax Forum Index -> Trucos desarrollo
View previous topic :: View next topic  

¿Cómo valoras este truco (1/5)?
5
54%
 54%  [ 6 ]
4
18%
 18%  [ 2 ]
3
18%
 18%  [ 2 ]
2
9%
 9%  [ 1 ]
1
0%
 0%  [ 0 ]
Total Votes : 11

Author Message
Manekaze
Site Admin
Site Admin


Joined: Dec 02, 2005
Posts: 384

PostPosted: Tue Apr 04, 2006 11:15 pm    Post subject: Mensajes con fundamento Reply with quote

//**********************************************************
// Tipo : Desarrollo
// Titulo : Mensajes con fundamento
// Codigo : TD0007
// Keywords : Programacion, Axapta 3.0
// Sub-keywords : Mensajes Error, Advertencia, SysInfoAction, Info
// FormRun
//
//**********************************************************

Hoy tenemos un pequeño truco que nos puede venir muy bien a la hora
de comunicarnos con los usuarios de nuestros programas.

Son frecuentes las ocasiones en las que debemos ejecutar algún tipo de
proceso. No me refiero necesariamente a procesos de corrección de
datos, sino a cualquier tipo de proceso que realice algún cálculo,
automatismos, envíos de datos, importaciones periódicas …

Bien, en la mayoría de estos procesos son necesarios una serie de
parámetros, que normalmente almacenamos en las típicas tablas de
parámetros VendParameters, SalesParameters, LedgerParameters …

Y que pasa si tenemos un proceso que requiere que se informen una
serie de parámetros en diversas tablas y resulta que cuando llega el
momento de ejecutar dicho proceso … ¡sorpresa! ¡El usuario se ha
olvidado de informar los parámetros!

Pues lo que pasa es que normalmente nos quejamos con el típico …

x++:

throw error('Falta el parámetro X');


Y corresponde al usuario comenzar a indagar donde diablos puede
encontrar el famoso parámetro X que no le deja ejecutar su deseado
proceso.


¿Le podemos facilitar un poco la vida al usuario?

Por supuesto que si Smile

Axapta dispone de una herramienta mediante la cual somos capaces de
lanzar mensajes de advertencia, información y/o error con una especie
de “acción adjunta”.


Con un ejemplo lo veremos más claro :

Imaginemos que para la correcta ejecución de nuestro proceso,
necesitamos que el usuario haya informado el campo SumAccount de la
tabla VendParameters.


Resulta que cuando ejecutamos dicho proceso, nos damos cuenta de que
el campo mencionado está en blanco …

Esto es algo similar a lo que haríamos hasta ahora :

x++:

If (! VendParameters::find().SumAccount)
 Throw error('Debe informar el extracto de cuenta sin grupo');




Pero … como hemos dicho, esto puede dejar un poco desorientado al
usuario.

Podemos hacerlo un poco más elegante y comprensivo de esta forma :

x++:

SysInfoAction_FormRun SInfo;
;

If (!VendParameters::find().SumAccount)
{
  SInfo = new SysInfoAction_FormRun('VendParameters','SumAccount','Llevame allí ...');
  Throw error('Debe informar el extracto de cuenta sin grupo','',Sinfo);
}


Si ahora probamos de nuevo …


Y si pulsamos el botón “Llevame allí…” …


Vemos como nos abre la pantalla de parámetros de proveedores y se nos
posiciona en el control llamado “SumAccount”.

En caso de que existan más mensajes de información, puede cambiar el
aspecto de la ventana de información y no aparecer nuestro botón. En
ese caso simplemente haciendo doble clic en nuestro mensaje o bien
mediante el botón de la derecha sobre nuestro mensaje podríamos
realizar la misma función.



Bien, si echáis un vistazo a las clases SysInfoAction… vereis que las hay
de diversos tipos y realizan diversas funciones … ¡ala! ¡A experimentar! Razz


Saludos.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Trucos Ax Forum Index -> Trucos desarrollo All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©

 
Trucos Axapta 
Comunidad aprobada por :
Microsoft corp. MVP LogoVisit community


Axapta y Dynamics Ax son marcas registradas de Microsoft corporation.
Todos los logos y marcas son propiedad de sus respectivos propietarios.
Excepto trucosAx.com que este si que es mio :-). (c) 2005 by Manel Querol (Mkz)
TrucosAx.com no pertenece ni está asociada a Microsoft corporation.
Los fragmentos de código y proyectos importables que aquí se muestren están realizados sobre bancos de pruebas. No nos hacemos responsables de cualquier daño o pérdida de datos que se pudiera originar del hecho de instalar alguno de estos ejemplos en un sistema productivo. Es responsabilidad del usuario ser consciente del impacto que puede ocasionar en sus aplicaciones el uso del código que de aquí extraiga.