Créer des tables de journal
Les tables de journal permettent la saisie de transactions pour un domaine d’application. Toutes les transactions, qu’elles soient saisies directement par un utilisateur ou générées à partir d’une autre routine de validation, passent par une table de journal pour éventuellement être validées dans une table de comptabilité. Les tables de journal sont liées à de nombreuses autres tables, y compris les tables principales, les tables supplémentaires, les tables subsidiaires et parfois les tables de comptabilité correspondantes. En raison de leur utilisation dans les entrées de transaction, les tables de journal ont plus de codes déclencheurs pour valider les données que la plupart des autres types de tables.
Noms de table de journal
Le nom d’une table de journal est le nom de la transaction qui est validée suivi des mots ligne de journal. Par exemple, la table dans laquelle les utilisateurs saisissent des transactions dans le domaine d’application Ressource est nommée Ligne feuille ressource. Chaque enregistrement d’une table de journal contient une ligne du journal correspondant.
Généralement, la table de journal est liée à deux tables supplémentaires correspondantes : Modèle feuille et Feuille. Ces tables permettent aux utilisateurs de diviser la saisie de données de diverses manières, puis de définir des informations facultatives qui s’appliquent à l’ensemble du journal.
Les noms de ces deux tables sont les mêmes que le nom de la table de journal, sauf qu’ils sont suivis des mots feuille ou modèle feuille au lieu de ligne de journal. Par conséquent, les deux tables correspondantes pour la table Ligne feuille ressource sont nommées Modèle feuille ressource et Nom feuille ressource.
Clé primaire et autres champs standard
La clé primaire d’une table de journal se compose de trois champs :
Nom modèle feuille : champ lié à la table de modèle feuille
Nom feuille : champ lié à la table de feuilles
N° ligne : - champ entier
Le champ Description de cette table est un champ de texte dont la longueur est égale à 100.
Pages associées
Vous pouvez utiliser une page de feuille de calcul pour effectuer des entrées dans la table de journal. Le nom de la page est le même que la table de journal, sauf sans le mot ligne. Par conséquent, la page de feuille de calcul de la table Ligne feuille ressource est nommée Feuille ressource. Parfois, la page est nommée pour le type de données saisies. Par exemple, l’une des nombreuses pages de feuille de calcul que vous utilisez avec la table Ligne de journal est nommée Journal des ventes. Aucun des champs de clé primaire n’est inclus sur la page.
Lorsque la page de feuille de calcul est appelée, elle est filtrée par les champs Nom modèle feuille et Nom feuille. La propriété AutoSplitKey de la page de feuille de calcul définit automatiquement le champ N° ligne en incrémentant le dernier N° ligne de 10 000 ou en essayant de diviser les champs N° ligne de l’enregistrement ci-dessus et de l’enregistrement sous l’insertion d’un nouvel enregistrement.
La page de feuille de calcul de journal comprend toujours les actions suivantes :
Une action qui recherche la page de fiche pour l’enregistrement principal utilisé dans le journal
Une action qui affiche toutes les écritures comptables pour l’enregistrement principal utilisé dans le journal
Une action nommée Valider qui valide le journal dans le ou les registres correspondants
Habituellement, la page de feuille de calcul du journal comprend d’autres actions qui permettent à l’utilisateur d’effectuer diverses fonctions de traitement.
L’exemple suivant montre un extrait de code de la table Ligne feuille ressource.
table 207 Res. Journal Line
{
Caption = 'Res. Journal Line';
fields
{
field(1; "Journal Template Name"; Code[10])
{
TableRelation = "Res. Journal Template";
}
field(2; "Line No."; Integer)
{
}
field(3; "Entry Type"; Option)
{
}
field(4; "Document No."; Code[20])
{
}
field(5; "Posting Date"; Date)
{
}
...
field(8; Description; Text[100])
{
}
...
field(23; "Journal Batch Name"; Code[10])
{
TableRelation = "Res. Journal Batch".Name
where("Journal Template Name" =
field("Journal Template Name"));
}
...
}
keys
{
key(Key1; "Journal Template Name", "Journal Batch Name", "Line No.")
{
Clustered = true;
}
}
}