Vous êtes sur la page 1sur 46

Support de formation pour le développement des états

Crystal Reports & Intégration avec Sage X3

© GFI Maroc Réalisé par Brahim FASSIH


Support de formation Crystal Reports

Table des matières


Support de formation pour le développement des états Crystal Reports & Intégration avec Sage X3 . 1
I. Présentation de Crystal Reports : .................................................................................................... 3
1. Introduction :............................................................................................................................... 3
2. Visualisation d’une connexion ODBC : ........................................................................................ 4
3. Ajout d’une connexion ODBC : .................................................................................................... 5
II. Conception d’un état Crystal Reports de base : .............................................................................. 7
1. Configuration de la connexion à la base de données :................................................................ 7
2. Création de notre premier état Crystal Reports : ....................................................................... 9
3. Mise en forme d’un état :.......................................................................................................... 11
4. Ajout de tables et mise en relation : ......................................................................................... 16
III. Intégration des états Crystal Reports avec Sage X3 : ................................................................ 26
1. Déclaration d’un état au sein de Sage X3 : ................................................................................ 26
2. Lier un état à une fonction : ...................................................................................................... 29
3. Attribuer une valeur par défaut à un paramètre de l’état : ...................................................... 32
IV. Aspects avancés pour la conception d’un état Crystal Reports : .............................................. 33
1. Etude des types de jointures : ................................................................................................... 33
2. Conception d’un état Crystal Reports avec des sous-états : ..................................................... 38
3. Ajout des sous-états avec des valeurs partagé et passage de paramètre : .............................. 41
4. Affichage d’un libelle pour le cas d’un menu local Sage X3 : .................................................... 43
5. Chercher la table ou les champs à utiliser dans Sage X3 :......................................................... 45

2
© GFI Maroc
Support de formation Crystal Reports

I. Présentation de Crystal Reports :


1. Introduction :
Crystal reports est un outil qui permet le développement des états de gestion et de
reporting.
Crystal reports tire sa puissance du fait qu’il peut établir une connexion aux sources de
données les plus utilisées(Fichier Excel, Bases de données Acces, SQL Server, Oracle…….).

La forte utilisation de cet outil repose aussi sur son exécution dans l’environnement
Windows et le Framework .NET.

De ce fait Sage propose une bibliothèque pour l’exécution des éditions Crystal reports sans
avoir besoin a installé la version de développement sur tous les poste, cette bibliothèque est
intégré à l’install du client Sage X3.

La page d’accueil de Crystal Reports se présente comme suit :

Dans cette page on trouve des liens pour créer un nouveau rapport avec ou sans l’assistant, des liens
pour ouvrir les derniers rapports ouvert avec l’outil et d’autres liens utiles.

Crystal reports présente des menus et des bottons pour ouvrir un fichier, pour mettre en forme un
champ…..Proche des applications Microsoft (Word, Excel).

3
© GFI Maroc
Support de formation Crystal Reports

2. Visualisation d’une connexion ODBC :


La figure suivante présente les sources de données ODBC.

Sur un poste de travail ou une application du client Sage X3 est installé, à l’édition des états Crystal
une source de données est ajouté automatiquement avec les paramètres de la solution Sage X3.

Si on clique sur le botton « Configurer » on se retrouve sur la figure suivante, ou on a le nom du


serveur, le nom de l’instance (SQL Server) et le nom de la base de données.

4
© GFI Maroc
Support de formation Crystal Reports

3. Ajout d’une connexion ODBC :


Une fois qu’on est sur la fenêtre de gestion des sources de données ODBC, on clique sur ajouter pour
lancer l’assistant pour la création d’une nouvelle connexion.

Par la suite on choisit le pilote de source de données approprié ; dans notre cas (SQL Server) on opte
pour « CR SQL Server Wire Protocol ODBC Driver 5.3 » et on clique sur « Terminer ».

5
© GFI Maroc
Support de formation Crystal Reports
Dans la fenêtre qui suit on saisit : le nom du serveur, le nom de l’instance et le nom de la base de
données. Si vous ne connaissez pas ses informations ; rapprochez-vous de l’administrateur base de
données ou système.

Après avoir renseigné les informations de la source de données, on peut lancer un test de la
connexion à l’aide du bouton «Test Connect » de l’écran précédent.

On indique par la suite un nom d’utilisateur et un mot de passe ; attention le système respecte la
casse.

Cette fenêtre indique un test réussi de la connexion crée.

En fin de l’assistant on constate que la nouvelle connexion figure dans la liste comme dans la fenêtre
suivante.

6
© GFI Maroc
Support de formation Crystal Reports

II. Conception d’un état Crystal Reports de base :

1. Configuration de la connexion à la base de données :


