Creazione di tabelle documenti
Le tabelle documenti sono tabelle transazionali secondarie che abilitano movimenti per una o più aree di applicazione contemporaneamente. Esse sono secondarie solo nel senso che le relative informazioni vengono registrate nella contabilità generale tramite le tabelle del giornale di registrazione anziché essere registrate direttamente. Per la maggior parte degli utenti, le tabelle documenti sono il mezzo principale per inserire una transazione.
Dal momento che sono usate per i movimenti delle transazioni, le tabelle documenti hanno più codici trigger rispetto alla maggior parte degli altri tipi di tabella.
I due tipi di tabelle documenti sono:
Intestazione documento
Riga documento
Tabelle di intestazione documento
Una tabella di intestazione documento contiene le informazioni principali sulla transazione che si applicano a tutte le righe del documento. Ad esempio, per una transazione di vendita, la tabella Testate vendita contiene le informazioni principali sull'ordine o sulle fatture, come il cliente a cui appartiene l'ordine o la fattura, le date di registrazione, le informazioni di spedizione e informazioni simili che si applicano a tutte le righe del documento.
Tabelle di riga documento
Una tabella di riga documento contiene informazioni dettagliate per la transazione. Ad esempio, per una transazione di vendita, la tabella Righe vendite contiene informazioni su ogni riga dell'ordine o della fattura. Una tabella di riga documento è una tabella secondaria della tabella di intestazione documento.
Come le tabelle del giornale di registrazione, le tabelle documenti sono correlate a molte altre tabelle, tra cui tabelle master, supplementari e secondarie. Altri tipi di tabella sono raramente correlati ad altre tabelle documenti.
Nomi di tabella documenti
Il nome di una tabella di intestazione documento è il nome della transazione o del documento unita alla parola testate. Ad esempio, la tabella di intestazione documento che contiene le transazioni di vendita è denominata Testate vendita. Ogni record contiene una vendita, ad esempio un ordine o una fattura.
Ad esempio, una tabella di intestazione documento che contiene le transazioni di note di addebito interessi è denominata Testata nota addebito interessi. Ogni record contiene una nota di addebito interessi.
Il nome di una tabella di riga documento è il nome della transazione o del documento unita alla parola righe. Ad esempio, la tabella di riga documento che contiene le transazioni di vendita è denominata Righe vendite. Ogni record contiene una riga di una vendita, ad esempio un ordine o una fattura.
Ad esempio, la tabella di riga documento che contiene le transazioni di note di addebito interessi è denominata Riga nota addebito interessi. Ogni record contiene una riga di una nota di addebito interessi.
Chiave primaria e altri campi standard
Per la maggior parte delle tabelle di intestazioni di documenti, la chiave primaria è un campo di tipo Codice, denominato N. e di lunghezza 20, che contiene il numero del documento. Alcune tabelle di intestazione documento contengono più tipi di documenti. La tabella Testate vendita, ad esempio, contiene documenti fattura, documenti nota di credito, documenti ordine cliente e di altro tipo. In questi casi, la chiave primaria ha due campi:
Tipo di documento: Enumerazione
Nr.: - Campo codice di lunghezza 20
Per la maggior parte delle tabelle delle righe del documento, la chiave primaria prevede due campi: un campo di tipo Codice di lunghezza 20 che contiene il numero del documento e un campo di tipo Intero denominato Nr. riga. Il campo di tipo codice si riferisce alla tabella di intestazione del documento ed è denominato in base al nome di quella tabella (senza la parola intestazione) seguito dal campo della chiave primaria della tabella.
Ad esempio, il campo di tipo codice nella chiave primaria della tabella Riga nota addebito interessi è denominato Nr. nota addebito interessi.
Quando la chiave primaria della tabella di intestazione documento include un tipo di documento, la chiave primaria della tabella di riga documento ha i tre campi seguenti:
Tipo di documento: Enumerazione
Nr. documento - Campo codice di lunghezza 20
Nr. riga - Campo Integer
Il campo codice è correlato alla tabella di intestazione documento.
Pagine associate
Una tabella di intestazione documento usa una pagina di tipo Documento per visualizzare un record di intestazione alla volta in modo da consentire di visualizzare e modificare le informazioni nella tabella di intestazione. Il nome della pagina è anche il nome del documento visualizzato.
Ad esempio, la pagina che mostra le note di addebito interessi della tabella Testata nota addebito interessi è denominata Nota addebito interessi. Questo approccio si applica anche se la tabella contiene più tipi di documenti perché, in questo caso, la pagina è impostata per la visualizzazione di informazioni di un solo tipo. La pagina che mostra le fatture vendita della tabella Testate vendita, ad esempio, è denominata Fatture di vendita.
La pagina contiene Schede dettaglio per dividere i campi in gruppi logici, semplificando la modifica delle informazioni. La pagina di un documento include una parte di pagina che mostra la pagina delle righe del documento.
Una tabella di riga documento usa una pagina di tipo ListPart per visualizzare record di più righe alla volta. Il nome della pagina è il nome del documento unito alle parole righe o subform. Nessuno dei campi di chiave primaria è incluso in questa pagina.
Questa pagina viene filtrata usando la proprietà SubPageLink per tutti i campi di chiave primaria, eccetto per il campo Nr. riga, che viene gestito automaticamente dalla proprietà AutoSplitKey della pagina.
La tabella di intestazione documento usa anche una pagina elenco per consentire di visualizzare più documenti contemporaneamente. Il nome di questa pagina è il nome della pagina documento unito alla parola elenco. La pagina elenco che mostra le fatture vendita, ad esempio, è denominata Elenco fatture di vendita.
La pagina elenco delle intestazioni documento usa la proprietà CardPageID per specificare la pagina documento che viene mostrata quando si visualizza, modifica o crea un nuovo documento o quando si fa doppio clic su un documento dell'elenco.
L'esempio seguente illustra un frammento della tabella Testate vendita.
table 36 "Sales Header"
{
Caption = 'Sales Header';
DataCaptionFields = "No.", "Sell-to Customer Name";
LookupPageID = "Sales List";
fields
{
field(1; "Document Type"; Option)
{
OptionMembers = Quote,"Order",Invoice,"Credit Memo","Blanket Order",
"Return Order";
}
field(2; "Sell-to Customer No."; Code[20])
{
TableRelation = Customer;
}
field(3; "No."; Code[20])
{
}
field(4; "Bill-to Customer No."; Code[20])
{
TableRelation = Customer;
}
...
}
keys
{
key(Key1; "Document Type", "No.")
{
Clustered = true;
}
}
}
L'esempio seguente illustra un frammento della tabella Righe vendite.
table 37 "Sales Line"
{
Caption = 'Sales Line';
DrillDownPageID = "Sales Lines";
LookupPageID = "Sales Lines";
fields
{
field(1; "Document Type"; Option)
{
OptionMembers = Quote,"Order",Invoice,"Credit Memo","Blanket Order",
"Return Order";
}
field(2; "Sell-to Customer No."; Code[20])
{
TableRelation = Customer;
}
field(3; "Document No."; Code[20])
{
TableRelation = "Sales Header"."No."
where("Document Type" = field("Document Type"));
}
field(4; "Line No."; Integer)
{
}
field(5; Type; Option)
{
OptionMembers = " ","G/L Account",Item,Resource,"Fixed Asset",
"Charge (Item)";
}
field(6; "No."; Code[20])
{
TableRelation = if (Type = Const(" ")) "Standard Text"
else
if (Type = Const("G/L Account") "G/L Account"
else
if (Type = Const(Resource)) Resource
else
if (Type = Const("Fixed Asset")) "Fixed Asset"
else
if (Type = Const("Charge (Item)")) "Item Charge"
else
if (Type = Const(Item) Item;
}
...
field(11; Description; Text[100])
{
}
...
}
keys
{
key(Key1; "Document Type", "Document No.", "Line No.")
{
Clustered = true;
}
}
}
Tabelle dello storico documenti
Le tabelle dello storico documenti hanno con le tabelle documenti la stessa relazione che le tabelle di contabilità generale hanno con le tabelle del giornale di registrazione. Quando un documento viene registrato, parte del processo di registrazione è la copia delle tabelle documenti nelle tabelle dello storico documenti corrispondenti. Per facilitare il processo di copia, la tabella dello storico documenti contiene campi che hanno gli stessi numeri di campo, nomi e proprietà delle tabelle documenti originali.
Poiché le tabelle dello storico documenti tengono traccia delle transazioni registrate, esse non possono in genere essere modificate dall'utente. Tuttavia, in determinate circostanze è possibile eliminarle. Ad esempio, è possibile eliminare una fattura di vendita registrata se è stata stampata. A parte queste poche distinzioni, le tabelle e le pagine dello storico documenti sono uguali alle tabelle e alle pagine documento.