Campos e widgets

Os campos estruturam os modelos de uma base de dados. Se você imaginar um modelo como uma tabela ou planilha, os campos são as colunas onde os dados são armazenados nos registros (ou seja, as linhas). Os campos também definem o tipo de dados que são armazenados neles. A forma como os dados são apresentados e formatados na :abbr:`UI (Interface do Usuário) ` é definida pelo widget.

Do ponto de vista técnico, há 15 tipos de campo no Odoo. No entanto, você pode escolher entre 20 campos no Estúdio, pois alguns tipos de campo estão disponíveis mais de uma vez com um widget padrão diferente.

Dica

Novos campos só podem ser adicionados às visualizações Formulário e Lista. Em outras visualizações, você só pode adicionar Campos existentes (campos já existentes no modelo).

Campos simples

Os campos simples contêm valores básicos, como texto, números, arquivos, etc.

Nota

Os widgets não padrão, quando disponíveis, são apresentados como tópicos abaixo.

Texto (char)

O campo Texto é usado para texto curto contendo qualquer caractere. Uma linha de texto é exibida ao preencher o campo.

  • Medalha: exibe o valor dentro de uma forma arredondada, semelhante a um marcador. O valor não pode ser editado na interface do usuário, mas um valor padrão pode ser definido.

  • Copiar para a prancheta: os usuários podem copiar o valor clicando em um botão.

  • E-mail: o valor se torna um link enviar para clicável.

  • Imagem: exibe uma imagem usando um URL. O valor não pode ser editado manualmente, mas um valor padrão pode ser definido.

    Nota

    Isso funciona de forma diferente de selecionar diretamente o campo Imagem, pois a imagem não é armazenada no Odoo quando se usa um campo Texto com o widget Imagem. Por exemplo, isso pode ser útil se você quiser economizar espaço em disco.

  • Telefone: o valor se torna um link tel clicável.

    Dica

    Marque Habilitar SMS para adicionar ao lado do campo uma opção para enviar um SMS diretamente do Odoo.

  • URL: o valor se torna um URL clicável.

Example

Exemplos de campos de texto com diferentes widgets

Texto multilinha (text)

O campo Texto multilinha é usado para textos mais longos que contenham qualquer tipo de caractere. Duas linhas de texto são exibidas na interface do usuário quando o campo é preenchido.

  • Copiar para a prancheta: os usuários podem copiar o valor clicando em um botão.

Example

Exemplos de campos de texto multilinha com diferentes widgets

Número inteiro (integer)

O campo Número inteiro é usado para todos os números inteiros (positivos, negativos ou zero, sem decimal).

  • Gráfico de porcentagem: exibe o valor dentro de um círculo de porcentagem, geralmente para um valor calculado. O valor não pode ser editado na interface do usuário, mas um valor padrão pode ser definido.

  • Barra de progresso: exibe o valor ao lado de uma barra de porcentagem, geralmente para um valor computado. O campo não pode ser editado manualmente, mas um valor padrão pode ser definido.

  • Alça: exibe um ícone de alça de arrastar para ordenar os registros manualmente na List view.

Example

Exemplos de campos de número inteiro com diferentes widgets

Decimal (float)

O campo Decimal é usado para todos os números decimais (positivo, negativo ou zero, com decimal).

Nota

Os números decimais são exibidos com duas casas decimais após o ponto na interface do usuário, mas são armazenados na base de dados com mais precisão.

  • Monetário: é semelhante ao uso do campo Monetário. É recomendável usar o último, pois ele oferece mais funcionalidades.

  • Porcentagem: exibe um caractere de porcentagem % após o valor.

  • Gráfico de porcentagem: exibe o valor dentro de um círculo de porcentagem, geralmente para um valor calculado. O campo não pode ser editado manualmente, mas um valor padrão pode ser definido.

  • Barra de progresso: exibe o valor ao lado de uma barra de porcentagem, geralmente para um valor computado. O campo não pode ser editado manualmente, mas um valor padrão pode ser definido.

  • Tempo: o valor deve seguir o formato hh:mm, com um máximo de 59 minutos.

Example

Exemplos de campos decimais com diferentes widgets

Monetário (monetário)

O campo Monetário é usado para todos os valores monetários.

Nota

Quando você adiciona um campo Monetário pela primeira vez, é solicitado que você adicione um campo Moeda se ainda não existir nenhum no modelo. O Odoo oferece adicionar o campo Moeda. Depois que ele for adicionado, adicione o campo Monetário novamente.

Example

Exemplo de um campo Monetário com o campo Moeda

Html (html)

O campo Html é usado para adicionar texto que pode ser editado usando o editor HTML do Odoo.

  • Texto multilinha: desativa o editor HTML do Odoo para permitir a edição de HTML bruto.

Example

Exemplos de campos Html com diferentes widgets

Data (date)’

O campo Data é usado para selecionar uma data em um calendário.

  • Dias restantes: a quantidade restante de dias antes da data selecionada ser exibida (por exemplo, Em 5 dias), com base na data atual.