Sur la page d’accueil de Crystal on clique sur « Nouveau rapport vide », Une fenêtre
comme la suivante s’ouvre.
Pour créer une nouvelle connexion, on développe le menu « Créer une nouvelle
connexion » et on choisit « ODBC (RDO) »

7
© GFI Maroc
Support de formation Crystal Reports
L’assistant affiche la liste des connexions de type ‘ODBC’, comme dans l’écran suivant :

On sélectionne la connexion qu’on vient de créer ; dans mon cas « CNX_Sage » et on clique sur
« Terminer ».

Par la suite on introduit un nom d’utilisateur et un mot de passe.

8
© GFI Maroc
Support de formation Crystal Reports
L’écran suivant indique que la connexion est ouverte et montre la base de données, les schémas et
les tables.

2. Création de notre premier état Crystal Reports :


On fait suite au processus de création de la connexion ODBC et on développe la liste
des tables.
Pour notre exemple on sélectionne la table « XGMARCHECH » et on clique sur le
bouton « > » pour l’ajouter à notre rapport et on valide avec le bouton «OK».

9
© GFI Maroc
Support de formation Crystal Reports

Et voilà on arrive sur la page de conception de l’état, cette page contient les sections suivantes :

Dans cette page on trouve différentes sections ou on peut ajouter des champs qu’on veut afficher.

Par la suite on développe l’explorateur de champs pour visualiser les champs de chaque table.

Pour ajouter un champ on le sélectionne et on fait glisser-déplacer le champ à l’emplacement


souhaité.

10
© GFI Maroc
Support de formation Crystal Reports
Pour notre exemple on va ajouter les champs : N° marché, l’objet du marché, N° fournisseur, année
budgétaire, type de marché, date de signature.

3. Mise en forme d’un état :


Dans l’écran suivant on ajoute des champs texte pour le titre du rapport et pour le titre des colonnes,
on peut aussi améliorer la mise en forme des champs de l’état.

Et voilà un aperçu des données de l’état après un rafraichissement (F5).

Dans cette écran on met on souligne des champs qu’on cherche à améliorer leurs mise en forme.

11
© GFI Maroc
Support de formation Crystal Reports

On commence par le champ « Objet du marché » pour lequel qu’on remarque qu’il n’est affiché
complètement si sa taille dépasse la taille réservé, l’objectif est de faire un retour à la ligne
dynamiquement pour affiché le champ complètement.

Pour appliquer cette option on fait un clic droit sur le champ, puis on clique sur « Mettre en forme le
champ »

Par la suite on coche la case « Taille modulable » et on enregistre la modification.

12
© GFI Maroc
Support de formation Crystal Reports

Pour le cas du champ de l’année on fait un clic droit sur le champ puis « mettre en forme le champ »,
par la suite dans l’onglet « Nombre » on clique sur « Personnaliser » et décoche la case « Séparateur
des milliers ».

Pour le cas du champ « Date de signature » une fois sur l’écran de mise en forme on selectionne le
style souhaité et on le valide.

13
© GFI Maroc
Support de formation Crystal Reports

On affiche un aperçu pour de l’état pour visualiser le résultat des modifications ajoutées.

On va continuer a amélioré notre état ; pour ça on va chercher comment afficher le nom du


fournisseur à la place du code et afficher un blanc pour une date non saisie pour lequel le système
affiche la date ’01/01/1753’.

Pour le cas de la date, on va créer une formule ; clic droit sur « Champs de formule » puis
« Nouveau » on donne un nom à la formule et on valide la création.

14
© GFI Maroc
Support de formation Crystal Reports

Par la suite on arrive sur une fenêtre ou on peut écrire le texte de la formule, dans cette fenêtre on a
la liste des champs utilisés dans le rapport, champs de la source de données et une liste des fonctions
disponibles pour l’outil.

Pour notre cas converti notre champ qui est en type ‘datetime’ au type ‘date’ à l’aide de la fonction
‘CDate’, on le compare à la date système par défaut si les deux dates sont égales on affiche un vide
sinon on affiche la valeur du champ avec un format personnalisé.

On enregistre ces modifications et on ajoute cette formule personnalisé à la place du champ « Date
signature » et voici un aperçu de ce ça donne :

15
© GFI Maroc
Support de formation Crystal Reports

4. Ajout de tables et mise en relation :


Pour le cas d’affichage du nom du fournisseur à la place de son code, on va ajouter une autre table
qui contient plus d’informations sur le fournisseur ;

Pour ça on clique sur « Base de données » puis « Expert Base de données »

Par la suite on arrive sur l’écran « Expert Base de données » on sélectionne la table ‘BPSUPPLIER ‘ et
on l’ajoute notre rapport.

