Aller au contenu
  • 0
galax-ajh

Problème de liens et de tables liées

Question

Bonjour

Je suis en train de créer une gestion de travaux/devis/factures pour une amie. Les tables presta internes et externes lui servent à gérer ses heures (en fonction du type de travail) et les marchandises sur lesquelles, elle marge.

Voici la structure (il y a d'autres tables mais non concernée) :

Table : travaux (avec ID_tra)
Table : Presta internes
Table : Presta externes

Table : Devis
Tables : Factures

Les tables sont toutes rattachées par l'ID_tra
Un script génère les Devis, un autre génère une facture d'acompte pour les devis supérieurs à 500 euros, encore un autre génère la facture finale.
Les 3 scripts semblent fonctionner correctement
séparément. En revanche, lorsque j'essaye de générer une facture finale pour un job ayant nécessité une facture d'acompte, j'obtiens des résultats aberrants. 
J'explique : je crée une nouvelle fiche dans la table facture, je récupère l'ID_tra que j'injecte dans la facture. A partir de ce moment les 2 tables Travail et Factures sont liées. Je récupère les infos clients et les infos sur le travail (titre et description) qui s'affichent correctement. Jusque là, tout va bien. En revanche, lorsque je veux récupérer les presta internes et externes, le débugguer m'indique que le script récupère bien les valeurs MAIS au lieu des les mettre dans la fiche en cours, les valeurs sont attribuées à la fiche de la facture d'acompte. Quant à la facture finale, cette partie de la facture reste vide. J'ai bien conscience qu'il y a 2 factures qui font référence au même ID_tra, mais je ne pensais pas que cela poserait de problème.

Quelqu'un peut-il m'expliquer  si c'est un comportement normal, ou si j'ai loupé quelque chose et surtout comment remédier à ce problème autrement qu'en rompant temporairement le lien entre la table travaux et la facture d'acompte.

Merci.

V.

Partager ce message


Lien à poster
Partager sur d’autres sites

24 réponses à cette question

Messages recommandés

  • 0

Bonjour 

je n'ai pas tout compris mais les factures d'acompte doivent être des décomptes intermédiaire d'une facture et à ce titre une table externe doit faire ce décompte 

et c'est ce décompte qui manque peut être ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour

Je pense qu' il faut faire une table PAIEMENTS liée à FACTURES (les acomptes sont un paiement et ce n' est pas une facture)

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci de vos réponses.

En l'occurrence, les clients demandent des factures pour payer l'acompte. De toutes façons, pour l'instant le problème ne se situe pas à cet endroit, je n'ai aucun souci pour décompter l'acompte de la facture finale. Mon problème se situe au niveau du remplissage du "corps" de la facture. Pour la facture d'acompte, après le titre et le descriptif, je mets
acompte sur devis N°xxxx ........ Total ......... 30% ....... Montant acompte
dans les items de facture.

Quand je fais la facture finale, le titre et le descriptif apparaissent correctement mais ensuite, je devrais avoir les éléments de facture tel que :
maquette ....................................... 3h ......... 50€/h ...... 150 €
Impression 1000 ex ....................... 1........... 150 € ....... 150 €
qui sont des éléments de presta internes et externes.

Or pour l'instant, au lieu de se mettre dans la facture que je suis en train d'éditer, ces éléments vont se mettre dans la facture acompte et remplacent la ligne acompte sur devis que j'avais précédemment écrite.

Pour l'instant, il apparaît que c'est un problème de liens ou de tables liées, puisque pour résoudre ce problème, j'appelle la facture d'acompte correspondante, je change l'ID_tra (en rajoutant "_tmp" à la fin que je supprime en fin de script). Dans ce cas, ma facture se remplit correctement. Ce que je voudrais, c'est comprendre pourquoi et comment FMP peut remplir une fiche qui n'est pas active, ne serait-ce que pour supprimer ce bout de code qui fait rafistolage.

Merci

V.

PS. je vais essayer de faire une version lite de la base

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

peut etre une copie d'écran de ton  schéma de liens c'est déjà une piste 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour

Ne manquerait-il pas une table :(LIGNES DE Travaux  ou LIGNES DE Facture) ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 7 heures, Jean-Louis a dit :

Bonjour

Ne manquerait-il pas une table :(LIGNES DE Travaux  ou LIGNES DE Facture) ?

Heu.... Non toutes les tables sont présentes... A quoi serviraient les tables sus-mentionnées ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

il y a aussi 2 contextes distincts et je ne sais pas comment tu saisies tes factures et dans quel contexte et comme dis jean louis il faut une table de ligne de facture pour pouvoir dans facture saisir autant de lignes que souhaitez sinon ta facture ne contient pour chaque numéro de facture qu'une seule ligne 

et le fait de laisser les numéro de table au fur et à mesure des créations complique la lecture des liens il est préférable d'indiquer l'origine des infos il faut préciser sur quel modèle tu fait tes facture et comment ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

_A un travail correspond plusieurs Prestations et une Prestation peut correspondre à plusieurs Travaux: Donc Lien de n à n=une table intermédiaire