Example

Exemplos de campos Data com diferentes widgets

Data e Hora (datetime)

O campo Data e Hora é usado para selecionar uma data em um calendário e uma hora em um relógio. A hora atual do usuário é usada automaticamente se nenhuma hora for definida.

  • Data: usado para registrar a hora sem exibi-la na interface do usuário.

  • Dias restantes: exibe a quantidade restante de dias antes da data selecionada (por exemplo, Em 5 dias), com base na data e hora atuais.

Example

Exemplos de campos Data e Hora com diferentes widgets

Caixa de seleção (boolean)

O campo Caixa de seleção é usado quando um valor deve ser apenas verdadeiro ou falso, indicado pela marcação ou desmarcação de uma caixa de seleção.

  • Botão: exibe um botão de rádio. O widget funciona sem alternar para o modo de edição.

  • Alternância: exibe um botão de alternância. O widget funciona sem alternar para o modo de edição.

Example

Exemplos de campos de caixa de seleção com diferentes widgets

Seleção (selection)

O campo Seleção é usado quando os usuários devem selecionar um único valor em um grupo de valores predefinidos.

  • Medalha: exibe o valor dentro de uma forma arredondada, semelhante a um marcador. O valor não pode ser editado na interface do usuário, mas um valor padrão pode ser definido.

  • Medalhas: exibe todos os valores selecionáveis simultaneamente dentro de formas retangulares, organizadas na horizontal.

  • Prioridade: exibe símbolos de estrelas em vez de valores, que podem ser usados para indicar um nível de importância ou satisfação, por exemplo. Isso tem o mesmo efeito que selecionar o campo Prioridade, embora, para esse último, quatro valores de prioridade já estejam predefinidos.

  • Rádio: exibe todos os valores selecionáveis ao mesmo tempo como botões de rádio.

    Dica

    Por padrão, os botões de rádio são organizados verticalmente. Marque exibir horizontalmente para mudar a forma como eles são exibidos.

Example

Exemplos de campos de seleção com diferentes widgets

Prioridade (selection)

O campo Prioridade é usado para exibir um sistema de classificação de três estrelas, que pode ser usado para indicar a importância ou o nível de satisfação. Esse tipo de campo é um Campo de seleção com o widget Prioridade selecionado por padrão e quatro valores de prioridade predefinidos. Consequentemente, os widgets Medalha, Medalhas, Rádio e Seleção têm os mesmos efeitos descritos em Seleção.

Dica

Para alterar o número de estrelas disponíveis adicionando ou removendo valores, clique em Editar valores. Observe que o primeiro valor é igual a 0 estrelas (ou seja, quando nenhuma seleção é feita), portanto, ter quatro valores resulta em um sistema de classificação de três estrelas, por exemplo.

Example

Exemplo de um campo Prioridade

Arquivo (binary)

O campo Arquivo é usado para carregar qualquer tipo de arquivo ou assinar um formulário (widget:guilabel:Assinar).

  • Imagem: os usuários podem carregar um arquivo de imagem, que é então exibido na Visualização de formulário. Isso tem o mesmo efeito que usar o campo Imagem.

  • Visualizador de PDF: os usuários podem carregar um arquivo PDF, que pode ser navegado a partir da Visualização de formulário.

  • Assinar: os usuários podem assinar eletronicamente o formulário. Isso tem o mesmo efeito que selecionar o campo Assinar.

Example

Exemplos de campos de arquivo com diferentes widgets

Imagem (binary)

O campo Imagem é utilizado para carregar uma imagem e exibi-la na Visualização de formulário. Esse tipo de campo é um File field com o widget Imagem selecionado por padrão. Consequentemente, os widgets Arquivo, Visualizador de PDF e Assinar têm os mesmos efeitos descritos em Arquivo.

Dica

Para alterar o tamanho de exibição das imagens carregadas, selecione Pequeno, Médio ou Grande na opção Tamanho.

Assinar (binary)

O campo Assinar é usado para assinar o formulário eletronicamente. Esse tipo de campo é um Campo de arquivo com o widget Assinar selecionado por padrão. Consequentemente, os widgets Arquivo, Imagem e Visualizador de PDF têm os mesmos efeitos descritos em Arquivo.

Dica

Para dar aos usuários a opção Auto quando tiverem que desenhar a assinatura, selecione um dos campos Autocompletar com disponíveis (Texto, Many2One, e Campo relacionado somente no modelo). A assinatura é gerada automaticamente usando os dados do campo selecionado.

Campos relacionais

Os campos relacionais são usados para vincular e exibir os dados de registros em outro modelo.

Nota

Os widgets não padrão, quando disponíveis, são apresentados como tópicos abaixo.

Many2One (many2one)

Campos Many2One é usado para vincular outro registro (de outro modelo) ao registro que está sendo editado. O nome do registro do outro modelo é então exibido no registro que está sendo editado.

Example