16
© GFI Maroc
Support de formation Crystal Reports

Puis on clique sur l’onglet « Liens », on supprime les liaisons existante ; clic droit sur une liaison et
supprimer.

On lie les deux tables à l’aide du champ ‘BPSNUM_0’, qu’on fait glisser-déplacer de la table
‘XGMARCHECH’ vers la table ‘BPSUPPLIER’

17
© GFI Maroc
Support de formation Crystal Reports
Enfin développe les champs de la table ‘BPSUPPLIER’ et on ajoute le champ ‘BPSNAM_0’ .

Et voici un aperçu de notre rapport.

1. Ajouter un groupe, un sous-total, un total général :

Dans le cadre de notre exemple on ajouter à notre les tables ‘XGMARCHED’ et


‘XGMARCHEP’ et va les mettre en relation comme montré précédemment.

18
© GFI Maroc
Support de formation Crystal Reports

Pour notre exemple pour avoir de la place ou ajouter d’autres champs à notre rapport, on va
modifier la mise de ‘Portrait’ vers ‘Paysage’, voici comment procéder :

19
© GFI Maroc
Support de formation Crystal Reports
Par la suite on ajoute des champs de la table ‘XGMARCHEP’ comme le code article, sa désignation, la
quantité, le prix unitaire et la formule montant ligne.

Voici un aperçu des données affichées :

Comme mis en surbrillance dans cet écran un numéro de marché est répété plusieurs fois en
fonction des articles qu’il contient.

Pour remédier à ça on va ajouter un groupe avec le numéro du marché.

Pour faire on clique sur le menu « Insertion » puis « Groupe » et on sélectionne le champ N° marche.

20
© GFI Maroc
Support de formation Crystal Reports

Pour améliorer la mise en forme on peut insérer une section du même groupe pour mettre des
champs qui seront affiché au même niveau.

21
© GFI Maroc
Support de formation Crystal Reports

Voici un aperçu du résultat :

On continue l’amélioration de cet exemple par l’ajout des sous-totaux et un total général :

22
© GFI Maroc
Support de formation Crystal Reports

23
© GFI Maroc
Support de formation Crystal Reports

Encore pour mettre en forme le résultat on ajoute des champs texte pour les libellés des champs, on
dessine un cadre et des lignes :

24
© GFI Maroc
Support de formation Crystal Reports

Voici un aperçu avec la nouvelle mise en forme et l’ajout des sous-totaux:

Cet écran affiche l’exemple d’un total général :

On profite de l’ajout de ce groupe pour signaler certaines options très importantes.

Les écrans suivants affichent ces options et comment procéder pour les mettre en place.

25
© GFI Maroc
Support de formation Crystal Reports

III. Intégration des états Crystal Reports avec Sage X3 :

1. Déclaration d’un état au sein de Sage X3 :


Pour ajouter un nouvel état on procède comme suit :

On accède à la fenêtre de gestion des états via le chemin : « Développement ->Dictionnaire de


traitement -> Etats »

On clique sur nouveau, on saisit le code état, l’intitulé, on coche la case « Actif », on indique le nom
du fichier .rpt (le même nom que le code état est recommandé) et clique sur le bouton créer et on
confirme la création.

26
© GFI Maroc
Support de formation Crystal Reports

L’onglet paramètres on le laisse vide pour ce premier état.

Par la suite je prends une copie de mon fichier et je l’ajoute au chemin suivant :

Par la suite on fait un test d’impression comme dans l’exemple suivant :

27
© GFI Maroc
Support de formation Crystal Reports

Et voilà on arrive à la fenêtre pour lancer l’impression :

28
© GFI Maroc
Support de formation Crystal Reports

Voici un aperçu du résultat de l’impression :

2. Lier un état à une fonction :


Le résultat atteint lors de précédent paragraphe est une bonne chose, mais comment imprimé cet
état à partir de la fonction marché ?

Pour atteindre cet objectif en va suivre les étapes suivantes :

 Etape1 : Identifier le code de notre fonction exemple (Marché) :

29
© GFI Maroc
Support de formation Crystal Reports

A partir des écrans précédents on conclut que le code la fonction marché est : « GESXMR » et le code
Objet est : « XMR ».

 Etape2 : Identifier le code impression de la fonction Marché c.-à-d. de l’objet « XMR » :

30
© GFI Maroc
Support de formation Crystal Reports

D’après le précédent écran on note que le code impression de cet objet est « XGMR ».

 Etape3 : Faire un mapping entre le code impression trouvé « XGMR » et le code de notre état
« XINFOSMAR1 » :

31
© GFI Maroc
Support de formation Crystal Reports

3. Attribuer une valeur par défaut à un paramètre de l’état :

