Contents Previous Next

Les syntaxes et les formats

montants et évaluation d'expressions

les expressions de calcul

notes sur les expressions de calcul

Dans les zones de saisie numériques (quantités, débits, crédits) il est possible de rentrer simplement un montant mais aussi une expression de calcul.

Lors de la saisie on utilisera fréquemment les possibilités de calcul direct :

Lors de la rédaction de documents standards, ou d'états de synthèse il sera intéressant de pouvoir utiliser des possibilités plus élaborées.

Une expression peut utiliser :

+ - / : * ( ) > < , & | = ¸

les opérateurs arithmétiques

les opérateurs logiques

les opérateurs divers

Exemple tiré du calcul d'un bulletin de paie, si les éléments du salaire brut sont dans les cases D1,D2,D3, la valeur du plafond dans Q1 la formule qui calcule la totalité du brut et qui prépare les calculs de retenues sera:

1& (D1+D2+D3),2& (M1>Q1)*(M1-Q1),3& M1-M2,M1

Elle retourne le contenu de M1 soit le brut total et stocke dans M2 le montant supérieur au plafond et dans M3 celui qui est inférieur au plafond.

les fonctions de calcul

Les fonctions ont pour arguments entre parenthèses les mots-clés sélectionnant les comptes à interroger accompagnés le cas échéant d'opérateurs de sélection complémentaires :

entre crochets [] :

Une sélection de codes journaux. Par exemples @mouvt(41[v]) calculera le total des mouvements des comptes clients au journal de ventes.

entre accolades {} :

Un décalage de période qui peut être exprimé en mois (M) ou en années (A). Si la période de sélection est le mois courant pour calculer la variations des ventes par rapport au mois précédent on peut utiliser l'expression

@mouvt(7[v])/@mouvt(7[v]{-1M})*100-100

Qui donne la variation en pourcentage...

liste des fonctions

@SOLDE

Calcule le solde en fin de période des comptes sélectionnés. Initialise les variables associées $M et $S.

@solde(40;41)

(donnera le solde des créances clients et des dettes fournisseurs en fin de période, associé à un détail des calculs donnera la liste des clients n'ayant pas payé et des fournisseurs impayés, avec l'édition des nuls donnera la liste totale des comptes clients/fournisseurs avec le montant en face des comptes non soldés ...)

@SOLDANT

Fourni directement le solde antérieur à la période d'interrogation.

@SOLDED et @SOLDEC

Ces deux fonctions fournissent uniquement le solde des comptes ayant un solde débiteur ou créditeur. Cela peut permettre de faire un état des créances et des dettes.

@MOUVT

Calcule le total des mouvements sur la période considérée.

@mouvt(6;7)

donne une estimation du résultat d'exploitation.

@MOUVTD et @MOUVTC

Ces deux fonctions fournissent uniquement le total des comptes ayant un solde des mouvements de la période débiteur ou créditeur.

@MVTQTE

Calcule le mouvements en quantité sur la période (il faut pour cela que les quantités aient été saisies)

@PUMOYEN

Calcule le rapport des mouvements financiers et quantités sur la période : cela donne le prix unitaire moyen.

@DEMANDE

Demande par l'intermédiaire d'une fenêtre-écran une valeur numérique qui sera retournée par la fonction pour être utilisée dans la feuille de calcul. En paramètre il faut mettre un texte qui servira de titre à la fenêtre.

@demande(DONNER LE MONTANT TTC)

@CHOIXPERIODE

Cette fonction ne retourne rien mais permet d'accéder à la fenêtre de sélection d'opérations pour définir les opérations qui seront sélectionnées ultérieurement pour l'évaluation des fonctions solde et mouvements. (comme @demande mettre un titre)

@choixperiode(PERIODE DE REFERENCE POUR LA REMUNERATION AU C.A.)

@CHOIXMOTS

Cette fonction ne retourne rien mais elle permet de réaliser un paramétrage des intitulés de comptes des lignes d'un document standard. Le texte qui sera saisi dans la fenêtre choixmots remplacera les %% qui auront été rentrés dans les lignes d'intitulés.

@choixmots(NOM DU SALARIE)

@AMORT2

@AMORT3

Ces fonctions calculent l'amortissement d'un montant, à partir d'une date de début, sur N années, avec un coefficient dégressif. Les valeurs sont données en paramètres séparés par des points virgules :

Pour 100000 F, depuis le 1er Mai 1985,

amortis sur 10 ans

avec un coefficient dégressif de 2.5

@AMORT2(100000;01/05/84;10;2.5)

Ces fonctions servent pour créer un document standard de dotation aux amortissements qui contient en première ligne la fonction @CHOIXPERIODE, sur les suivantes les intitulés des comptes d'amortissement et au crédit les valeurs calculées avec les fonctions @AMORT et en contrepartie le compte de dotation.

variables associées

variables $S et $M

Les variables associées contiennent le résultat pour la dernière fonction évaluée. Cela évite de refaire une sélection d'opération et un calcul global. Après avoir calculé des soldes on dispose pour les mêmes comptes et la même période les mouvements de la période (variable $M) et les soldes antérieurs à la période (variable $S)

