Descobrir o banco de dados lógico e os objetos

Concluído

O Dynamics 365 Business Central foi criado, como muitos outros aplicativos de nuvem, sobre um banco de dados. Esse banco de dados não só contém os dados (como clientes, fornecedores, produtos etc.), como também contém todos os objetos usados no aplicativo. Quando você solicita dados do cliente, esses dados são exibidos como uma página na tela com uma determinada estrutura.

O banco de dados do Business Central também armazena a estrutura dessa página, que permite aos desenvolvedores adicionar e modificar objetos existentes e implantar novas soluções com rapidez. Não é necessário criar uma nova versão do produto quando você quiser alterar a posição de certos campos de entrada na tela.

Cada solução é criada em um ou mais objetos. Você precisará de tabelas para armazenar os dados, páginas para apresentar os dados, a possibilidade de permitir a interação do usuário, relatórios a serem apresentados e a capacidade de imprimir dados em layouts específicos.

Com codeunits, é possível agrupar funções para serem reutilizadas em locais diferentes. Você pode usar o objeto Consulta para consultar o banco de dados e, quando precisar de recursos de importação ou exportação na sua solução, use o objeto XMLPort.

Os tipos de objeto mais usados incluem:

  • Tabela - Descreve como os dados são armazenados e como são recuperados.

  • Página - Permite que os usuários visualizem, adicionem, modifiquem ou excluam registros em uma tabela.

  • Relatório - Imprima, processe ou visualize os dados.

  • Codeunit - Contêiner de código de programação. Os codeunits são chamados de outros objetos para concluir uma tarefa específica.

  • Consulta - Um modelo de dados relacionais para consulta direta e eficiente do banco de dados subjacente.

  • XMLPort - Importa ou exporta dados no formato XML ou de texto.

O Business Central tem vários objetos de funcionalidade internos. Não é possível alterar o código-fonte dos objetos, mas você pode estender os objetos internos para modificar o comportamento.

Os dois outros tipos de objeto que podem ser usados são:

  • Extensão de Tabela - Estende a funcionalidade das tabelas existentes.

  • Extensão de Página: estende a funcionalidade das páginas existentes.

  • Extensão de Tabela: estende a funcionalidade dos relatórios existentes.

Banco de dados lógico

No banco de dados do Business Central, você pode configurar empresas diferentes. Os dados de uma empresa são armazenados como registros em tabelas diferentes e cada registro é criado a partir de vários campos.

As empresas são a maior estrutura lógica em um banco de dados, e os dados são, e devem ser, específicos da empresa em sua maioria. Embora os dados sejam basicamente específicos da empresa, os objetos não são. Como desenvolvedor, você vai criar e alterar/estender objetos. Os objetos serão então aplicáveis a todas as empresas no mesmo banco de dados.

Ilustração mostrando um design de Banco de Dados Lógico.

Gerenciar objetos

Antes de começar a criar novos objetos para suas soluções personalizadas, lembre-se das convenções de numeração de objetos. Cada objeto na sua solução do Business Central é identificado por um número exclusivo. As convenções de numeração ajudam a organizar o gerenciamento de versão, a localização e a personalização, além de ajudar a garantir atualizações bem-sucedidas.

Os números de objeto de 0 a 49.999 são objetos usados pela Microsoft nas versões mundiais. O intervalo de números de 100.000 a 999.999 contém os objetos localizados. Esses objetos geralmente são projetados para diferentes países e regiões pelo mundo. Esses objetos específicos de área também são criados pela Microsoft.

Ao desenvolver um aplicativo para o Business Central online, você deve solicitar um intervalo de objetos em termos de licenciamento. O desenvolvimento para o Business Central é feito usando o Visual Studio Code com a extensão AL Language para o Microsoft Dynamics 365 Business Central.

Há dois intervalos disponíveis que podem ser solicitados. Ambos têm algumas características a serem lembradas:

  • Intervalo de objetos RSP (intervalo de ID 1.000.000-69.999.999): esse intervalo de objetos está vinculado ao Programa RSP. Você precisa fazer logon para exibir essas informações usando uma conta corporativa ou de estudante. No momento, aconselhamos os novos editores a não solicitarem um intervalo de objetos RSP.

  • Intervalo de objetos de aplicativo (intervalo de ID 70.000.000-74.999.999): este intervalo de objetos foi originalmente projetado apenas para aplicativos no mercado comercial da Microsoft para serem usados no Business Central Online. No momento, aconselhamos os novos editores a não solicitarem um intervalo de objetos de aplicativo.

Atualmente, você pode implementar aplicativos desenvolvidos no intervalo RSP e no intervalo de objetos de aplicativo no Business Central Online e local, bem como hospedados por parceiros.

Para obter mais informações, consulte Solicitar um intervalo de objetos.

As seções a seguir descrevem os diferentes intervalos de objetos que podem ser encontrados no aplicativo base e nas extensões.

0 a 49.999

Esse intervalo é atribuído à funcionalidade do aplicativo base do Business Central e não deve ser usado em extensões ou personalizações.

50.000 a 99.999