(à moins que les prestations internes et externes ne soient pas répertoriées et qu' elles soient "tapées à chaque fois": dans ce cas seulement les prestations , uniques pour chaque factures peuvent faire office de lignes de facture ou de travaux)

_Il faudrait aussi savoir si à chaque Travail, il y a une et une seule facture...

_Je ne sais comment tu gères les Factures/Devis:

Une simplification quand c' est possible: sur le modèle Facture : La rubrique d' en-tête peut prendre la Valeur: "DEVIS" ou "FACTURE": tu envoies ton Devis avec "DEVIS" et s' il est accepté , tu choisis "FACTURE"

 

Mais je n' ai peut-être pas tout compris...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bon j'ai recréé entièrement un modèle simplifié de ce que je veux et le problème subsiste. Je suppose donc que c'est inhérent à FMP

Les presta internes ou externes sont (re)crées par l'utilisateur à chaque nouveau job.
Pour chaque travail, il peux y avoir 1 ou 2 factures : 1 facture, si la somme est modeste ou 2 factures (acompte et finale) dans le cadre de gros boulot

Les devis sont gérés à part.

Je vous mets la base recrée en PJ. Il y a 3 scripts
- facture acompte (à exécuter en 1er)
- facture finale (à exécuter en 2e)
- RAZ pour remettre les champs Numero de facture à 0 et effacer les factures

Vous remarquerez que la facture acompte est ok dans un premier temps. En générant la facture finale, vous remarquerez que titre et description sont OK, le reste est vide sauf la soustraction l'acompte. Si vous revenez sur la facture d'acompte, vous verrez qu'elle a été modifiée et qu'elle contient maintenant les presta internes et externes...

PS. Si vous voulez créer d'autre fiches travaux, il vous faudra créer les presta à la main

Test_tables_liees.fmp12

Test_tables_liees.fmp12

Test_tables_liees.fmp12

Test_tables_liees.fmp12

Test_tables_liees.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

j'ai rapidement jeté un oeil  mais en fait la facture est constituée d'une seul ligne correspondant à 1 travail si je ne me trompe et donc a chaque fois que tu crée une facture c'est un nouveau numéro il ne peut pas y avoir plus d'une ligne par facture 

c'était la remarque de Jlouis  si tu souhaites que la facture comporte plusieurs lignes il faut une table ligne de factures  regarde dans les solutions à partir des solutions de démarrage  en choisissant facture 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je ne suis pas sûr de comprendre. Si par lignes, tu veux dire plusieurs items dans la facture, je pense que j'ai évité involontairement ce problème en utilisant une rubrique multivaluée. Cette partie là fonctionne correctement. Pour t'en convaincre, après un RAZ, essaye de créer directement une facture finale et tu verras que tout fonctionne correctement.
Si par ligne de facture, tu sous-entends plusieurs factures pour le même travail, alors effectivement, ca peut être un problème. mais j'avoue que je ne vois pas pourquoi.

Je vais jeter un oeil aux solutions de démarrage, voir si je trouve quelque chose concernant les factures d'acompte.

V.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

mille pardon je n'était pas passer en mode modèle tu as choisi les rubriques multivaluées c'est le plus simple mais cela peut devenir  difficile à  gérer et limite le nombre de lignes possibles si tu regarde l'autre technique c'est illimité mais ton script crée un numéro de facture new à chaque fois un acompte est une facture intermédiaire il faut donc que ton acompte soit une des lignes de la rubrique multivaluée  négatif pour se déduire de la facture et c'est le début des ennuis si tu souhaites extraire tous les acomptes cela va devenir compliqué et ce n'est que le début des problèmes 😎

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Rassure-toi, je n'ai pas de soucis avec la déduction des acomptes. Quant au nombre de lignes, on sait qu'on ne dépassera pas 7. Dans la version réelle, j'ai paramétré jusqu'à 10. Pour ce qui est d'extraire tous les acomptes, ce n'est pas à l'ordre du jour. Si tu as 10 minutes à tuer, j'aimerais bien que tu fasses le test dans l'ordre et en suivant (les commandes sont dans le menu script):.

1 - RAZ (pour remettre à 0)
2 - Facture d'acompte (tu regardes à quoi ressemble la facture d'acompte dans le(s) champs désignation et prix)
3 - Facture finale (tu verras que facture finale ne remplit pas les champs désignation et prix dans la nouvelle facture). Ensuite tu retournes sur la facture acompte et tu me dis si tu retrouves la facture d'acompte telle qu'elle a été éditée ou si elle a été modifiée. Chez moi, elle est modifiée au niveau des champs désignations et prix.

Merci de ton aide

V.
 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

j'ai fait le test en suivant les 3 scripts j'obtiens une facture d'acompte de 100€ numéro  09

et facture finale acompte -100 € mais num 10 c'est un peu ce que je pensais le script crée une nouvelle facture à chaque fois et donc ce n'est plus un acompte sur le 09 c'est une nouvelle facture 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

