Definizione dei campi e delle relative proprietà
Una tabella contiene diverse proprietà che la configurano. Una tabella contiene anche diversi campi che definiscono il tipo di dati in essa contenuti. Allo stesso modo, ogni campo ha proprietà di campo. Le sezioni seguenti illustrano alcune importanti proprietà dei campi.
Proprietà Nr. campo e Nome
Analogamente alle proprietà della tabella, anche ogni campo ha un numero e un nome. Per un campo, queste proprietà sono Nr. campo e Nome. Quando si crea un nuovo campo, è necessario fornire un numero al nuovo campo. Tenere presente che quando si estende una tabella esistente con nuovi campi, è necessario attenersi agli intervalli di numeri forniti da Microsoft. Analogamente, è importante anche dare ai campi un nome inglese che può esistere una sola volta in una tabella.
Proprietà DataType
DataType è un'importante proprietà del campo. Determina il tipo di dati che è possibile archiviare nel campo.
La proprietà DataType si trova come ultima parte nella definizione del campo, come indicato di seguito:
field([number], [name], [datatype])
La figura seguente mostra un esempio di proprietà DataType.
Il tipo di dati può essere uno di quelli seguenti:
Testo
Stringa alfanumerica
Massimo 250 caratteri
Tipo di dati SQL corrispondente: NVARCHAR
Codice
Stringa alfanumerica in maiuscolo
Massimo 250 caratteri
Tipo di dati SQL corrispondente: NVARCHAR
Spesso usato come chiave primaria
Decimale
Numero decimale
Da -999.999.999.999.999,99 a +999.999.999.999.999,99
Tipo di dati SQL corrispondente: DECIMAL
Intero
Numero intero
Da -2.147.483.647 a 2.147.483.647
Tipo di dati SQL corrispondente: INT
BigInteger
Integer a 64 bit
Numeri interi di grandi dimensioni
Tipo di dati SQL corrispondente: BIGINT
Binario
Dati binari
Tipo di dati SQL corrispondente: VARBINARY
Opzione
Stringa opzione
Elenco di stringhe separato da virgole: valori validi del campo
Non può essere esteso da altre estensioni
Tipo di dati SQL corrispondente: INT
Enumerazione
Collegato a un oggetto enum
Può essere esteso da altre estensioni
Tipo di dati SQL corrispondente: INT
Booleano
Vero o falso
Formattato: sì o no
Tipo di dati SQL corrispondente: TINYINT
Data
Valore data
Dal 1 gennaio 1753 al 31 dicembre 9999
Data non definita (valore predefinito): 0D
Tipo di dati SQL corrispondente: DATETIME
Ora
Valore ora
Dalle 00:00:00 alle 23:59:59,999
Data non definita (valore predefinito): 0T
Tipo di dati SQL corrispondente: DATETIME
DateFormula
Contiene una formula di data
Esempio: 30D, CM+1M, D15 (il 15 di ogni mese)
DateTime
- Un punto nel tempo, una data e un'ora combinate
Durata
- Differenza (ms) tra due punti nel tempo
BLOB
Oggetto binario di grandi dimensioni
Archivio bitmap e promemoria
Media
Archivio immagini
Prestazioni ottimizzate per gestire le immagini
MediaSet
Un set di immagini
Gestione di una raccolta di immagini
RecordID
TableFilter
GUID
Il tipo di dati Opzione è un elenco di stringhe separato da virgole con i valori validi del campo. Quando si crea un campo con il tipo di dati Opzione, si dovrebbe fornire la proprietà OptionMembers. I valori di un campo Opzione iniziano sempre con zero (0). Nell'esempio seguente, Hatchback ha valore 0, Sedan ha valore 1, MPV ha valore 2 e così via.
Il problema con il tipo di dati Opzione è che non può essere esteso da altre estensioni AL per aggiungere più valori alla proprietà OptionMembers.
Un'alternativa al tipo di dati Opzione è il tipo di dati Enum. Per usare questo tipo, occorre prima definire l'enumerazione come oggetto separato con il proprio numero e il proprio nome. L'oggetto Enum è estendibile.
Anziché usare un tipo di dati Opzione, è possibile definire il campo con un tipo di dati Enum.
Proprietà ExtendedDataType
La proprietà ExtendedDataType influisce sul layout e sul comportamento dei controlli in una pagina. Questa proprietà può avere uno dei seguenti valori:
Nessuno (valore predefinito)
PhoneNo
URL
E-mail
Ratio
Masked
Person
Resource
Business Central consentirà agli utenti di selezionare il valore in un controllo e aprire un browser per un ExtendedDataType URL, aprire il client di posta elettronica con ExtendedDataType E-mail o avviare una telefonata con ExtendedDataType PhoneNo.