|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
bonjour
je travail sur la mise en place d'un ERP, "Sage ERP X3", et je suis en train de paramétrer les états d'impressions et pour cela j'utilise Crystal Report XI. l'état qui me pose problème, celui des devis clients. Lorsqu’un article est composé d’autres articles, je souhaiterais faire la somme du montant des composants et l’afficher en face de l’article composé. Exemple: ARTICLE1 article n°1 999999 9999999 999999 ARTICLE2 article n°2 ARTICLE3 article n°3 ARTICLE4 article n°4 999999 9999999 999999 ARTICLE5 article n°5 ARTICLE6 article n°6 ARTICLE7 article n°7 j'ai donc essayé de faire trois formules: - j'ai créé une formule, placée dans l'en-tête du rapport, avec déclaration de 3 tableaux : 1 pour le no devis (utile dans le cas ou on imprime plusieurs devis), 1 pour le numéro de ligne et 1 pour le cumul. Cette formule est évaluée lors de la lecture des enregistrements (« whilereadingrecords ; ») - Créer une formule, placée dans le détail et toujours évaluée lors de la lecture des enregistrements, dans laquelle : o je déclare de nouveau les 3 tableaux. o si le type de ligne est un composé alors on crée un enregistrement dans chacun des trois tableaux avec le no de devis, la ligne courante et un cumul à 0. o Si le type de ligne est un composant alors on effectue une MAJ du cumul de la ligne courante du tableau.. - Créer une formule, placée sur la ligne du composé, qui fait une recherche de la ligne correspondante à l’enregistrement courant dans la table des no de devis et des numéros de lignes… et affiche alors le cumul…. formule dans l'en-tête: Code :
Code :
Code :
n'ayant pas beaucoup de connaissance dans la gestion variables tableau, je n'arrive pas a trouver de solution. Merci de m'aider |
||||||
|
|
00
|
|
|
#2 | ||||||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
j'ai fait évoluer mes formules.
formule dans l'en-tête: Code :
Code :
Code :
Mais quand je met "TabTotal[i]", pour afficher la valeur du tableau, j'ai un message d'erreur qui me dit "un indice doit être compris entre 1 et la taille du tableau" pour la dernière formule... Je dois avoir un problème dans la gestion de mes tableaux mais... je n'arrive pas a savoir quoi ^^ Si quelqu'un s'y connais gestion de tableau dans les formules, merci^^ |
||||||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2011 Messages : 26 ![]() |
Bonjour,
Pourquoi tu te casse la tête avec des tableaux !!! Tu déclare des groupes : Si tu as une table du genre le composé se répète à chaque composant, tu mets le composé dans l'entête du groupe et tu liste les composants dans le détail puis tu faits la somme dans le pied du groupe (ça te feras un total par article) puis un autre total global dans le pied du rapport (qui est celui de tous les articles du devis) Tu as compris ? Bien sûre à gauche du composé, tu mets le n° du devis et la ligne, ça dépendant de ta mise en page, si tu veux un avoir un devis par page, tu déclare le n° devis comme étant un groupe qui se place au dessus du groupe composant, puis dans l'expert section, tu coche "nouvelle page après" dans le pied du groupe devis. ça te permettras d'avoir le total HT et TTC du devis par ligne puis global. PS: j'ai confondu composant et composé lol |
|
|
00
|
|
|
#4 | |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
Citation:
mais dernièrement j'ai eu d'autres informations donc je vais tester cette méthode de nouveau... en espérant ce soit bon^^ Merci |
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2011 Messages : 26 ![]() |
ça veut dire que tu as un devis avec un nombre bien défini de composants qui peuvent ne pas être TOUS les composants d'un composé qui se trouve dans une autre table.
Tu raccorde la table Devis et la table Composé avec le lien Composant.Devis = Composant.Composé, et tu n'auras que la liste des composants(listés dans le devis) par composé. Tu mets le composé de la table Composé en groupe, et tu liste dans le détail les composants du devis avec leurs montants. |
|
|
00
|
|
|
#6 | |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
Citation:
voici comment sont reliés mes tables: Table Devis (détail) ------> Table Article (devis.référenceArticle = article.référence) Table Article ------> Table Nomenclature (article.référence = Nomenclature.référenceArticleComposé) Tables Nomenclature -------> Table Article2 (nomenclature.référenceComposant = article2.référence) la table Article2 est la table Article mais rajouté une seconde fois. sur la table Devis (détail) tous les articles sont gérés de la même façon, la table ne prend pas en compte la nomenclature (composé/composant). Donc c'est pour cela que j'ai ajouté les tables Nomenclature et Article2. le lien entre les tables Article et Nomenclature est fait de sorte a sélectionner aussi les articles qui n'ont pas de nomenclature (puisqu'un article n'a pas forcément de composant, ni de composé). c'est assez tordu ^^ moi-même je m'y perds à force...
|
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2011 Messages : 26 ![]() |
Toute nomenclature qui se respecte devrait se présentait comme ceci
REF_Article(Composé1)<===> REF_Article2 (Composant1) REF_Article(Composé1)<===> REF_Article2 (Composant2) REF_Article(Composé1)<===> REF_Article2 (Composant3) REF_Article(Composé1)<===> REF_Article2 (Composant4) REF_Article(Composé1)<===> REF_Article2 (Composant5) La table Article est le détail de tous les REF_Article qu'il soit composant ou composé. La table Devis contient des REF_Article (de type composants) Les liens sont les suivants : 1- Table devis (Ref_Article) = Table Nomenclature (REF_Article (Composants i ) 2- Table Nomenclature (Ref_Article (Composé) ) = Table Article (REF_Article) 3- Table Nomenclature (Ref_Article (Composant) ) = Table Article 2 (REf_Article) Tu devais relier la table devis à la nomenclature et non à la table Article . NB : lorsque tu rajoute sous CR, les tables de ta base de données, à la deuxième table, un onglet lien apparait, ce qui te permettras de lier graphiquement tes champs de tables |
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
je vais essaye en liant les tables comme tu le propose... c'est une idée...
et t'inquiète, je sais comment fonctionne l'expert base de données^^ en tout cas merci beaucoup de te pencher sur mon problème, sa fait du bien d'avoir d'autres pistes^^
|
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2011 Messages : 26 ![]() |
Bonjour,
Mais de rien, J'ai pensé aussi à une formule de sélection du genre : Code :
{@devis.ref_article} = {@nomenclature.ref_article_Composant} Bon courage |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
finalement j'ai craqué
... je fais faire l'état pas un partenaire... comme j'en ai 8 autres comme celui-ci à faire, je préfère devoir payer pour un, faire les autres en copier/coller, démarrer dans les temps et m'occuper sur d'autres taches, plutôt que de perdre du temps (sa fait quand même 2 semaines que je bataille rien que pour se détail). mais dès que je reçois la solution du partenaire, je l'expliquerai ici pour d'autre^^ et puis cela peu peut être t’intéresser^^ encore pour l'aide
|
|
|
00
|
|
|
#11 | |||||||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 24 ![]() |
J'ai enfin la solution !!!!!!
![]() le partenaire à quand même passé une journée entière^^ et il est en est arrivé à une solution. j'y étais presque avec mes formules^^, la méthode était bonne^^ puisque c'est celle-ci que les développeurs ont appliqué (mais eux, ils s'y connaissent bien en formule crystal). donc le principe est le même que ce que j'ai expliqué au début de mon problème. Citation:
Placé dans l'en-tête du rapport, la déclaration des tableaux : Code :
Code :
Code :
|
|||||||
|
|
20
|
Copyright © 2000-2012 - www.developpez.com