32
© GFI Maroc
Support de formation Crystal Reports

IV. Aspects avancés pour la conception d’un état Crystal Reports :

1. Etude des types de jointures :


Dès qu’on aura plus d’une table dans on état on aura besoin de définir une relation entre les deux
tables (Notion de clé primaire / clé étrangère) :

33
© GFI Maroc
Support de formation Crystal Reports

a) Cas N°1 : Jointure interne (type de jointure établit par défaut)


Ce type de jointure permet d’afficher que les lignes qui ont une valeur égale dans les deux
tables.

Voici un aperçu des résultats affiché après l’application d’une jointure de type interne :

Dans notre cas de figure on aura les appels d’offres qui ont un marché généré.

34
© GFI Maroc
Support de formation Crystal Reports

b) Cas N°2 : Jointure externe gauche :


Ce type de jointure permet d’afficher tous les lignes de la table à gauche et la valeur qui
correspond de la table à droite s’il a y en eu sinon affichera un vide.

Voici un aperçu des résultats affiché après l’application d’une jointure de type externe gauche :

Dans notre cas de figure on aura tous les appels d’offres, pour les appels d’offres qui ont un marché
généré le N° de marché est affiche, pour les appels qui n’ont pas encore de marché généré on affiche
un vide.

35
© GFI Maroc
Support de formation Crystal Reports

c) Cas N°3 : Jointure externe droite :


Ce type de jointure permet d’afficher tous les lignes de la table à droite et la valeur qui
correspond de la table à gauche s’il a y en eu sinon affichera un vide.

Voici un aperçu des résultats affiché après l’application d’une jointure de type externe droite :

Dans notre cas de figure on aura tous les marchés, pour ceux issus d’un appel d’offre on affichera le
N° d’appel d’offres, pour ceux issus d’une saisie directe du marché on affichera un vide pour le N°
d’appel d’offre.

36
© GFI Maroc
Support de formation Crystal Reports

d) Cas N°4 : Jointure externe complète :


Ce type de jointure affichera un cumul d’une jointure de type externe gauche et d’une
jointure externe droite.

Voici un aperçu des résultats d’une jointure de type externe complète :

37
© GFI Maroc
Support de formation Crystal Reports

2. Conception d’un état Crystal Reports avec des sous-états :


Pour créer un sous-rapport on clique sur le symbole comme affiché sur la figure suivante :

Par la suite on lui donne un titre et on clique sur le bouton « Assistant de création de rapports »

38
© GFI Maroc
Support de formation Crystal Reports
Comme pour pour le rapport principal on choisit les tables qu’on va utiliser, les champs à afficher
…etc

39
© GFI Maroc
Support de formation Crystal Reports
Après l’ajout du sous-rapport il faut le lier au rapport principal :

Voici un aperçu de l’exemple présenté : un état principal avec deux sous-état (commission et
Fournisseurs ayant déposé un pli).

40
© GFI Maroc
Support de formation Crystal Reports

3. Ajout des sous-états avec des valeurs partagé et passage de


paramètre :
Dans cet exemple on crée un état, on ajoute la table ‘ITMMASTER’ (les articles) :

 On ajoute un groupe par code article.


 On affiche le code article et la désignation.
 on ajoute un sous-état appelé « marché ».

Pour le sous-état « marché » on utilise les table suivantes :

Voici les champs utilisé dans le sous-état « marché » :

41
© GFI Maroc
Support de formation Crystal Reports
Voici le contenu de la formule @mt_n1 dont on déclare une variable partagé :

On crée une formule dans l’état principal, ou on déclare une variable partagé avec le même nom.

L’écran suivant ou on passe le paramètre « année » de l’état principal à son état :

42
© GFI Maroc
Support de formation Crystal Reports
4. Affichage d’un libelle pour le cas d’un menu local Sage X3 :
Pour afficher le libellé d’un champ qui pointe sur un menu local, on identifie le code du champ et le
numéro du menu local.

Pour ça on clique sur le champ et on clique sur F6 :

43
© GFI Maroc
Support de formation Crystal Reports

Par la suite on crée une formule et on met le code suivant, on change le code du champ et le numéro
du menu local en fonction du besoin:

44
© GFI Maroc
Support de formation Crystal Reports
5. Chercher la table ou les champs à utiliser dans Sage X3 :
On clique sur un champ d’un écran, par exemple N° d’appel d’offres et on clique sur F6 ; un pop-up
s’affiche avec des informations sur le champ et l’écran en cous:

On utilise le code écran trouvé pour chercher le nom de la table lié :

45
© GFI Maroc
Support de formation Crystal Reports

46
© GFI Maroc

Vous aimerez peut-être aussi