RESOLU Problème sur la "référence à une civilité" ds contact

Répondre
NDE-BB
Messages : 81
Enregistré le : mer. oct. 12, 2016 1:54 pm
Contact :

mer. nov. 16, 2016 8:21 am

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 :o :!:

est ce normal :?:
Cordialement
Nathalie
Modifié en dernier par NDE-BB le mer. nov. 30, 2016 12:07 pm, modifié 1 fois.
Samuel_Burg
Messages : 144
Enregistré le : mer. juil. 22, 2015 12:17 pm

mer. nov. 16, 2016 10:50 am

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.
Samuel_Burg
Messages : 144
Enregistré le : mer. juil. 22, 2015 12:17 pm

mer. nov. 16, 2016 10:59 am

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,
tvans
Messages : 52
Enregistré le : mar. oct. 04, 2016 2:28 pm

mer. nov. 16, 2016 3:53 pm

bonjour,
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>
 
on a ID_ADRESSE, on récupère ID_ADRESSE, VILLE et CEDEX
Samuel_Burg
Messages : 144
Enregistré le : mer. juil. 22, 2015 12:17 pm

mer. nov. 16, 2016 5:28 pm

oui, effectivement,
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>
NDE-BB
Messages : 81
Enregistré le : mer. oct. 12, 2016 1:54 pm
Contact :

ven. nov. 18, 2016 1:19 pm

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... :oops:

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é) :lol:


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
tvans
Messages : 52
Enregistré le : mar. oct. 04, 2016 2:28 pm

sam. nov. 19, 2016 10:16 pm

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

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>
pour info :
ID 2 Monsieur Mr
ID 3 Madame Mme
ID 4 Mademoiselle Mlle
NDE-BB
Messages : 81
Enregistré le : mer. oct. 12, 2016 1:54 pm
Contact :

lun. nov. 21, 2016 7:38 am

Super ! ça marche :)
un grand merci à tous les 2 !
Cordialement
Nathalie
Répondre