No modelo Pedido de venda, o campo Cliente é um campo Many2One que aponta para o modelo Contato. Isso permite que muitos pedidos de vendas sejam vinculados a um contato (cliente).

Diagrama que mostra uma relação de many2one

Dica

  • Para impedir que os usuários criem um novo registro no modelo vinculado, marque a opção Desabilitar criação.

  • Para evitar que os usuários abram registros em uma janela pop-up, marque a opção Desabilitar abertura.

  • Para ajudar os usuários a selecionar apenas o registro correto, clique em Domínio para criar um filtro.

  • Distintivo: exibe o valor dentro de uma forma arredondada, semelhante a um marcador. O valor não pode ser editado na interface do usuário.

  • Rádio: exibe todos os valores selecionáveis ao mesmo tempo como botões de rádio.

One2Many (one2many)

O campo One2Many é usado para exibir as relações existentes entre um registro no modelo atual e vários registros de outro modelo.

Example

Você poderia adicionar um campo One2Many no modelo Contato para examinar os muitos pedidos de vendas de um cliente.

Diagrama que mostra um relacionamento one2many

Nota

Para usar um campo One2Many, os dois modelos já devem ter sido vinculados usando um campo Many2One. As relações One2Many não existem independentemente: é realizada uma pesquisa reversa das relações Many2One existentes.

Linhas (one2many)

O campo Linhas é usado para criar uma tabela com linhas e colunas (por exemplo, as linhas de produtos em um pedido de vendas).

Dica

Para modificar as colunas, clique no campo Linhas e, em seguida, em Editar visualização de lista. Para editar o formulário que aparece quando o usuário clica em Adicionar uma linha, clique em Editar visualização de formulário.

Example

Exemplo de um campo de Linhas

Many2Many (many2many)

O campo Many2Many é usado para vincular vários registros de outro modelo a vários registros no modelo atual. Os campos Many2Many podem usar Desabilitar criação, Desabilitar abertura, Domínio, assim como os campos Many2One.

Example

No modelo Tarefa, o campo Responsáveis é um campo Many2Many que aponta para o modelo Contato. Isso permite que um único usuário seja atribuído a muitas tarefas e que muitos usuários sejam atribuídos a uma única tarefa.

Diagrama mostrando as relações many2many
  • Caixas de seleção: os usuários podem selecionar vários valores usando caixas de seleção.

  • Marcadores: os usuários podem selecionar vários valores que aparecem em formas arredondadas, também conhecidos como marcadores. Isso tem o mesmo efeito que selecionar o campo Marcadores.

Marcadores (many2many)

O campo Marcadores é usado para exibir vários valores de outro modelo que aparecem em formas arredondadas, também conhecidos como marcadores. Esse tipo de campo é um campo Many2Many com o widget Tags selecionado por padrão. Consequentemente, os widgets Checkboxes e Many2Many têm os mesmos efeitos descritos em Many2Many.

Dica

Para exibir tags com cores de fundo diferentes, marque a opção Usar cores.

Example

Exemplo de um campo Marcadores

Propriedades

  • Invisível: Quando não for necessário que os usuários vejam um campo na interface do usuário, marque a opção Invisível. Isso ajuda a limpar a interface do usuário, exibindo apenas os campos essenciais, dependendo de uma situação específica.

    Example

    Na visualização de Formulário do modelo Contato, o campo Título só aparece quando Particular for selecionado, pois esse campo não seria útil para um contato Empresa.

    Nota

    O atributo Invisível também se aplica ao Estúdio. Para visualizar campos ocultos no Estúdio, clique na guia Visualizar de uma visualização e marque a opção Mostrar elementos invisíveis.

  • Obrigatório: Se um campo sempre deve ser preenchido pelo usuário antes de ser possível continuar, marque Obrigatório.

  • Somente leitura: Se os usuários não devem ser capazes de modificar um campo, marque a opção Somente leitura.

    Nota

    Você pode optar por aplicar essas três propriedades somente a registros específicos, clicando em Condicional e criando um filtro.

  • Rótulo: O Rótulo é o nome do campo na interface do usuário.

    Nota

    Esse não é o mesmo nome usado na base de dados PostgreSQL. Para visualizar e alterar o último, ative a opção Modo desenvolvedor, e edite o arquivo Nome técnico.

  • Dica de ajuda: Para explicar a finalidade de um campo, escreva uma descrição em Dica de ajuda. Ela é exibida dentro de uma caixa de dica ao passar o mouse sobre o rótulo do campo.

  • Marcador de posição: Para dar um exemplo de como um campo deve ser preenchido, digite-o em Marcador de posição. Isso será exibido em cinza claro no lugar do valor do campo.

  • Widget: Para alterar a aparência ou a funcionalidade padrão de um campo, selecione um dos widgets disponíveis.

  • Valor padrão: Para adicionar um valor padrão a um campo quando um registro é criado, use Valor padrão.

  • Limitar a visibilidade para grupos: Para limitar quais usuários podem ver o campo, selecione um grupo de acesso de usuário.