Personalizar formulários em aplicativos controlados por modelos

Formulários em aplicativos controlados por modelos fornecem a interface do usuário (interface do usuário) que as pessoas usam para criar, exibir ou editar registros de tabela. Este artigo explica como criar ou editar formulários programaticamente usando a tabela e o SystemForm designer de formulários em ferramentas de personalização. Você aprenderá a acessar definições de formulário, entender as propriedades do formulário e implementar formulários por meio de exemplos de código.

Definições de formulário de acesso

A SystemForm tabela armazena formulários junto com painéis e visualizações. Você pode inspecionar as definições de formulário para uma tabela de duas maneiras:

  • Inclua a tabela em uma solução não gerenciada e exporte a solução.

  • Consulte a SystemForm tabela.

Exibir FormXML de uma tabela exportada

Uma solução gerenciada exportada inclui apenas definições de formulários do sistema que você personaliza. Para exibir a definição de um formulário do sistema, você deve alterar o formulário ou criar um novo formulário salvando o formulário existente com um novo nome.

Depois de exportar a solução, extraia o conteúdo e exiba o customizations.xml arquivo. Você encontra a definição dos formulários em ImportExportXml>Entities>Entity>FormXml. Cada tipo de formulário no nó <FormXml> é agrupado em um elemento <forms> com o parâmetro type que especifica o tipo de formulário.

Propriedades do formulário de tabela SystemForm

A tabela a seguir descreve as colunas da tabela de chaves SystemForm e os dados correspondentes incluídos nos elementos XML exportados com a solução.

Propriedade SystemForm Elemento FormXML Description
AncestorFormId <ancestor> Identificador exclusivo do formulário pai. Defina essa propriedade quando você criar um novo formulário usando Save As para um formulário existente ou usando a classe SDK for .NET CopySystemFormRequest ou a ação CopySystemForm da API Web.
CanBeDeleted <CanBeDeleted> Informações que especificam se esse componente pode ser excluído. Essa propriedade gerenciada só se aplica se você criar o formulário importando uma solução gerenciada.
Description <Descriptions> Description é uma cadeia de caracteres e <Descriptions> contém quaisquer rótulos localizados para a descrição do formulário.

Você pode recuperar os rótulos localizados usando o RetrieveLocLabelsRequest.
FormActivationState <FormActivationState> Especifica o estado do formulário.

Somente formas do tipo "principal" podem ser desativadas.

Valores válidos:

-0: Inactive
-1: Active
FormId <formid> Identificador exclusivo do formulário
FormPresentation <FormPresentation> Especifica se esse formulário está no layout de interface do usuário atualizado no Microsoft Dataverse.
FormXml <form> Representação XML do layout do formulário.
IntroducedVersion <IntroducedVersion> Versão da solução na qual o formulário foi adicionado.
IsAIRMerged N/A Especifica se esse formulário é mesclado com o layout de interface do usuário atualizado no Dataverse.
IsCustomizable <IsCustomizable> Informações que especificam se esse componente pode ser personalizado.

Essa propriedade gerenciada só se aplica se você criar o formulário importando uma solução gerenciada.
IsDefault N/A Informações que especificam se o formulário ou o painel é o padrão do sistema.
Name <LocalizedNames> Name é uma cadeia de caracteres e <LocalizedNames> contém quaisquer rótulos localizados para o nome do formulário.

Você pode recuperar os rótulos localizados usando o RetrieveLocLabelsRequest.
ObjectTypeCode O formulário é um descendente do Entity elemento. O ObjectTypeCode valor é o nome lógico da tabela.
Type <forms>parâmetro de elemento type Os valores válidos para formulários são:

-2: main
-5: mobile
-6: quick
-7: quickCreate

Criar e editar formulários

Você pode criar novos formulários apenas para tabelas em que EntityMetadata.CanCreateForms permite isso.

Crie novos formulários criando-os diretamente ou usando a CopySystemForm mensagem. Use a classe SDK para .NET CopySystemFormRequest ou a ação CopySystemForm da API Web. Quando você utiliza a mensagem CopySystemForm ou Salvar como no editor de formulários, não ocorre herança entre os formulários. Portanto, as alterações no formulário base não se aplicam automaticamente a nenhum formulário criado a partir dele.

Você pode editar definições de formulário exportando uma solução gerenciada, editando as definições de formulário e reimportando a solução. Ao editar formulários manualmente, use um editor XML que dê suporte à validação de esquema. Para obter mais informações, consulte Editar o arquivo XML de personalizações com validação de esquema.

Criar e desenvolver formulários
Tabela SystemForm
Esquema XML do formulário
Abra o formulário principal em uma caixa de diálogo usando a API do cliente