Encore moi,
Suite demande de mon commercial, j'ai ajouté le nom du contact client au dessus de son adresse.
Voyant dans la table Contact clients le champ "ID_TITRE_PERSONNEL" = référence à une civilité je me dis "chouette je pourrais ajouter le Mr/Mme/Mlle devant".
Je crée donc la formule
<element location="H8" type="fill">
<field name="ID_CONTACT">
<field name="ID_TITRE_PERSONNEL" />
<field name="PRENOM" />
<field name="NOM" />
</field>
</element>
mais lorsque j'édite le document, j'obtiens
SAS XXXXX
2 Franck JASPARD
est ce normal
Cordialement
Nathalie
RESOLU Problème sur la "référence à une civilité" ds contact
Modifié en dernier par NDE-BB le mer. nov. 30, 2016 12:07 pm, modifié 1 fois.
-
- Messages : 144
- Enregistré le : mer. juil. 22, 2015 12:17 pm
ID_TITRE_PERSONNEL est un index, donc un nombre, qui fait référence à un titre, donc une chaine de caractère.
C'est donc normal que avec votre formule vous obteniez "2" comme résultat.
C'est donc normal que avec votre formule vous obteniez "2" comme résultat.
-
- Messages : 144
- Enregistré le : mer. juil. 22, 2015 12:17 pm
Pour info complémentaire,
"ID_TITRE_PERSONNEL" est un index vers la table "TITRE_PERSONNEL"
qui elle même contient ce que vous cherchez, par exemple l'enregistrement d'index 2 vous indique :
ID / SEXE_M / NOM / CODE
2 / T / Monsieur / Mr
Notez au passage qu'il y a un index 4 pour "F/Mademoiselle/Mlle" qui n'est pas sensé être utilisé, "3/F/Madame/Mme" devant normalement être utilisé pour tout le monde, mais ceci n'a rien de spécifique à OC.
Cordialement,
"ID_TITRE_PERSONNEL" est un index vers la table "TITRE_PERSONNEL"
qui elle même contient ce que vous cherchez, par exemple l'enregistrement d'index 2 vous indique :
ID / SEXE_M / NOM / CODE
2 / T / Monsieur / Mr
Notez au passage qu'il y a un index 4 pour "F/Mademoiselle/Mlle" qui n'est pas sensé être utilisé, "3/F/Madame/Mme" devant normalement être utilisé pour tout le monde, mais ceci n'a rien de spécifique à OC.
Cordialement,
bonjour,
pour simplifier il faut faire comme dans ce cas :
on a ID_ADRESSE, on récupère ID_ADRESSE, VILLE et CEDEX
pour simplifier il faut faire comme dans ce cas :
Code : Tout sélectionner
<element location="G12" type="fill">
<field name="ID_FOURNISSEUR">
<field name="ID_ADRESSE">
<field name="ID_ADRESSE" type="villeCP" />
<field name="VILLE" type="ville" />
<field name="CEDEX" prefix="CEDEX " conditionField="HAS_CEDEX" />
</field>
</field>
</element>
-
- Messages : 144
- Enregistré le : mer. juil. 22, 2015 12:17 pm
oui, effectivement,
ce qui donne ceci :
ce qui donne ceci :
Code : Tout sélectionner
<element location="H8" type="fill">
<field name="ID_CONTACT">
<field name="ID_TITRE_PERSONNEL">
<field name="CODE" /> <<---ça c'est pour Mr/Mme
<field name="NOM" /> <<---ça c'est pour Monsieur/Madame
<field name="PRENOM" />
<field name="NOM" />
</field>
</element>
Bonjour à tous les 2 et merci
n'ayant pas coché m'avertir des réponses, j'ai tardé à voir que vous m'aviez répondu...
Tvans :
merci pour votre exemple, je comprends la référence, il faut aller dans la table correspondante et reprendre les champs qui nous intéressent.
Samuel :
1 - ID_TITRE_PERSONNEL J'avoue, je n'avais pas pensé au fait que c'était aussi une table <=> si je comprends bien lorsque qu'un "champ" commence par ID = index = table à consulter pour trouver les autres champs ?
PS : je n'utilise plus le "demoiselle" depuis longtemps (surtout que le "damoiseau" n'a pas été gardé)
2. j'ai copier/coller votre formule, en remplaçant bien et tenant compte des colonnes :
==>J'ai obtenu ce message "Caused by: org.jdom2.input.JDOMParseException: Error on line 48: Le type d'élément "field" doit se terminer par la balise de fin correspondante "</field>"."
ça je sais interpréter : j'ai donc ajouté un field et placé les 2 derniers field comme dans l'exemple de Tvans
Et maintenant j'obtiens un autre message d'erreur et celui là je ne sais pas l'interpréter !
[img]Impossible de remplir le document Devis
unknown field PRENOM in TITRE_PERSONNEL. The table TITRE_PERSONNEL contains the followins fields: [CREATION_DATE, ID, SEXE_M, ID_USER_COMMON_CREATE, CODE, ID_USER_COMMON_MODIFY, ORDRE, NOM, MODIFICATION_DATE, ARCHIVE]
org.openconcerto.utils.ExceptionHandler: Impossible de remplir le document Devis
at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:121)
at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:125)
at org.openconcerto.erp.generationDoc.OOgenerationXML.createDocument(OOgenerationXML.java:178)
at org.openconcerto.erp.generationDoc.AbstractSheetXml$1.call(AbstractSheetXml.java:65)
at org.openconcerto.erp.generationDoc.AbstractSheetXml$1.call(AbstractSheetXml.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: unknown field PRENOM in TITRE_PERSONNEL. The table TITRE_PERSONNEL contains the followins fields: [CREATION_DATE, ID, SEXE_M, ID_USER_COMMON_CREATE, CODE, ID_USER_COMMON_MODIFY, ORDRE, NOM, MODIFICATION_DATE, ARCHIVE]
at org.openconcerto.sql.model.SQLTable.getField(SQLTable.java:917)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:87)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:111)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:125)
at org.openconcerto.erp.generationDoc.OOXMLElement.getValue(OOXMLElement.java:104)
at org.openconcerto.erp.generationDoc.OOgenerationXML.parseElementsXML(OOgenerationXML.java:676)
at org.openconcerto.erp.generationDoc.OOgenerationXML.createDocument(OOgenerationXML.java:168)
... 6 more
[/img]
Je me suis demandée s'il ne fallait pas aussi ajouter le champ "SEXE_M" mais ça ne marche pas - et vu le commentaire de ce champ dans le bouquin, je me demande si il n'y a pas du "texte" à ajouter genre "false, display, etc", comme pour un répertoire ??? ce que je n'ai encore jamais eu à faire.
encore merci pour votre aide !
Nathalie
n'ayant pas coché m'avertir des réponses, j'ai tardé à voir que vous m'aviez répondu...
Tvans :
merci pour votre exemple, je comprends la référence, il faut aller dans la table correspondante et reprendre les champs qui nous intéressent.
Samuel :
1 - ID_TITRE_PERSONNEL J'avoue, je n'avais pas pensé au fait que c'était aussi une table <=> si je comprends bien lorsque qu'un "champ" commence par ID = index = table à consulter pour trouver les autres champs ?
PS : je n'utilise plus le "demoiselle" depuis longtemps (surtout que le "damoiseau" n'a pas été gardé)
2. j'ai copier/coller votre formule, en remplaçant bien et tenant compte des colonnes :
==>J'ai obtenu ce message "Caused by: org.jdom2.input.JDOMParseException: Error on line 48: Le type d'élément "field" doit se terminer par la balise de fin correspondante "</field>"."
ça je sais interpréter : j'ai donc ajouté un field et placé les 2 derniers field comme dans l'exemple de Tvans
Et maintenant j'obtiens un autre message d'erreur et celui là je ne sais pas l'interpréter !
[img]Impossible de remplir le document Devis
unknown field PRENOM in TITRE_PERSONNEL. The table TITRE_PERSONNEL contains the followins fields: [CREATION_DATE, ID, SEXE_M, ID_USER_COMMON_CREATE, CODE, ID_USER_COMMON_MODIFY, ORDRE, NOM, MODIFICATION_DATE, ARCHIVE]
org.openconcerto.utils.ExceptionHandler: Impossible de remplir le document Devis
at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:121)
at org.openconcerto.utils.ExceptionHandler.handle(ExceptionHandler.java:125)
at org.openconcerto.erp.generationDoc.OOgenerationXML.createDocument(OOgenerationXML.java:178)
at org.openconcerto.erp.generationDoc.AbstractSheetXml$1.call(AbstractSheetXml.java:65)
at org.openconcerto.erp.generationDoc.AbstractSheetXml$1.call(AbstractSheetXml.java:1)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: unknown field PRENOM in TITRE_PERSONNEL. The table TITRE_PERSONNEL contains the followins fields: [CREATION_DATE, ID, SEXE_M, ID_USER_COMMON_CREATE, CODE, ID_USER_COMMON_MODIFY, ORDRE, NOM, MODIFICATION_DATE, ARCHIVE]
at org.openconcerto.sql.model.SQLTable.getField(SQLTable.java:917)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:87)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:111)
at org.openconcerto.erp.generationDoc.OOXMLField.getValue(OOXMLField.java:125)
at org.openconcerto.erp.generationDoc.OOXMLElement.getValue(OOXMLElement.java:104)
at org.openconcerto.erp.generationDoc.OOgenerationXML.parseElementsXML(OOgenerationXML.java:676)
at org.openconcerto.erp.generationDoc.OOgenerationXML.createDocument(OOgenerationXML.java:168)
... 6 more
[/img]
Je me suis demandée s'il ne fallait pas aussi ajouter le champ "SEXE_M" mais ça ne marche pas - et vu le commentaire de ce champ dans le bouquin, je me demande si il n'y a pas du "texte" à ajouter genre "false, display, etc", comme pour un répertoire ??? ce que je n'ai encore jamais eu à faire.
encore merci pour votre aide !
Nathalie
Il y a eu une erreur dans le code de Samuel :
ID_TITRE_PERSONNEL est une clé qui pointe sur un champ contenant les civilités
pour info :
ID 2 Monsieur Mr
ID 3 Madame Mme
ID 4 Mademoiselle Mlle
ID_TITRE_PERSONNEL est une clé qui pointe sur un champ contenant les civilités
Code : Tout sélectionner
<element location="H8" type="fill">
<field name="ID_CONTACT">
<field name="ID_TITRE_PERSONNEL">
<field name="CODE" /> <<---ça c'est pour Mr/Mme
<field name="NOM" /> <<---ça c'est pour Monsieur/Madame
</field> <---------------------------------- ERREUR ici, manquait la balise de fin
<field name="PRENOM" />
<field name="NOM" />
</field>
</element>
ID 2 Monsieur Mr
ID 3 Madame Mme
ID 4 Mademoiselle Mlle
Super ! ça marche
un grand merci à tous les 2 !
Cordialement
Nathalie
un grand merci à tous les 2 !
Cordialement
Nathalie