Utilizando Tree Control – Parte II

Olá a todos…

Depois de um tempo em off, venho aqui postar uma continuação do meu post sobre o Tree Control.
Neste post explicarei como utilizar o Tree para manipular dados no Ax.

Só para relembrar: no post anterior, criamos uma tab para exibir a hierarquia de informações dos modelos de orçamento. Colocamos a lógica numa classe chamada “BudgetModelTree”.

Na classe criada para construir a tree, adicione ao ClassDeclaration:

image

Em seguida, adiciona os seguintes métodos à classe:

– CanMove

image

– Move

image

– stateDropHilite

image

– BeginDrag

image

– dragOver

image

– drop

image

Agora, vamos para o controle Tree no form. Abra a janela de propriedades e modifique a propriedade DragDrop para Manual.

image

Por fim, sobrescrevemos os métodos equivalentes na tree.

image

image

Se tudo deu certo, devemos conseguir alterar a base de dados por meio do tree.

“Isto tudo” é apenas o básico que se pode fazer no Ax. Existem outras maneiras de se utilizar o Tree Control. Para fins didáticos, eu criei uma tree com o número do cliente e nome dos clientes, as ordens de venda ligadas à ele e os itens de cada ordem, baseando-me no form Tutorial_Form_TreeControl. Mas isso já fica para um próximo post…

Espero que este post tenha sido útil!!!!

Tabela temporária

Boa Tarde,

Vamos falar um pouco sobre tabelas temporárias.

Para criar uma tabela temporária é bem simples, basta criar uma tabela comum na OAT e na propriedade “Temporary” deixar marcada a opção “YES“.

Pronto, está criada.

Geralmente utilizamos tabelas temporárias para fazer ações que não é necessário ficar com os dados no banco de dados, apenas carregamos os dados na tabela temporáriamente, ou seja,  quando for feita determinada transação ou coisa do tipo.

Portanto para inserir registros na tabela temporária é necessário utilizar um método por exemplo “CreateInventVend_W” seguindo o exemplo da figura acima.

Dentro desse método, você insere os registros que quiser, conforme figura exemplo abaixo.

Suponhamos que você colocou os EDT´s (ItemNum, Name e Qty) que são responsáveis por armazenar o código, nome e quantidade de um produto.

Após isso se você fizer um SELECT na tabela, os dados que foram inseridos serão encontrados, porém por ela ser uma tabela temporária se você abrí-la pela AOT não vai constar nenhum dado.

Obs: Por ser uma tabela temporária, ela existe apenas na OAT, portanto você não vai encontrar ela no SQLServer.

Colorindo registros no Form

Olá a todos os possíveis leitores deste blog….!

Venho hoje mostrar uma implementação bastante simples, que pode vir a ser útil em algum momento da sua carreira como desenvolvedor Dynamics Ax…

Desde os tempos das planilhas no excel, é possível colorir campos de acordo com uma condição(por exemplo, em uma planilha de notas escolares, as notas abaixo da média ficarem na cor vermelha). Podemos fazer a mesma coisa nos formulários do Ax.

Existe um método no datasource dos formulários que se chama “displayOption()”. Sobrescrevendo este método, podemos modificar as opções de exibição do registro no formulário.

Para demonstrar, usarei como exemplo o form “Detalhes da Ordem de Venda”, no módulo de contas a receber. Abra a AOT, e expanda os nós na seguinte ordem: Forms>SalesTable>DataSource>SalesTable>Methods. Sobrescreva o método “displayOption” com o seguinte código:

Código a ser inserido no método displayOption().

Desta maneira, as ordens de venda que estiverem com status “Em Aberto” ficarão a cor de fundo amarela.

Se tudo deu certo, o formulário deve ficar com esta aparência.

 

De dar inveja pra qualquer editor de planilha…. =)

Como funciona:

Esse método recebe dois argumentos: o primeiro é o registro atual, e o segundo é um objeto FormRowDisplayOption, cujas propriedades podem ser utilizadas para mudar as opções visuais do registro.

Espero que a demonstração tenha ficado clara e que todos tenham gostado do post!

P.S.: Se gostou, deixa um comentário pra gente 🙂

Usando Maps no Dynamics

Olá pesssoal meu primeiro post aqui vou fazer uma breve apresentação e falar um pouco sobre Maps ,
Meu nome é Guilherme das Chagas sou um colaborador do blog , tenho 19 anos e estou estudando para tirar minha certificação de Ax introduction , agora vamos aos Maps

MAPS

Um Map é um elemento no Ax que permite linkar tabelas e campos  , agora vocês me perguntam para quê os maps servem  e quais as vantagens e se usar um , vamos ver :

O que um Map faz afinal ?

  Um map  é uma estrutura que visa o reaproveitamento de código .Um Map permite a criação de campos  que serão linkados com as tabelas , campos próprios do Map e de Métodos de validação sempre visando o reaproveitamento de código, um método de validação de CEP será usado sempre que tiver CEP entao criamos um Map para os campos de endereço que em cada tabela tem um nome diferente porém os dados são os mesmos  e neste map  fazemos um  método para a validação do CEP , quando precisar é so chamar o Map, evitando colocar o mesmo código em várias tabelas .

Vantagens  de usar Maps no desenvolvimento com o Dynamics Ax

  * Este é um recurso super simples de se usar que até quem está iniciando agora no Ax conseguirá manipular bem 
  * Usando maps voce terá uma consistência maior no seu código pois você agrupa os campos em comum e usa os apenas como um nome , por exemplo o campo ZipCode é usado em varias tabelas pelo Ax , e seu nome varia de acordo com a Tabela por exemplo em algumas é só Zip , ou PostalCode , e assim vai , você pode linkar estes valores em um map e trabalhar apenas com o nome do map , você nomeia como Zip e usa em tudo este único nome.
  * Com isso voce pode  ter um re-uso do código deixando sua aplicação mais limpa e com uma performance maior  .

Elementos de um Map

Os maps são compostos pelos seguintes elementos :

  1. Fields(São os campos que um Map possui)
  2. FieldGroups(São os fieldGroups que o Map possui)
  3. Mappings(é neste nó que sao feitas as relações entre os campos e adicionado as informações necessarias para desenvolver a lógica depois )
  4. Methods(Métodos relativos ao Map)

Outra utilitidade de um map é substituir uma tabela temporária , ao invés de você criar uma tabela temporária para armazenar algo , o que deixa sua aplicação lenta , você pode solucionar o problema com um map , com isto seu código ganhará performance .

Bom pessoal é isto ai , em breve posto mais coisas

Para mais informações consultar : http://dynamic-ax.co.uk/DynamicsAXMaps.aspx

Fontes : http://dynamic-ax.co.uk/DynamicsAXMaps.aspx
                http://msdn.microsoft.com/en-us/library/bb278211.aspx

 

 

Moacir X++ AX Developer Jr

Boa Tarde Pessoal,

Mais um nessa equipe de Nerds (que aproveitam a vida) atrás de buscar e agregar conhecimento sobre esse

poderoso ERP da Microsoft, o Dymamics AX…

Bom,

que esse seja o primeiro de muitos posts, pretendo aprender o máximo,

sempre compartilhando!

Apresentação

Bom dia,

Também sou um integrante da equipe de desenvolvimento Microsoft Dynamics AX.

Trabalho aqui na Digisystem desde abril/2009 e passei a fazer parte da equipe de desenvolvimento a partir de janeiro/2011.

Estou cursando Sistemas da Informação na FIAP e possuo certificão ITIL v3 Foundation*.

Pretendo postar novas descobertas e dicas sobre tudo que possa ajudar tanto nossa equipe quando outros profissionais desta área.

* Sobre o ITIL