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 ou subitens 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

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

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

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

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

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

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 deve ser definido como Somente leitura.
Example

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.
Dica
Assim como as propriedades gerais, algumas propriedades específicas estão disponíveis para os campos Data e Hora que têm o widget Data e Hora ou Intervalo de data definido.
Intervalo de datas (daterange
)¶
O widget Intervalo de datar é usado para exibir um período de tempo definido por uma data de início e uma data de término em uma única linha. Um intervalo de datas pode ter uma data de início e de término obrigatória, por exemplo, para um evento de vários dias, ou permitir uma data de início ou de término opcional, por exemplo, para uma intervenção de serviço de campo ou uma tarefa de projeto.
A adição de um intervalo de datas requer dois campos: um campo Data e Hora com o widget Intervalo de datas definido e outro campo selecionado como a data inicial ou a data final. Esse campo subjacente pode ser um campo Data ou Data e Hora existente, ou um campo criado especificamente para essa finalidade.
Para adicionar um intervalo de datas:
Identifique um campo Data ou Data e Hora existente que possa ser usado como o campo de data de início/fim subjacente ou adicione um novo campo. Se o intervalo de datas:
tem uma data de início e uma data de término obrigatórias, esse campo pode ser a data de início ou a data de término; o resultado é o mesmo.
permite uma data de início ou de término opcional; esse campo é a data de início ou de término, respectivamente.
Dica
Para evitar a visualização da mesma informação duas vezes, o campo de data de início/término subjacente pode ser tornado invisível ativando Invisível ou removido da visualização clicando em Remover da visão.
Adicione um campo Data e Hora e defina o campo Widget como Intervalo de datas.
Digite um Rótulo apropriado.
Selecione o campo de data de início/fim subjacente no menu suspenso Campo de data de início ou Campo de data final, conforme relevante.
Se o intervalo de datas tiver uma data inicial e uma data final obrigatórias, ative Sempre o intervalo.
Atualize quaisquer outras propriedades gerais ou propriedades específicas para os campos Data e Hora conforme necessário e, em seguida, clique em Fechar no canto superior direito da tela.
Example

Dias restantes (remaining_days
)¶
O widget Dias remanescentes exibe o número restante de dias antes da data selecionada (por exemplo, Em 5 dias), com base na data e na hora atuais. Esse campo deve ser definido como Somente leitura.
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

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 seleção são organizados verticalmente. Ative a opção Exibir horizontalmente para mudar a forma como são exibidos.
Barra de status: exibe todos os valores selecionáveis ao mesmo tempo, como uma barra de progresso em forma de seta.
Dica
Por padrão, os valores na barra de status são selecionáveis. Desabilite Clicável para evitar que o valor seja editado na interface do usuário.
Example

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

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

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).

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.

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

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.

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.
Propriedades¶
Propriedades gerais¶
Invisível: Ative essa propriedade quando não for necessário que os usuários visualizem um campo na interface do usuário. Isso ajuda a organizar a interface do usuário, mostrando apenas os campos essenciais, dependendo de uma situação específica.
O atributo Invisível também se aplica ao Estúdio. Para visualizar campos ocultos no Estúdio, clique na aba Visualizar de uma visualização e ative a opção Mostrar elementos invisíveis.
Obrigatório: Habilite essa propriedade se um campo sempre deve ser preenchido pelo usuário antes de ser possível continuar.
Somente leitura: Habilite essa propriedade se os usuários não puderem modificar um campo.
Nota
É possível ativar Invisível, Obrigatório e Somente leitura somente em registros específicos clicando em Condicional e criando um filtro.
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.
Rótulo: o nome do campo na interface do usuário. Não é o nome usado no banco de dados PostgreSQL. Para visualizar e alterar o último, ative o modo de desenvolvedor e edite o Nome técnico.
Dica de ajuda: Para explicar a finalidade de um campo, adicione uma descrição. O texto é exibido ao passar o mouse, em uma caixa de dica de ferramenta acima do ponto de interrogação ao lado do rótulo do campo.
Widget: Para alterar a aparência ou a funcionalidade padrão de um campo, selecione um dos widgets disponíveis.
Marcador de posição: Para fornecer um exemplo de como um campo deve ser preenchido, adicione um texto de espaço reservado. O texto aparece em cinza claro até que um valor seja inserido.
Valor padrão: Para exibir um valor padrão em um campo quando um registro é criado, adicione um valor.
Permitir visibilidade para grupos: Para limitar os usuários que podem visualizar o campo, selecione um ou mais acessos de usuário grupos.
Proibir visibilidade para grupos: Para impedir que determinados usuários vejam o campo, selecione um ou mais acessos de grupos <access-rights/groups> de usuários.
Propriedades dos campos de data e hora¶
Para os campos Data e Hora que têm o widget Data e Hora ou Intervalo de datas definido, há algumas propriedades específicas disponíveis:
Intervalo de tempo: Insira um valor para determinar os intervalos de minutos mostrados no seletor de tempo. Por exemplo, digite 15 para permitir intervalos de um quarto de hora. O valor padrão é definido como 5 minutos.
Aviso para datas futuras: Ative essa propriedade para exibir um ícone de aviso se uma data futura for selecionada.
Mostrar hora: Essa propriedade é ativada por padrão para os campos Data e Hora. Em um campo somente leitura, desative a propriedade para mostrar somente a data. Isso pode manter uma visualização de lista menos desordenada, por exemplo.
Primeira data aceita: Insira a primeira data que pode ser selecionada no seletor de datas no formato ISO, ou seja,
AAAA-MM-DD
. Se a data atual for sempre a primeira data aceita, digitehoje
. No seletor de datas, as datas anteriores à primeira data aceita ficam acinzentadas.Primeira data aceita: Insira a última data que pode ser selecionada no seletor de datas no formato ISO, ou seja,
AAAA-MM-DD
. Se a data atual for sempre a última data aceita, digitehoje
. No seletor de datas, as datas posteriores à última data aceita ficam acinzentadas.