C'est comme ça que c'est prévu avec mon amie : une nouvelle facture avec un nouveau numéro à chaque fois et l'acompte est décompté" de la facture finale. Normalement, tu as du aussi voir que les champs Désignations et Prix était restés vide (en dehors de la mention acompte -100 €. Maintenant sans rien toucher, regarde la facture 09. Est-ce que la ligne acompte 100 € a été modifiée ? Chez moi, cette ligne est remplacée par les items de la facture, c'est à dire, les presta internes et externes. Peux-tu me confirmer ? Si oui, tu viens de mettre le doigt sur mon problème...

Chez moi ça donne ça :

1re capture : script facture acompte -> Facture acompte 06

2e capture : script facture finale -> facture finale 07 (et les champs manquants)

3e capture : script facture finale -> facture d'acompte 06 (modifiée et les champs manquent de la facture finale se retrouvent dans la facture d'acompte)

V.
 

Capture d’écran 2018-07-27 à 12.38.37.png

Capture d’écran 2018-07-27 à 12.39.04.png

Capture d’écran 2018-07-27 à 12.39.19.png

1890686941_Capturedecran2018-07-27a12_38_37.png.71d8862ebe5a2df1e8598d0e02c57024.png

1900965530_Capturedecran2018-07-27a12_39_04.png.a235cf4cb02763a325be58ecacd3ceb5.png

1416399317_Capturedecran2018-07-27a12_39_19.png.f494bd93ddb779aee85a329aa67630cb.png

1890686941_Capturedecran2018-07-27a12_38_37.png.71d8862ebe5a2df1e8598d0e02c57024.png

1900965530_Capturedecran2018-07-27a12_39_04.png.a235cf4cb02763a325be58ecacd3ceb5.png

1416399317_Capturedecran2018-07-27a12_39_19.png.f494bd93ddb779aee85a329aa67630cb.png

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

oui mais c'est ce que je ne comprends pas c'est le problème des multivaluées et de ton script qui crée une nouvelle facture à chaque fois il n'est pas possible de déduire un acompte d'une facture avec un numéro différent soit ce sont 2 factures distinctes soit tu réaffiche la facture précédente pour que cela fonctionne et tu déduit l'acompte  soit tu adopte la table ligne de facture et l'acompte vient se déduire normalement mais dans la même facture 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Désolé, mais je crois que je suis perdu. Ou alors on ne parle pas de la même chose...

Je viens de jeter un coup d'oeil aux histoires de compta (auxquelles je ne connais strictement rien) et ça a l'air de corroboré ce que je fais, à savoir après le devis accepté par le client, j'établis une facture d'acompte (30% du devis dans la réalité et c'est mentionné sur la facture d'acompte). Une fois le travail terminé, j'établis une NOUVELLE facture avec un nouveau numéro. J'y détaille le travail fait et au final je soustrais l'acompte. Jusque-là je pense que j'ai juste. Il y a donc bien 2 factures différentes.

Mon problème vient du script "facture finale"que j'ai écrit et qui ne fonctionne pas correctement. A savoir qu'au lieu de remplir la facture finale, il va modifier la facture d'acompte et je ne comprends pas pourquoi. Cela se produit au moment ou j'active les fiches liées des 2 tables prestations. Mon problème n'est donc pas d'ordre comptable mais bien de l'ordre du scripting.

Merci

V.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

je n'ai pas détaillé je vais regardé  le  script

mais ce n'est un problème pour toi si la facture  d'acompte est différente de la facture finale  ??

je pense que tu devrais regarder dans les solution de démarrage   le fichier factures 

le fichier facture  en général on fait la facture totale dans laquelle la 1ere ligne est un acompte de x % qui viendra se déduire de la facture finale  mais avec le même numéro mais cela n'engage que moi 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 49 minutes, didi71 a dit :

jmais ce n'est un problème pour toi si la facture  d'acompte est différente de la facture finale  ??

Non. Et si je me fie à ça : http://www.croquefeuille.fr/?facture-acompte et à d'autres sites, je suis dans les clous

il y a 52 minutes, didi71 a dit :

je n'ai pas détaillé je vais regardé  le  script

Je t'en remercie, car depuis le début, c'est bien là mon problème.

V.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Ok  la compta change 

et  cela finalement  complique mais surtout avec les multivaluées il va falloir  savoir a quelle facture correspond la facture d'acompte imagine dans 1 an si tu as 35 factures d'acompte pour savoir avec quelle facture finale elle va  il vas falloir gérer ça aussi et donc les scripts vont être nombreux et compliqués je reviendrais à l'idée une facture avec l'acompte correspondant  donc pour moi la bonne solution c'est la facture genre fichier de demo Filemaker

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

La solution à mon problème m'a été donnée par Tom Assia sur FMForums.com.

Le problème venait du fait que je remplissais la facture en affichant les tables liées (modèles actifs) et j'"exportais" les informations vers la facture. Depuis ces tables, seule la première facture est visible, donc s'il n'y a qu'une seule facture, tout va bien ; s'il y en a 2, c'est le désastre. C'est la première facture qui est modifiée, même si ce n'est pas la fiche active et même si elle fait partie des fiches ignorées. La solution est simple, il suffit (il faut) activer le modèle de la facture et y "importer" les informations des tables liées.

Merci encore à Tom Assia pour avoir trouver l'erreur.

V.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×