Adicionar método de visualização ou edição através de extensão no Dynamics 365
Publicado: 16 de fevereiro de 2025 às 11:56:00 UTC
Última atualização: 12 de janeiro de 2026 às 08:57:26 UTC
Neste artigo, explico como usar uma extensão de classe para adicionar um método de visualização a uma tabela e um formulário no Dynamics 365 for Operations, incluindo exemplos de código X++.
Add Display or Edit Method via Extension in Dynamics 365
Embora planear usar métodos de visualização ou edição no Dynamics seja algo que deva levá-lo a considerar se poderia desenhar a sua solução de outra forma, por vezes são a melhor opção.
Em versões anteriores do Dynamics e do Axapta, era muito fácil criar métodos de visualização ou edição em tabelas e formulários, mas quando recentemente tive de fazer o meu primeiro método de edição no Dynamics 365, descobri que o procedimento para o fazer é um pouco diferente.
Há evidentemente várias abordagens válidas, mas a que considero melhor (tanto em termos de intuitividade como de beleza no código) é usar uma extensão de classe. Sim, podes usar extensões de classes para adicionar métodos a outros tipos de elementos que não classes – neste caso, uma tabela, mas também funciona para formulários.
Primeiro, cria uma nova turma. Podes dar-lhe o nome que quiseres, mas por alguma razão tem de ter o sufixo "_Extension". Digamos que precisa de adicionar um método de visualização ao CustTable, pode, por exemplo, nomeá-lo MyCustTable_Extension.
A classe tem de ser decorada com ExtensionOf para que o sistema saiba o que estás a expandir, assim:
public final class MyCustTable_Extension
{
}
Agora podes simplesmente implementar o teu método de visualização nesta classe, como farias diretamente na tabela nas versões anteriores do Dynamics – "isto" até faz referência à tabela, por isso podes aceder a campos e outros métodos.
Por exemplo, uma classe com um método de exibição simples (e completamente inútil) que apenas devolve o número de conta do cliente pode ser assim:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Agora, para adicionar o método de visualização a um formulário (ou extensão de formulário, se não puder editar o formulário diretamente), precisa de adicionar manualmente um campo ao formulário e garantir que usa o tipo correto (string neste exemplo).
Depois, no controlo, colocas DataSource como CustTable (ou seja qual for o nome da tua fonte de dados CustTable) e DataMethod como MyCustTable_Extension.displayAccountNum (certifica-te de incluir o nome da classe, caso contrário o compilador não consegue encontrar o método).
E acabou :-)
Atualização: Já não é necessário incluir o nome da classe de extensão ao adicionar o método de visualização a um formulário, mas na altura original da publicação, era. Deixo a informação aqui caso alguns leitores ainda estejam a usar versões mais antigas.
Leitura adicional
Se gostou deste post, também pode gostar destas sugestões:
- Coloque o Dynamics 365 FO Virtual Machine Dev ou Test no modo de manutenção
- Atualizar valor da dimensão financeira do código X++ no Dynamics 365
- Criação de um campo de pesquisa para uma dimensão financeira no Dynamics 365
