Campos

Todos os itens que trabalham com dados de tabelas do banco de dados possuem um atributo fields – uma lista de objetos de campo, que são usados para representar os campos nos registros da tabela do item.

Cada campo possui os seguintes atributos:

Cliente

Servidor

Descrição

owner

owner

O item que possui este campo.

field_name

field_name

O nome do campo que será usado no código de programação para acessar o objeto do campo.

field_caption

field_caption

O nome do campo exibido para os usuários.

field_type

field_type

Tipo do campo, um dos seguintes valores: text, integer, float, currency, date, datetime, boolean, blob.

field_size

field_size

Tamanho do campo com tipo text.

required

required

Especifica se um valor não vazio é obrigatório para o campo.

Para acessar os dados do dataset do item, a classe Field possui as seguintes propriedades:

Client

Server

Description

value

value

Use esta propriedade para obter ou definir o valor do campo do registro atual. Ao ler, o valor é convertido para o tipo do campo. Assim, para campos dos tipos integer, float e currency, se o valor no registro da tabela do banco de dados for NULL, o valor desta propriedade será 0. Para obter o valor sem conversão, use a propriedade raw_value.

text

text

Use esta propriedade para obter ou definir o valor do campo como texto.

lookup_value

lookup_value

Use esta propriedade para obter ou definir o valor de pesquisa (lookup), veja Campos de pesquisa.

lookup_text

lookup_text

Use esta propriedade para obter ou definir o valor de pesquisa do campo como texto, veja Campos de pesquisa.

display_text

display_text

Representa o valor do campo como exibido nos controles ligados a dados. Quando o campo é um campo de pesquisa, seu valor será o de lookup_text, caso contrário será o valor da propriedade text, levando em consideração os parâmetros de localidade do projeto. Esse comportamento pode ser sobrescrito pelo manipulador de evento on_field_get_text do item que possui o campo.

raw_value

raw_value

Use esta propriedade para obter o valor do campo do registro atual exatamente como está armazenado no banco de dados. Nenhuma conversão é realizada.

Além disso, cada campo é um atributo do item ao qual ele pertence. Assim, para acessar um campo de um item, utilize a seguinte sintaxe: item.field_name

invoices.total.value

invoices.total é a referência ao campo Total do item Invoices e invoices.total.value é o valor desse campo.

Abaixo estão os valores dos atributos dos campos do item invoices no Projeto de Demonstração

customer integer
   value:  2
   text:  2
   lookup_value:  Köhler
   lookup_text:  Köhler
   display_text:  Leonie Köhler
firstname integer
   value:  2
   text:  2
   lookup_value:  Leonie
   lookup_text:  Leonie
   display_text:  Leonie
billing_address integer
   value:  2
   text:  2
   lookup_value:  Theodor-Heuss-Straße 34
   lookup_text:  Theodor-Heuss-Straße 34
   display_text:  Theodor-Heuss-Straße 34
id integer
   value:  1
   text:  1
   lookup_value:  None
   lookup_text:
   display_text:  1
date date
   value:  2014-01-01
   text:  01/01/2014
   lookup_value:  None
   lookup_text:
   display_text:  01/01/2014
total currency
   value:  2.08
   text:  $2.08
   lookup_value:  None
   lookup_text:
   display_text:  $2.08