Esse intervalo é para personalizações e para fins de teste. Para o Business Central Online, um parceiro pode desenvolver uma extensão personalizada para o locatário individual, de acordo com as necessidades. O parceiro desenvolve a extensão usando um locatário de área restrita ou obtendo uma imagem do Docker. Uma vez que o desenvolvimento for concluído, a extensão poderá ser implantada para o locatário individual.

Além disso, você pode usar esse intervalo como parte do treinamento e/ou iniciativas semelhantes, como se estiver usando um locatário de área restrita ou uma compilação do Business Central no Docker.

100.000 a 999.999

Os objetos nesse intervalo são projetados quando a equipe da Microsoft localiza o Business Central para um país ou uma região específica. Esses objetos não podem ser usados por parceiros.

1.000.000 a 69.999.999

Esse intervalo de objetos destina-se ao RSP (Registered Solution Program). O parceiro pode optar por usar esse intervalo para desenvolver extensões que podem ser usadas no Business Central Online ou no local. Quando usadas no Business Central Online, essas extensões são obtidas como aplicativos do Appsource.

70.000.000 a 74.999.999

Os parceiros podem obter IDs neste intervalo para extensões para o Business Central Online. Essas extensões também são obtidas como aplicativos do Appsource. Para obter mais informações, consulte Introdução à Criação de Aplicativos.

Consulte os guias de licenciamento para baixar o guia de licenciamento do Business Central.

Prefixo e sufixo

Em sua extensão, o nome de cada novo objeto de aplicativo (tabela, página, codeunit) deve conter um prefixo ou sufixo. Essa regra se aplica a todos os objetos. Você pode usar os valores de Legenda para o que decidir exibir para o usuário. Quando você modifica um objeto do Dynamics 365 principal usando uma extensão de tabela ou uma extensão de página, o prefixo/sufixo deve ser definido no nível de controle/campo/ação/grupo.

Benefícios

O uso de um prefixo/sufixo reduz as colisões de nome com objetos definidos em outras extensões. Os ambientes que têm extensões com colisões de nomes podem enfrentar problemas ao implantar novas extensões, ao atualizar o ambiente ou ao criar uma área restrita como uma cópia do ambiente atual (para ambientes de produção).

Regras gerais

Aqui estão algumas regras gerais a serem seguidas:

  • O prefixo/sufixo deve ter pelo menos três caracteres

  • O nome do objeto/campo deve começar ou terminar com o prefixo/sufixo

  • Se surgir um conflito, aquele que registrou o prefixo/sufixo sempre prevalecerá

  • Para seus próprios objetos, você deve definir o prefixo/sufixo no nível de objeto superior

  • Para páginas/tabelas/enums/relatórios/permissionsets no aplicativo base ou outros aplicativos que você estende, defina o prefixo/sufixo no nível do objeto superior e também no nível de controle/campo/ação/procedimento/valores/item de dados/coluna

  • Use a ferramenta AppSourceCop para localizar todos os prefixos e/ou sufixos ausentes. As opções de configuração para essa ferramenta, junto com uma seção de regras, podem ser encontradas em Regras do analisador AppSourceCop. A seção Regras explica as diferentes verificações que o analisador realiza. Para a detecção de prefixo/sufixo, consulte a seção Configuração. Ela explica como definir o prefixo/sufixo no arquivo AppSourceCop.json.

Requisitos de prefixo e sufixo para extensões

Há alguns requisitos para as extensões do AppSource e de locatário.

Para extensões do AppSource

O uso de um prefixo/sufixo para nomes de objeto é necessário para os envios do AppSource como parte da lista de verificação da Validação técnica.

Para atender aos requisitos para a validação técnica do AppSource, você deve ter um prefixo/sufixo de três letras registrado para o editor de extensão e usá-lo em sua extensão.

Se você ainda não tiver nenhum prefixo/sufixo registrado, entre em contato com a Microsoft em d365val@microsoft.com e forneça as seguintes informações para reservar o prefixo/sufixo de sua escolha.

  • Seu ID do MPN

  • O nome do editor que você usa em suas extensões (no arquivo app.json)

  • Você deve fornecer pelo menos cinco sugestões de prefixo/sufixo. Cada uma deve ter exatamente três caracteres.

Prefixo(s)/sufixo(s) não diferenciam maiúsculas de minúsculas, o que significa que, por exemplo, "ABC", "abc" e "AbC" são tratados como o mesmo. Fornecer "ABC" e "abc" conta como apenas uma sugestão.

Observe que não é necessário alterar nenhum prefixo(s)/sufixo(s) já registrado. Você pode continuar a usá-los. As diretrizes valem apenas para novos registros.

Para extensões por locatário

As extensões por locatário não precisam usar um prefixo ou sufixo, mas é altamente recomendável que você faça isso. Você pode usar pte como prefixo ou sufixo para evitar conflitos com aplicativos do AppSource ou objetos base.

Se a extensão por locatário causar um conflito com um novo objeto no aplicativo base ou em um aplicativo atualizado do AppSource, a extensão por locatário será necessária para fazer a alteração.

Para obter mais informações sobre como usar prefixos ou sufixos, consulte Benefícios e diretrizes para usar um prefixo ou sufixo.