Fonctionnements particuliers

Un article de Documentation 8sens.

Jump to: navigation, search

(Exemple sur le modèle de gestion "Etat simple stats cli.8print" : ce modèle est à glisser dans le dossier PCV de votre dossier des modèles. Exemple sur le modèle de comptabilité "Relance Client Formules.8print", ce modèle est à glisser dans le dossier ECR de votre dossier des modèles.)


Regroupement (notion de Rupture ou de Changement), menu Modèle

  • Faire glisser les champs voulus dans la liste des regroupements.
  • Les ordonner comme souhaité (en les faisant glisser plus haut ou plus bas dans la liste).
  • Les écarts sont compris par rapport à la liste (l'ensemble des zones de type liste).
  • Pour chacun, indiquer les options de présentation voulues (changement de page, encadrement...).


Par défaut, le programme propose de trier les données selon les regroupements, mais on peut changer les critères de tri, leur ordre et leur sens.


Pour placer une zone ou un tracé "dans" un regroupement, il suffit de sélectionner cet objet et de choisir le regroupement voulu dans le menu local "Etat" en bas de la palette : avant, signifie que l'objet sera placé dans l'espace avant le groupe ; après, dans l'espace après...


Cocher "Total général de l'état" dans l'écran des regroupements permet de placer des totaux


NB : les objets des regroupements "avant" et "après" sont tous contenus dans la hauteur des zones de type "ligne". Par contre, le total général n'est pas compté et risque de dépasser la liste : laissez-lui un peu d'espace sous les zones de type "ligne".



Identifiants dans un texte : Paris, le [datj] à [time]; [ et ] sont les délimiteurs de début et de fin d'identifiant ; on les obtient par Alt + Maj + Parenthèses.


Les identifiants à 4 lettres sont fixés par le programme : on les retrouve dans un menu local en bas de l'écran de texte.


  • "datj" donne la date d'impression.
  • "time" donne l'heure d'impression.
  • "nume" donne le numéro de document (= n° de page si un seul document par page).
(NB: cette zone doit se trouver en Entête, pas en Pied.)
  • "lins" donne le nombre d'enregistrements lus.
  • "sele" donne la sélection effectuée.
  • "numx" donne le numéro d'exemplaire d'une étiquette par rapport à la quantité imprimée de cette même étiquette.


À l'impression, le programme remplace simplement [datj] par la date, etc: Paris, le 26/09/2005 à 16h15.


Autre exemple : [clifadrzip] [clifadrcity] va imprimer dans cette zone le code postal et la ville de l'adresse de facturation d'une facture, séparés par un espace.


Calculs: sous-totaux

Le champ SomDeb a pour valeur : ∑ [EcrDebit] / [CptCode]

Elle signifie que l'on veut le total de la colonne EcrDebit par CptCode, c'est-à-dire le total des débits pour ce compte.

EcrDebit et CptCode sont les noms de colonne visibles dans la liste des champs.

CptCode est un regroupement du modèle.

L'opérateur ∑ appelle la somme ; si la deuxième partie (/ [CptCode]) est absente, la somme sera totale pour l'impression.

Le champ est de type Montant : il représente en effet un montant.


De même, le champ SomCred a pour formule : ∑ [EcrCredit] / [CptCode] et est de type Montant.

Elle signifie que l'on veut le total de la colonne EcrCredit par CptCode, c'est-à-dire le total des crédits pour ce compte.


Attention : les champs de sous-totaux doivent être placés en regroupements "après" ou "total général" ; placés en ligne, ils afficheront le cumul progressif de leur valeur.


      • Nouveauté 8print v1.2.22: les formules peuvent contenir des expressions comme ∑ [EcrCredit] / [CptCode] et donc être utilisées dans d'autres formules (cf ci-dessous)


Formules

Le montant restant dû du modèle de relance a pour valeur : [Formul1].


Les formules sont gérées par un écran spécial, voir Formules au menu Modèle.

Elles ont pour but de calculer et de renvoyer une valeur, par la fonction "Print" (qui est obligatoire, sinon aucune valeur n'est renvoyée par la formule).

Le langage est du Basic, donc les termes sont en anglais.


Il existe deux types de formules :

  • les formules de visibilité (en jaune pâle dans la liste des formules).
  • les autres (en vert pâle dans la liste).


Une formule de visibilité doit renvoyer la valeur "VISIBLE".


Exemple dans un modèle de devis :

Nom de la formule: MtSup1000

Formule :

if [PcvMtHT] > 1000 then

Print "VISIBLE"

end


if [PcvMtHT] > 1000 then <-- "if" introduit la condition et "then" dit que si cette condition est vraie, les lignes suivantes vont être éxécutées jusqu'au premier "end"

Print "VISIBLE" <-- "Print" est obligatoire dans une formule, il doit renvoyer une chaine de caractères (ici VISIBLE entre des doubles cotes) end <-- "end" termine les instructions introduites par le then


Type: Caractères

Elle signifie que telle zone est visible si le montant net du devis est supérieur à 1000.

Cette formule se retrouve dans la palette de mise en forme de la maquette, dans le pop menu en bas du groupe "Objets": vous pouvez l'affecter à n'importe quel(s) objet(s) de la maquette (textes, tracés, images).


Formule de calcul

Exemple dans un modèle de devis :

Nom de la formule: QteSpec

Formule :

dim wd as double

wd = [PlvQteUV] * 2

if wd > 5 then

Print Format([PlvQteUS] * 2, "0")

else

Print Format([PlvQteUS] * 3, "0")

end


dim wd as double <-- "dim" permet de définir une variable, ici wd, "as" donne le type de cette variable, ici "double" qui signifie "montant"

wd = [PlvQteUV] * 2 <-- on affecte le double de la quantité en unité de vente à la variable wd

if wd > 5 then <-- test

Print Format([PlvQteUS] * 2, "0") <-- Print renvoie le double de la qté en u. de stock, avec un format de nombre qui affiche au moins un chiffre

else <-- ce qu'on fait si le test est faux

Print Format([PlvQteUS] * 3, "0") <-- Print renvoie le triple de la qté en u. de stock, avec un format de nombre qui affiche au moins un chiffre

end <-- fin des instructions suivant le test ci-dessus, qu'il soit vrai ou faux


Et pour revenir au modèle de relance :

La formule "Formul1" a pour formule :

Print Format( [SomDeb] - [SomCred], "-###,##0.00")

Elle sert à imprimer la différence des deux champs précédents SomDeb et SomCred, avec un format de montant qui affiche le signe du résultat, un séparateur de milliers si le montant le nécessite, et deux chiffres après la virgule (attention, les formats sont toujours en basic, c'est à dire que les séparateurs de milliers doivent être des virgules et le séparateur décimal un point, et l'affichage se fera correctement selon vos réglages utilisateur de 8sens).


Attention : le champ contenant la Formul1 doit être placé en Pied car il fait intervenir des champs qui contiennent des sous totaux.


      • A partir de 8print v1.2.22, on peut placer un ∑ dans une formule, par ex: ∑ [EcrDebit] / [CptCode]


Elle signifie que l'on veut le total de la colonne EcrDebit par CptCode, c'est-à-dire le total des débits pour ce compte.

EcrDebit et CptCode sont les noms de colonne visibles dans la liste des champs.

CptCode est un regroupement du modèle.

L'opérateur ∑ appelle la somme ; si la deuxième partie (/ [CptCode]) est absente, la somme sera totale pour l'impression.

La formule est de type Montant : elle représente en effet un montant.

On peut ainsi utiliser cette formule dans une autre formule, exemple de formules dans un modèle de pièce :

  • SomQtePiece : ∑[PlvQteUS]/[PlvCodePcv]
  • SomQteSup10 : if [SomQtePiece] >= 10 then print "visible"

Résultat : en affectant la formule de visibilité SomQteSup10 à une zone, celle-ci n'apparaîtra sur l'impression que si la quantité totale de la pièce est supérieure ou égale à 10.

NB : il n'est pas nécessaire de placer une formule dans une zone pour qu'elle soit calculée, il suffit qu'elle existe dans le modèle.


Affichage de dates


Les formules permettent d'afficher les dates avec tous les formats possibles.

Une date se présente comme ceci : "2006-06-26"


Dim wj, wm, wa As Integer

wj = Val(Right([PcvDate], 2))

wm = Val(Mid([PcvDate], 6, 2))

wa = Val(Left([PcvDate], 4))

Print Format(wa, "0000") + "-" + Format(wm, "00")


Apres avoir déclaré les 3 variables qui vont récupérer jour, mois et date, on découpe la date pour remplir ces variables: le jour est sur 2 caractères à droite, etc

Enfin le Print va donner comme résultat dans cet exemple : 2006-06


Affichage de nombres et montants

Voici des exemples en basic pour les formats d'affichage :

NB : le . (point) donne toujours le séparateur décimal ; la , (virgule) le séparateur de milliers.

#.## pour 1.784 donne 1.78 --> le # affiche le chiffre s'il est présent

#.0000 pour 1.3 donne 1.3000 --> le 0 affiche un zero même si pas de chiffre

0000 pour 5 donne 0005

#% pour 0.25 donne 25%

###,###.## pour 145678.5 donne 145,678.5

-#.## pour -3.7 donne -3.7 --> le - affiche un - si le nombre est négatif, rien si positif

+#.## pour 3.7 donne +3.7 --> le + affiche un - si le nombre est négatif, un + si positif

#.##;(#.##);\z\e\r\o pour 3.7 donne 3.7

#.##;(#.##);\z\e\r\o pour -3.7 donne (3.7)

#.##;(#.##);\z\e\r\o pour 0 donne zero


Pour mieux comprendre l'application des formules, vous trouverez quelques exemples sur la page suivante: Formules


Champs supplémentaires

Cet écran (au menu Modèle) permet d'ajouter des champs à ceux qui sont proposés dans la liste des champs.

Ces nouveaux champs doivent être reliés au type de modèle de façon simple : par exemple, à partir d'une ligne de pièce, on peut aller chercher des éléments de l'article, ou bien à partir d'un entête de pièce, des éléments du client.


Dans l'écran, il faut indiquer un nom (unique), la colonne voulue, et la colonne qui fait le lien.

Par exemple : Categ.Art., ArtCategEnu, PlvGArtID

  • ArtCategEnu est la colonne catégorie article dans la base 8sens.
  • PlvGArtID est la colonne de la ligne de piece porteuse de l'ID de l'article de cette ligne.


Par exemple: SIRET.Cli., CliSIRET, PcvGCliID

  • CliSIRET est la colonne SIRET du client dans la base 8sens.
  • PcvGCliID est la colonne de l'entête de piece porteuse de l'ID du client de cette pièce.

Les champs supplémentaires sont placés en bas de la liste des champs. Ils sont utilisables comme les autres champs.

Se référer à 8sens, menu Fichier > Paramètres utilisateur > Colonnes pour une liste des colonnes disponibles (en utilisateur Administrateur).


Vous trouverez sur la page suivante quelques exemples de champs supplémentaires ayant déjà été demandés au support 8sens:

Champs_supplementaires


Champs demandés à l'impression

Cet écran (au menu Modèle) permet de cocher les champs texte (texte pur, sans nom de colonne ou ∑) pour que leur valeur soit demandée au moment de l'impression

Lors de l'impression, un écran s'affiche demandant les nouvelles valeurs, et ce sont celles-ci qui sont imprimées, mais non sauvegardées.





Retour à la Modèles et formules

Retour à la page Accueil

8sens v3.0