Compartilhar via


Segmentar o código AL e reduzir conflitos de nomenclatura com namespaces

Importante

Esse conteúdo está arquivado e não está sendo atualizado. Para obter a documentação mais recente, acesse Novidades ou alterações no Business Central. Para ver os planos de lançamento mais recentes, acesse Planos de lançamento do Dynamics 365, do Power Platform e do Cloud for Industry.

Habilitado para Versão preliminar pública Disponibilidade geral
Administradores, criadores, profissionais de marketing ou analistas, automaticamente 17 de agosto de 2023 2 de out. de 2023

Valor do negócio

O AL do Business Central agora oferecerá suporte a namespaces, semelhantes a outras linguagens de código. Namespaces são uma maneira de organizar objetos e códigos de modo lógico e hierárquico. Eles podem ser usados para ajudar a evitar conflitos de nomenclatura entre diferentes extensões, facilitando a manutenção e a compreensão das extensões, incluindo o relacionamento entre diferentes objetos.

Detalhes do recurso

Um arquivo AL agora pode definir um namespace no topo, que será aplicado a todos os objetos no arquivo de código. Um determinado objeto pode pertencer apenas a um namespace, mas o mesmo namespace pode ser usado para vários arquivos e objetos AL.

Quando os objetos são resolvidos, o escopo mais próximo é usado primeiro. Portanto, para resolver um objeto com nome semelhante em uma extensão dependente, a referência deverá usar um nome totalmente qualificado. Como alternativa, é possível definir diretivas using para incluir namespaces externos e, dessa forma, omitir nomes totalmente qualificados.

Como os namespaces são úteis para segmentação lógica de extensões, o AL Explorer também mostra namespaces para objetos e permite agrupar objetos por namespace, facilitando a descoberta de objetos relacionados, foco em subáreas de aplicativos e identificação de inconsistências ao adicionar novos objetos.

Os namespaces aninhados fornecem melhor nomenclatura de objetos do que a expressão da estrutura completa no nome do objeto de 30 caracteres. No entanto, renomear objetos existentes é uma alteração interruptiva. Portanto, esse recurso ajuda principalmente na estrutura lógica dos objetos existentes e nos novos nomes daqui para frente.

Ações de código serão disponibilizadas para ajudar os desenvolvedores a adicionar namespaces às fontes existentes.

Aqui estão alguns exemplos, primeiro sobre a definição de namespace no código.

Exemplo de definição de namespace na tabela de texto da entidade de aplicativos do sistema

Depois, sobre como você pode incluir objetos em outros namespaces em seu escopo para usá-los.

Exemplo de inclusão de objetos em outros namespaces por meio de Usando para acesso em código, aqui em uma tabela Customer

Por fim, aqui está um exemplo de objetos de aplicativo base agrupados por namespace, com a tabela Customer residindo no namespace Microsoft.Vendas.Cliente. Agrupar objetos por namespace dessa maneira torna mais fácil focalizar e localizar objetos relacionados.

Exemplo de objetos de aplicativo base agrupados por namespace

Consulte também

Namespaces no AL (docs)