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 🙂

Tree Form Control

Tree é um controle de formulário que exibe em formato de árvore uma hierarquia de informações, tornando assim a visualização de informações muito mais clara e intuitiva para o usuário final. Como padrão no Ax, temos o form “Exibição da organização”, no módulo de RH.

Exemplo de tree no Ax

O tree possui algumas características:

  • Os nós da árvore são sempre criados via código, não por drag-and-drop;
  • A lógica de construção da árvore deve ser colocada em uma classe nova, para certificar que ela possa ser reutilizada e não interferir no código do form.

Demonstração

Para demonstrar a utilização deste controle, utilizarei o formulário “BudgetModel”.

Antes de criar a árvore, temos que criar a classe que a construirá. Na AOT, crie uma classe e a nomeie “BudgetModelTree”.
Em sua class declaration, declare:

Crie os seguintes métodos:

New:

constructor:

createNode:

BuildTree:

Agora com a classe criada, podemos inserir o controle no form.
Abra o formulário na AOT e crie uma nova TabPage. Nomeie-a TabTree. Nesta tabpage, adicione o controle Tree. Nomeie-o ModelTree, mude as propriedades Height e Width para Column height e column width.

Declare a classe no ClassDeclaration do form;


Sobrescreva o método init do form;


Na tabpage, sobrescreva o método pageActivated

Se tudo deu certo e sua tabela possuia dados, a tab deverá parecer com a imagem abaixo:

Resumo:
Para separar a árvore do resto do form, criamos uma nova TabPage, onde colocamos o TreeControl.
Os nós sempre são gerados por código;
A lógica de construção da árvore fica em uma classe;
Além dos métodos new() e construct(), a classe possui dois métodos que realmente geram a árvore:
createNode(), um método recursivo que gera os “galhos” do nó;
buildTree(), que constrói a árvore. Primeiro, deleta todos os nós e trava a atualização da árvore. Depois, adiciona os nós-pai e chamando o método acima. Após inserir todos os nós, destrava a árvore.
A geração da hierarquia de informações pode ser demorada, por isso só a criamos quando necessário, ou seja, quando a tabpage é aberta. Esse é o motivo de termos utilizado o método “pageActivated()”.

SCRIPTS no Ax.

Bom pessoal, vou colocar aqui alguma coisa sobre scripts, na maioria das vezes são úteis durante o desenvolvimento, pois podemos padronizar alguns comentários de código e coisas do tipo.

Os scripts geralmente são utilizados em métodos para comentar/descomentar, colocar uma , tag inicial entre outros.
Para utilizar um script basta clicar com o botão direito do mouse sobre o code editor e escolher a opção “Scripts” e depois o script que você deseja utilizar.

Para tentar entender melhor vou explicar o script de comentário de código.

Se quiser acompanhar e tentar intender melhor algum outro script padrão do AX o local aonde eles ficam é:
AOT\Classe>>EditorScript –> La dentro ficam todos os scripts do AX.

A figura abaixo explica o script de comentário:

É possível criarmos o nosso próprio Script, porém vou deixar para o próximo post.

Obrigado e até mais. . .