Translate

quinta-feira, 28 de outubro de 2010

Identificação de instancia do Ax na barra de titulo.

Para casos em que a empresa possua mais de uma instância do Dynamics Ax instalada, como por exemplo, uma instância de produção e outra apenas para testes. é importante saber em que instância estamos trabalhando. o primeiro método para identificar a instância na qual estamos trabalhando, é fazer com que apareça uma mensagem na hora em que abrimos a instância. Mas, e depois que a instância já está aberta? Ou pior, e se já temos as 02 instâncias abertas, como saber qual é a instância de produção e qual é a instância de teste?

Vou mostrar agora como identificar a instância na qual estamos trabalhando adicionando o nome dela na barra de títulos do Dynamics Ax, essa barra azul na parte superior da janela!

Abra o Dynamics Ax e pressione CTRL + d para abrir a AOT. Com a AOT aberta vamos expandir as classes do Ax. Localize a classe "Info" e depois localiza "WorkSpaceWindowCreated", clique com o botão direito e selecione a opção editar.

O caminho completo fica assim: AOT > Classes > Info -> WorkSpaceWindowCreated

Veja na imagem abaixo:

Com o editor aberto, apague o código original, e digite o seguinte:

void workspaceWindowCreated(int _hWnd)


{

SqlSystem sqlSystem = new SqlSystem();

LoginProperty LoginProperty = sqlSystem.createLoginProperty();

;

//Put workspace window specific initialization here.

WinAPI::setWindowText(_hWnd, strfmt("%1 - Base de Dados : %2", WinAPI::getWindowText(_hWnd), loginProperty.getDatabase()));
}
                                     


Veja na imagem abaixo como fica o código digitado no editor:

Salve a alteração. Sem erros, feche o Dynamics Ax e abra-o novamente.

Temos agora o nome da instância do Dynamics Ax exibida na barra de títulos, no meu caso, o nome da instância é "DynamicsAx".


Caso aconteça de ao abrir novamente o Dynamics Ax e o nome da instância não estar na barra de títulos, faça o seguinte.
Repita o processo acima para inserir o código, salve a alteração e antes de fechar o Dynamics Ax, faça a exportação da classe Info. Depois importe a classe exportada, feche o Dynamics Ax, abra novamente, e verifique se o nome da instância aparece na barra de títulos.

De acordo com um programador da empresa onde trabalho, este erro se deve a um bug do Dynamics Ax. Exportando e importando a classe, o problema é resolvido.

Outra maneira de identificar a instancia do AX é alterando a cor de fundo dos formularios, veja como fazer isto neste post.
Espero ter ajudado.

Até a próxima!!!