variable $U

La variable $U est en fait une fonction qui calcule le prix unitaire moyen pondéré pour le compte dont l'intitulé est sur la ligne courante de l'écran.

Cette fonction prend en compte pour le calcul la totalité des opérations inscrites dans le fichier à une date de valeur antérieure à la date système. (C'est un solde en date de valeur à aujourd'hui.

formats d'éditions et états de synthèse

Le But : Programmer les éditions des outils de gestion

Les états de synthèse (bilans... ) et les formats d'éditions (factures... ) sont définis selon le même schéma. Le document de synthèse porte sur la période sélectionnée du fichier et utilisera des fonctions de calcul de solde ou de mouvements. Le format d'édition lui se réfère au document présent (saisie) ou chargé (F7-Edition) dans l'écran de travail.

Il vous est possible de définir et créer vos propres documents de synthèse. Pour cela il vous faudra:

La "programmation" des états de synthèse se fait en deux temps. Il faut d'abord définir les calculs à effectuer et stocker les résultats en mémoire. Ensuite il faut éditer le contenu de ces mémoires selon la mise en page désirée.

La séparation en deux phases permet d'effectuer des calculs dépendants dans un ordre indépendant de l'ordre d'apparition sur le document imprimé

le générateur de tables

Dans les cas simples il sera plus facile d'utiliser le module de génération de tables de synthèse que de chercher à rédiger un programme complexe.

Le fichier généré pourra par la suite être modifié et optimisé.

résumé des commandes

Le fichier de commandes pour le module de génération est un fichier crée avec l'éditeur.

Les lignes qui ne sont pas des commandes sont de la forme :

titre de la ligne &  formule [&  formule]
Les lignes de commande sont les lignes commençant par un mot-clé ou dont le premier caractère définit la commande.

Une ligne commençant par un point-virgule est considérée comme un commentaire.

Le mot clé doit impérativement commencer au premier caractère de la ligne et être terminé par le symbole ':', les espaces entre le deux-points terminant le mot-clé et le reste de la ligne seront ignorés pour permettre une mise en page aérée.

Le caractère de commande doit être le premier de la ligne.

L'utilisation de caractères de commande simplifie la frappe de du fichier mais rendra la lecture et la mise à jour plus laborieuse. Ceux-ci sont signalés entre crochets à la fin de la description.

Les différents mots-clés sont :

TITRE:

définit un titre du tableau, séparer les colonnes par des '& '.

[:]

PLUS: ou MOINS:

change le signe de l'affichage des calculs (pour éviter d'avoir des nombres négatifs).

[+] ou [-]

SOUSTOTAL:

affiche la suite de la ligne comme titre et le sous-total depuis le dernier total ou sous-total affiché.

[*]

TOTAL:

affiche la suite de la ligne comme titre et le total général depuis le début du tableau créé.

[$]

ZERO:

remet à zéro les totaux et sous-totaux et commence la définition d'une nouvelle table.

MODELE:, MODELE0: à MODELE9:

définit le reste de la ligne comme ligne modèle courante. Il est possible de définir dix lignes de modèles actives de MODELE0: à MODELE9: (par défaut MODELE: est équivalent à MODELE0:).

[<]

POUR:, POUR0: à POUR9:

remplace les %% dans la ligne modèle active par la suite de la ligne courante.

Deux syntaxes possibles :

POUR: 60

créera une ligne de tableau où "60" sera en titre de ligne et sera utilisé dans les expressions de colonnes.

POUR: achats = 60

créera une ligne de tableau où "achats" sera en titre de ligne et "60" sera utilisé dans les expressions de colonnes.

[%]

POURCOMPTES:, POURCOMPTES0: à POURCOMPTES9:

génère autant de lignes POUR: que d'intitulés de comptes sélectionnés par la suite de la ligne.

[ß]

POURINTITULES:, POURINTITULES0: à POURINTITULES9:

comme POURCOMPTES: mais élimine le premier mot-clé de chaque compte.

INSERDDS:

insère directement le reste de la ligne dans le fichier DDS généré. Permet de rentrer des commandes de fichier DDS.

[>]

PAGE:

permet de couper une table en deux par un saut de page.

[.pa]

TRAIT:

insère un trait de séparation horizontal dans la table.

[-]

DEBUTINFO:

Marque le début de lignes du tableau qui ne seront pas prises en comptes dans les totalisations. Les valeurs affichées dans les colonnes le seront entre crochets.

[[]

FININFO:

Marque la fin de la zone de lignes commencées par DEBUTINFO.

[]]

DEBUTCUMUL:

Afin de pouvoir définir une totalisation sur quelques lignes au milieu d'une table. Définit la ligne suivante comme ligne de début des cumuls à définir jusqu'à FINCUMUL.

FINCUMUL:

Définit la fin du cumul commencé et génère une ligne INFO qui ne sera pas prise en compte dans les totalisation qui contient colonne par colonne le total des lignes qui ont été définies depuis DEBUTCUMUL:. le reste de la ligne FINCUMUL: sera utilisé comme titre, les montants seront affichés entre crochets. Penser à utiliser DEFINIR: avant cette ligne si le résultat du cumul doit être utilisé dans des calculs ultérieurs.

DEFINIR:

Permet de donner un nom à la prochaine ligne. Ce nom (exclusivement composé de lettres) pourra être utilisé dans une expression ultérieure précédé du caractère '#'. Il sera remplacé par une référence à la case de la ligne nommée à la même colonne que l'expression.

[#]

VARIATION:

généré une ligne encadrée faisant ressortir la variation d'une colonne à l'autre (100% étant la dernière colonne).

[±]

FORMAT:

permet de définir le format général qui sera utilisé dans l'affichage des valeurs numériques. Le mot-clé FORMAT: doit être suivi d'une description de longueur commençant par le caractère '@' et contenant des caractères '@' et '##'. Par exemple pour définir un format entier sur 8 caractères on écrira :

FORMAT: @#######

INCLUREPCS:

permet d'inclure un autre fichier PCS dans le fichier en cours de génération. Cela permet de décomposer une édition complexe en petites tables qui pourront être testées séparément puis ensuite regroupées dans un fichier ne contenant que des commandes INCLUREPCS: (et des commandes ZERO: s'il est nécessaire de réinitialiser les totalisations entre les fichiers).

CALCULER:

permet de générer dans chaque colonne une expression de calcul faisant appel à des variables définies avec DEFINIR:

CALCULER: titre=expression de calcul

CALCULE%:

Réalise la même action que CALCULER: mais les résultats sont divisés par 100 et affichés suivis du symbole '%'. Utilisé dans les calculs de ratios.

Notes :

exemple du mini-résultat

Pour résumer ces commandes nous allons prendre l'exemple d'un mini-calcul de résultat. Le but est d'obtenir un tableau qui résume par un total les mouvements de la période pour chaque classe à deux chiffres des comptes de charges et de produits.

Pour cela nous avons crée avec l'éditeur le fichier suivant que nous avons baptisé 'MINIRES.PCS' :

TITRE: MINI-RESULTAT
TITRE: PRODUITS
MODELE: %% &  @mouvt(%%)
POUR: Ventes = 70
POUR: Production  Stockée         = 71
POUR: Production Immobilisée      = 72
POUR: Produits nets partiels      = 73
POUR: Subventions d'exploitation  = 74
POUR: Autres prod. gestion cour.  = 75
POUR: Produits financiers         = 76
POUR: Produits exceptionnels      = 77
POUR: Reprises sur amortissements = 78
POUR: Transferts de charges       = 79
SOUSTOTAL: PRODUITS
MOINS:
; changement de signe pour que les charges apparaissent positives
TITRE: CHARGES
POUR: Achats et var/stocks = 60
POUR: Charges externes     = 61;62
POUR: Impôts et taxes      = 63
POUR: Charges de personnel = 64
POUR: Gestion courante     = 65
POUR: Charges financières  = 66
POUR: Charges exceptionnelles = 67
POUR:  Dotations Amort./Prov. = 68
POUR: Part.Salaries, Impôts/benef. = 69
SOUSTOTAL: CHARGES
PLUS:
; changement de signe pour qu'une perte soit négative...
TOTAL: RESULTAT
Le générateur de tables a produit un fichier 'MINIRES.DDS' qui contient les formules de calcul et la mise en page.
                 +------------------------------------------+
                 ¦                 MINI-RESULTAT¦           ¦
                 +------------------------------+-----------¦
                 ¦                      PRODUITS¦           ¦
                 +------------------------------+-----------¦
                 ¦Ventes                        ¦           ¦
                 ¦Production  Stockée           ¦           ¦
                 ¦Production Immobilisée        ¦           ¦
                 ¦Produits nets partiels        ¦           ¦
                 ¦Subventions d'exploitation    ¦           ¦
                 ¦Autres prod. gestion cour.    ¦           ¦
                 ¦Produits financiers           ¦           ¦
                 ¦Produits exceptionnels        ¦           ¦
                 ¦Reprises sur amortissements   ¦           ¦
                 ¦Transferts de charges         ¦           ¦
                 ¦           PRODUITS           ¦           ¦
                 +------------------------------+-----------¦
                 ¦                       CHARGES¦           ¦
                 +------------------------------+-----------¦
                 ¦Achats et var/stocks          ¦           ¦
                 ¦Charges externes              ¦           ¦
                 ¦Impôts et taxes               ¦           ¦
                 ¦Charges de personnel          ¦           ¦
                 ¦Gestion courante              ¦           ¦
                 ¦Charges financières           ¦           ¦
                 ¦Charges exceptionnelles       ¦           ¦
                 ¦Dotations Amort./Prov.        ¦           ¦
                 ¦Part.Salaries, Impôts/benef.  ¦           ¦
                 ¦           CHARGES            ¦           ¦
                 +------------------------------+-----------¦
                 ¦           RESULTAT           ¦           ¦
                 +------------------------------------------+
Ce document de synthèse pourra par la suite être utilisé pour éditer une estimation mensuelle, trimestrielle ou annuelle selon la période qui aura été définie.

Lors de l'exécution du document de synthèse NoMicmac demandera si l'on désire l'édition des détails. Une réponse positive permettra d'obtenir en sortie une 'mini-balance' donnant le détail des comptes pour chaque poste calculé.

tableau des immobilisations

Cet exemple génère un tableau des immobilisations et des amortissements.

Cet exemple utilise la commande POURINTITULES le contenu du tableau généré dépendra donc du fichier de travail courant.

L'utilisation de cet exemple suppose :

texte du fichier immobgen.pcs

;         FICHIER MODELE POUR LE TABLEAU DES IMMOBILISATIONS
MOINS:
INSERDDS: Z
TITRE:  IMMOBILISATIONS &  BRUT &  AMORT ANT &  EXERC &  NET & 
MODELE:        %% &  @solde(20 %%) &  @solde(28 %%),$S &  $M
POURINTITULES: 20
SOUSTOTAL:     INCORPORELLES
MODELE:        %% &  @solde(21 %%) &  @solde(28 %%),$S &  $M
POURINTITULES: 21
SOUSTOTAL:     CORPORELLES
MODELE:        %% &  @solde(23 %%) &  @solde(28 %%),$S &  $M
POURINTITULES: 23
SOUSTOTAL:     EN-COURS
MODELE: %% &  @solde(26 %%) &  @solde(28 %%),$S &  $M
POURINTITULES: 26
SOUSTOTAL:     PARTICIPATIONS
MODELE: %% &  @solde(27 %%) &  @solde(28 %%),$S &  $M
POURINTITULES: 27
SOUSTOTAL:     AUTRES FIN.
TOTAL: TOTAL
INSERDDS: L2
CLASSE 2 (vérif) &  @solde(20;21;23;26;27) &  @solde(28),$s &  $M
Taux amort. (%)  &  @solde(28)*100:@solde(20;21;23;26;27)
EXEMPLE DE SORTIE POUR UN FICHIER PARTICULIER :
Essais et Développements 01/01/90-31/12/90 le 02/07/91                       
+---------------------------------------------------------------------------+
¦      IMMOBILISATIONS      ¦   BRUT    ¦ AMORT ANT ¦   EXERC   ¦    NET    ¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦annonces legales a18.60    ¦     150.64¦           ¦           ¦     150.64¦
¦constitution i18.60        ¦    1624.95¦           ¦           ¦    1624.95¦
¦enregistrement a18.60      ¦     959.83¦           ¦           ¦     959.83¦
¦frais de recherche et deve ¦  132049.41¦           ¦           ¦  132049.41¦
¦marque i18.60              ¦    2117.09¦           ¦           ¦    2117.09¦
¦frais bail                 ¦    1000.00¦           ¦           ¦    1000.00¦
¦       INCORPORELLES       ¦  137901.92¦           ¦           ¦  137901.92¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦amenagement mobilier i18.6 ¦    9239.73¦   -2313.73¦   -1847.95¦    5078.05¦
¦extincteur i18.60          ¦    1402.40¦    -561.73¦    -280.48¦     560.19¦
¦ordinateur sanyo i18.60    ¦           ¦           ¦           ¦           ¦
¦cartes intel pc/386 i18.60 ¦    4395.00¦           ¦     -51.20¦    4343.80¦
¦imprimante blazer i18.60   ¦   12270.00¦   -5804.44¦   -4090.00¦    2375.56¦
¦imprimante panasonic p1123 ¦    2601.00¦           ¦     -30.30¦    2570.70¦
¦logiciels i18.60           ¦    4321.65¦   -2166.75¦   -1440.55¦     714.35¦
¦materiel bureau a18.60     ¦     973.04¦    -583.82¦    -194.61¦     194.61¦
¦materiel informatique a18. ¦           ¦   -2919.04¦    2919.04¦           ¦
¦ordinateur acer-500+ i18.6 ¦    7143.00¦    -275.22¦   -2381.00¦    4486.78¦
¦ordinateur ec110 i18.60    ¦   13222.00¦   -6629.11¦   -4407.33¦    2185.56¦
¦ordinateur portable panaso ¦    8142.82¦           ¦   -1897.07¦    6245.75¦
¦ordinateur t1000 i18.60    ¦           ¦  -10926.66¦   10926.66¦           ¦
¦paradox i18.60             ¦    4461.00¦   -1151.23¦   -2230.50¦    1079.27¦
¦restauration local         ¦    2758.24¦   -1654.20¦    -551.60¦     552.44¦
¦scanner i18.60             ¦           ¦           ¦           ¦           ¦
¦spooler minitel i18.60     ¦    1495.50¦    -377.90¦    -498.50¦     619.10¦
¦aspirateur i18.60          ¦     674.54¦     -38.08¦    -134.90¦     501.56¦
¦enseignes lumineuse i18.60 ¦    2500.00¦    -500.00¦    -500.00¦    1500.00¦
¦        CORPORELLES        ¦   75599.92¦  -35901.91¦   -6690.29¦   33007.72¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦amenagements en cours      ¦    3434.02¦           ¦           ¦    3434.02¦
¦         EN-COURS          ¦    3434.02¦           ¦           ¦    3434.02¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦parts sociales             ¦     100.00¦           ¦           ¦     100.00¦
¦      PARTICIPATIONS       ¦     100.00¦           ¦           ¦     100.00¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦        AUTRES FIN.        ¦           ¦           ¦           ¦           ¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦           TOTAL           ¦  217035.86¦  -35901.91¦   -6690.29¦  174443.66¦
+---------------------------+-----------+-----------+-----------+-----------¦
¦CLASSE 2 (vérif)           ¦  217035.86¦  -35901.91¦   -6690.29¦  174443.66¦
¦Taux amort. (%)            ¦      19.62¦           ¦           ¦      19.62¦
+---------------------------------------------------------------------------+
ecrancars
EXEMPLEcées pour tables d'analyse sur plusieurs années
Il est fréquent de devoir réaliser des tables pour faire une analyse comparative de gestion sur plusieurs années. NoMicmac permettant de conserver "en ligne" les opérations (ou le total des mouvements d'une période archivée), les calculs peuvent être définis directement.

Le but de ces fonctions est de simplifier l'écriture de telles tables. On se retrouve à définir un certain nombre de lignes modèles de la forme :

MODELE1: %% &  @mouvt(%%) &  @mouvt(%%{-1a}) &  @mouvt(%%{-2a}) &
(pour une analyse sur 3 ans)

puis on l'utilise sous la forme :

POUR1: ventes=70

La simplification de syntaxe permettra de définir le calcul sous la forme :

MOUVT+: ventes=70

qui générera le nombre de colonnes nécessaires à la table.

Pour définir le nombre de colonnes utiliser la ligne de titre sachant que les mémoire 999, 998, 997... contiennent les années N, N-1, N-2... de la période d'interrogation. Une ligne de titre type pour générer un tableau sur trois ans sera donc :

TITRE: PRODUITS & #999 & #998 & #997 &

si le tableau n'utilise que des fonctions avancées, le nombre de colonnes sera défini uniquement par le titre. Il suffira donc de le modifier en fonction des besoins.

syntaxe des fonctions

Le mot-clé définissant une ligne de fonction avancée est construit à partir du nom d'une fonction de calcul sans le caractère '@' (SOLDE, MOUVT, SOLDED, SOLDEC ...) suivi du caractère '+' ou du caractère '-' puis du séparateur ':'.

En fonction du résultat

exemple de définitions

Exemple de définition d'un compte de résultat agricole.
TITRE: COMPTE DE RESULTATS &  EX #M999 &  EX #M998 & 
mouvt+:Ventes de produits végétaux=701
mouvt+:ventes de produits animaux=702
mouvt+:ventes de produits transformés=703
mouvt+:ventes d'animaux=704
mouvt+:produits des activités annexes=708
mouvt+:autres ventes=705;706;707
DEFINIR: totalventes
SOUSTOTAL: VENTES DE BIENS ET SERVICES
VARIATION: évolution des ventes
mouvt+:variations d'inventaire=71
mouvt+:product. immob. et autocons=72
mouvt+:achats d'animaux=604
mouvt+:autres=709
TOTAL: PRODUCTION NETTE D'ACHATS ANIMAUX
mouvt+:approvisionnements=601;602;603;607;609
DEBUTINFO:
mouvt+:dont engrais et amendements=6011;60311
mouvt+:dont semences et plants=6012;60312
mouvt+:dont produits de défense végétaux=6013;60313
mouvt+:dont aliments du bétail=6014;60314
FININFO:
mouvt+:autres achats et charges externes=605;606;61;62;741;6355
DEBUTINFO:
mouvt+:dont fermages, loyers, loc.foncier=6131;6141
FININFO:
TOTAL: VALEUR AJOUTEE
VARIATION: variation Valeur ajoutée
mouvt+:indemnités et subventions d'exploitation=742;745
mouvt+:impôts et taxes=634;6351;6356;6358
mouvt+:charges de personnel=64
DEFINIR: ebe
TOTAL: EXCEDENT BRUT D'EXPLOITATION
mouvt+:dotations amortissement provisions=68
mouvt+:autres charges et produits d'expl.=75;79;65
TOTAL: RESULTAT D'EXPLOITATION
DEFINIR: intefonc
mouvt+:intérêts des emprunts fonciers=66111;66115
DEFINIR: inteautr
mouvt+:intérêts des autres emprunts=66112;66113;66116;66117
DEFINIR: intedet
mouvt+: 66114;66118
mouvt+:autres charges et prod.financiers=668;76
TOTAL: RESULTAT COURANT
VARIATION: var. revenu  agricole
mouvt+:résultat exceptionnel=67;77
TOTAL: RESULTAT DE L'EXERCICE
Le format d'édition de la table générée est alors :
      +----------------------------------------------------------------+
      ¦           COMPTE DE RESULTATS            ¦ EX #M999 ¦ EX #M998 ¦
      +------------------------------------------+----------+----------¦
      ¦Ventes de produits végétaux               ¦ @M6@@@@# ¦ @M7@@@@# ¦
      ¦ventes de produits animaux                ¦ @M8@@@@# ¦ @M9@@@@# ¦
      ¦ventes de produits transformés            ¦ @M10@@@# ¦ @M11@@@# ¦
      ¦ventes d'animaux                          ¦ @M12@@@# ¦ @M13@@@# ¦
      ¦produits des activites annexes            ¦ @M14@@@# ¦ @M15@@@# ¦
      ¦autres ventes                             ¦ @M16@@@# ¦ @M17@@@# ¦
      ¦       VENTES DE BIENS ET SERVICES        ¦ @M18@@@# ¦ @M19@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦           evolution des ventes           ¦ ±@M20@@% ¦ ±@M21@@% ¦
      +------------------------------------------+----------+----------¦
      ¦variations d'inventaire                   ¦ @M22@@@# ¦ @M23@@@# ¦
      ¦product. immob. et autocons               ¦ @M24@@@# ¦ @M25@@@# ¦
      ¦achats d'animaux                          ¦ @M26@@@# ¦ @M27@@@# ¦
      ¦autres                                    ¦ @M28@@@# ¦ @M29@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦    PRODUCTION NETTE D'ACHATS ANIMAUX     ¦ @M30@@@# ¦ @M31@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦approvisionnements                        ¦ @M32@@@# ¦ @M33@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦dont engrais et amendements               ¦[@M34@@@#]¦[@M35@@@#]¦
      ¦dont semences et plants                   ¦[@M36@@@#]¦[@M37@@@#]¦
      ¦dont produits de défense vegétaux         ¦[@M38@@@#]¦[@M39@@@#]¦
      ¦dont aliments du bétail                   ¦[@M40@@@#]¦[@M41@@@#]¦
      +------------------------------------------+----------+----------¦
      ¦autres achats et charges externes         ¦ @M42@@@# ¦ @M43@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦dont fermages, loyers, loc.foncier        ¦[@M44@@@#]¦[@M45@@@#]¦
      +------------------------------------------+----------+----------¦
      ¦              VALEUR AJOUTEE              ¦ @M46@@@# ¦ @M47@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦         variation Valeur ajoutéé         ¦ ±@M48@@% ¦ ±@M49@@% ¦
      +------------------------------------------+----------+----------¦
      ¦indemnités et subventions d'exploitation  ¦ @M50@@@# ¦ @M51@@@# ¦
      ¦impôts et taxes                           ¦ @M52@@@# ¦ @M53@@@# ¦
      ¦charges de personnel                      ¦ @M54@@@# ¦ @M55@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦       EXCEDENT BRUT D'EXPLOITATION       ¦ @M56@@@# ¦ @M57@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦dotations amortissement provisions        ¦ @M58@@@# ¦ @M59@@@# ¦
      ¦autres charges et produits d'expl.        ¦ @M60@@@# ¦ @M61@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦         RESULTAT D'EXPLOITATION          ¦ @M62@@@# ¦ @M63@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦intérêts des emprunts fonciers            ¦ @M64@@@# ¦ @M65@@@# ¦
      ¦intérêts des autres emprunts              ¦ @M66@@@# ¦ @M67@@@# ¦
      ¦66114;66118                               ¦ @M68@@@# ¦ @M69@@@# ¦
      ¦autres charges et prod.financiers         ¦ @M70@@@# ¦ @M71@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦             RESULTAT COURANT             ¦ @M72@@@# ¦ @M73@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦          var. revenu  agricole           ¦ ±@M74@@% ¦ ±@M75@@% ¦
      +------------------------------------------+----------+----------¦
      ¦résultat exceptionnel                     ¦ @M76@@@# ¦ @M77@@@# ¦
      +------------------------------------------+----------+----------¦
      ¦          RESULTAT DE L'EXERCICE          ¦ @M78@@@# ¦ @M79@@@# ¦
      +----------------------------------------------------------------+

les fichiers DDS

Fichiers de définition de document de synthèse (DDS):

Le fichier DDS est composé de lignes qui constituent chacune une commande à exécuter. Le premier caractère de la ligne définit l'instruction. La suite de la ligne dépend de l'instruction à exécuter.

Une commande particulière permet de passer du mode "calcul" au mode "édition". Dans ce dernier mode le contenu du fichier DDS est la mise en page du document à éditer. (une autre commande permet de passer du mode "édition" au mode "calcul").

Examiner les fichiers exemples (fichiers *.DDS fournis avec NoMicMac pour avoir une idée de la structure des fichiers DDS.

les commandes de la phase de calcul

Le but de la phase de calcul est de conserver en mémoire les informations destinées à être éditées. Il existe deux types d'informations: Il est possible d'éditer le détail de certains calculs. Lorsqu'il est actif, chaque expression utilisant une fonction de calcul sur les comptes (@solde, @mouvt ...) provoquera l'édition pour chaque compte sélectionné du résultat (sous un format identique aux balances).

Il existe aussi une fonction de recherche d'erreurs qui peut fournir pour une classe de comptes la liste des comptes qui n'ont jamais été utilisés dans le calcul. (utile pour la mise au point de bilans ...

gestion des mémoires

Mnnn=<expression de calcul> Tnn <texte de demande> Vnnn <texte de demande>

edition des détails

(les commandes suivantes sont valables si l'édition des détails a été demandée par une réponse positive à la question affichée en début d'exécution du fichier DDS) D <titre de page> R <sous titre de calcul> F

recherche des erreurs

(les commandes suivantes sont valables si l'édition des détails a été demandée par une réponse positive à la question affichée en début d'exécution du fichier DDS) Z Ln

décalage de période

Les décalages possibles sont le mois (M) ou l'année (A).

+M

-M

+A

-A

Pnn

exécution conditionnelle

# Début de la partie exécutée si la condition est fausse.

passage en mode édition

pa

Le mode édition

Dans le mode édition la disposition du texte est libre et correspond à celle de l'édition finale.

le point en premier caractère à une signification :

.g nomfichier

envoie le fichier directement à l'imprimante. Ce peut être un graphique en format d'impression. (Si le dernier caractère du fichier est un code de saut de page il est ignoré. Cela permet d'utiliser les fichiers de sortie imprimante de certains logiciels graphiques ou de mise en page)

.pa

génère un passage à la page suivante. (code saut de page envoyé à l'imprimante).

.pa

.calc

repasse en mode calcul.

.calc

Le caractère @ sert pour définir le format d'édition des mémoires texte ou calcul.

@Tnn@@@@@@@@@@@@@@@ :

affiche la mémoire texte nn sur 20 caractères.

@Mnnn@@@@@@ :

affiche la mémoire numérique nn sur 11 caractères.

<PARAGRAPHE ST>Le caractère suivant le premier @ définit le type de la variable, il est suivi du numéro de la variable et complété par des caractères @ jusqu'à la taille d'édition choisie.

Unn=abs(Cnn-Dnn)/Qnn

Unn est toujours positif!

Dans les éditions converties Francs<->Euros les variables numériques sont par défaut converties sauf les variables de Qnn (quantités). Pour afficher une variable mémoire sans conversion utiliser Nnn au lieu de Mnn, pour convertir une variable Qnn utiliser Rnn.

format des valeurs numériques

format  taille  résultat
@M01    4 caractères    1234 entier
@M01@@  6 caractères    +12.34
@M01@@@@@@@     11 caractères   +1234567.12
@M01@@@@@@@@@@   13 caractères   +1234567.12 FF
Pour obtenir un format "nombre entier" sans décimales, (pour des éditions en francs sans les centimes) il suffit de remplacer au moins un des caractères '@' du format par un caractère '#'.

Pour forcer une conversion en Francs<->Euros d'une valeur numérique remplacer un des caractères '@' du milieu du format par un 'e', vous obtiendrez une édition dans la monnaie alternée. (attention: il faut un format sur 14 caractères pour que l'unité monétaire apparaisse...)

edition de documents (factures...)

Un document de définition de facture (*.DDE) se présente en deux phases comme un document de synthèse

la phase calcul

La fonction T() effectue le total pour les comptes sélectionnés dans le document courant. Par exemple T(445) effectuera le total des lignes TVA du document, celui ci sera stocké dans une mémoire numérique puis édité.

la phase d'édition.

NoMicMac initialise une partie des mémoires texte et des variables avec les valeurs de la fiche adresse courante et du document courant.

Les variables texte T1 à T85 contiennent les commentaires des lignes de l'écran ou à défaut les intitulés de comptes sans le numéro.

La variable T86 contient la référence du document.

Les variables T87, T88, T89, T90 contiennent respectivement les dates de document, de valeur comptable, de saisie ainsi que la date du jour.

Les variables numériques Q1 à Q85, D1 à D85, C1 à C85 sont initialisées avec les valeurs de l'écran de saisie.

Les variables numériques U1 à U85 contiennent le résultat de la division du montant par la quantité quand elle est possible. C'est le prix unitaire recalculé.

Les variables texte T91 à T96 contiennent les lignes de la fiche adresse. (la variable T97 contient la zone "téléphone")

Notes :

lignes de facture non imprimées

Dans un document d'édition (facture), si le commentaire de la ligne du document est constitué du seul caractère "tiret" (-) la mémoire texte correspondant à la ligne sera vide et les variables Q, D, C, U correspondantes seront nulles.

Autrement dit : la ligne n'apparaîtra pas dans le document.

ligne modèle de facture

Si dans un document d'édition (facture) les zones ne contiennent pas de numéro (ex: @T@@@@, @Q@@@@ ...) la ligne sera considérée comme une ligne modèle. Cette ligne sera dupliquée pour toutes les lignes du document..

paramétrage du grand-livre général

Un fichier (appelé MULTIANA.GLP) permet de paramétrer le grand livre général (sélection de tous les comptes, la zone de sélection comptes de la fenêtre de sélection étant vide).

Ce fichier peut se corriger à l'aide de la fonction mini-éditeur de texte (F5-M)

Le fichier de paramétrage du grand-livre est composé de lignes chacune étant constituée :

La première si l'on est intéressé par le solde du compte en fin de période (code S) ou les mouvements de la période (code M)

La deuxième si l'on désire éditer :

Exemple de fichier MULTIANA.GLP :
1 SD
2 SD
3 SD
4 SD
5 SD
6 MC
7 MC
8 SA
9 SA
0 SA
Note :

Les lignes du fichier MULTIANA.GLP sont évaluées séquentiellement. Cela permet de modifier les options pour un sous-groupe de comptes. Par exemple insérer la ligne :

445 SC
après la ligne :
4 SD
Aura pour effet de n'éditer que les totaux mensuels pour les comptes commençant par 445 (TVA).

les vérifications de saisie

Les vérifications de saisie sont destinées à éviter autant que possible les erreurs. Cela est possible en deux étapes :

dans l'écran de saisie.

Il est possible de définir, en fonction du numéro de compte (ou de la classe de numéro) si les montants doivent être saisis le plus souvent dans la colonne débits ou crédits. Lors de la saisie séquentielle (validation avec <-+ après chaque zone), le curseur sera positionné automatiquement dans la case souhaitée, l'autre case sera barrée pour en déconseiller l'utilisation. (Noter qu'elle est toujours accessible pour des écritures moins ordinaires)

Il faut noter que cette restriction ne se fera que lorsque le compte n'est pas en contrepartie (car dans ce cas la valeur sera affectée en fonction des saisies). Par exemple la restriction sera au crédit pour un compte fournisseur car il n'apparaît normalement dans les lignes de saisie que lors d'opérations de trésorerie et c'est rare qu'un fournisseur paye.

Par défaut aucune case n'est privilégiée et il est possible de déconseiller l'utilisation d'un compte (autrement qu'en contrepartie) en barrant les deux zones.

Deux méthodes pour définir les affectations :

notes :

Pour saisir une opération "à l'envers" le plus simple est de la rentrer normalement dans la case proposée puis de valider la zone avec Alt-E plutôt que entrée. Cela provoquera l'échange des valeurs débits et crédits.

La méthode de définition par le numéro de compte est "prioritaire" sur celle du fichier DCI si les deux sont définies.

syntaxe du fichier MULTIANA.DCI

le fichier MULTIANA.DCI est un fichier texte composé de lignes contenant chacune un numéro de compte suivi (sans espace) d'une des lettres :

D pour débit par défaut (crédit apparaît barré)

C pour crédit par défaut (débit apparaît en barré et le curseur passe directement à la zone crédit après la zone intitulé)

I pour interdit (les deux zones Débit et crédit sont barrées)

Par défaut aucune des zones n'apparaît en grisé.

Exemple de fichier MULTIANA.DCI

1C
108D
16D
2D
28C
3I
4D
41C
4457C
53I
6D
7C
La lecture du fichier est séquentielle dans l'ordre de rédaction. Par exemple la première ligne signifie que les écritures des comptes de la classe 1 doivent être au crédit par défaut. La seconde que celles sur le compte 108 par contre doit être au débit (retraits de l'exploitant) de même que celles des comptes 16 (remboursements des emprunts).

Ces valeurs doivent évidemment être adaptées aux méthodes d'enregistrement de chaque entreprise et le fichier peut être corrigé à l'aide du mini-éditeur de texte.

lors de la validation du document

Il est possible de faire effectuer à NoMicMac des évaluations d'expressions à partir des informations contenues dans le document. Un message est édité si une anomalie est détectée et il est possible de revenir sur le document saisi.

numérotation de documents

NoMicMac mémorise une numérotation des documents par code journal. Le numéro est le premier "mot" (terminé par un espace) de la référence document. Ce mot peut contenir n'importe quels caractères mais doit se terminer par au moins un chiffre.

Par exemple :

F890001 NoMicMac numérotera les factures suivantes : F890002, F890003, ... F890199, F890200, ...

89-1 donnera 89-2, 89-3, ... 89-199, 89-200

Il faut noter qu'il est indispensable de prévoir suffisamment de zéros ou de prévoir un séparateur non- numérique entre une zone qui doit être fixe (année par exemple) et le numéro sinon NoMicMac incrémentera tout ce qui est le dernier chiffre.

Les derniers numéros sont stockés dans un fichier de même nom que le fichier de comptabilité avec le suffixe ".NUM". Ce fichier est éditable avec le mini-éditeur de texte. Le premier caractère de chaque ligne est le code journal, la suite est le texte du dernier numéro.

La mise à jour de ce fichier est automatique : dès qu'une référence de document est terminé par un chiffre la numérotation est enregistrée dans le code journal correspondant.

Cet automatisme est pratique mais peut être agaçant pour certains journaux. Il est possible d'interdire la numérotation d'un code journal en corrigeant le fichier des derniers numéros. Il suffit de mettre un caractère * à la place du numéro.


Contents Previous Next