Import CSV et validation de données

4.0
Import CSV et validation de données
0
Tags: #<Tag:0x00007f6485387db8>

#1

Bonjour,

Je fais une vérification dans le postValidate de l’objet Bien pour m’assurer que l’adresse d’un bien est la même que celle de l’immeuble auquel il est associé :

if ((this.getField(“proImmoAddressid.addressId”).getValue()) !== (this.getField(“buildingImmoAddressId.addressId”).getValue())) {
console.error(“Le bien doit avoir la même adresse que l’immeuble”);
return Message.formatSimpleError(“Le bien doit avoir la même adresse que l’immeuble”);

Ça se passe bien au niveau du formulaire.
J’ai fait un export des données (csv) des objets Adresse, immeuble ainsi que Bien.
L’import d’adresse et d’immeuble se passe bien, celui du Bien plante pour les lignes qui sont associés à des immeubles, en affichant une erreur dans la log concernant cette vérification d’adresse. Voici une partie de la log :
2018-02-21 10:26:35,666 INFO [] Found field propertyId = [BIEN-00001]
2018-02-21 10:26:35,666 INFO [] Found field proImmoAddressid.addressId = [ADDR-00001]
2018-02-21 10:26:35,666 INFO [] Found field propertyImmoBuildingId.buildingId = [IMM-00003]
2018-02-21 10:26:35,666 INFO [] Found field buildingImmoAddressId.addressId = [ADDR-00001]
2018-02-21 10:26:35,666 INFO [] Found field propertyBuildingFlag = [1]
2018-02-21 10:26:35,666 INFO [] Found field proImmoAddressid = []
2018-02-21 10:26:35,666 INFO [] Found field propertyImmoBuildingId = []
2018-02-21 10:26:35,666 INFO [] Found field propertyImmoBuildingId.buildingImmoAddressId = []
2018-02-21 10:26:35,667 INFO [] New record key row_id
2018-02-21 10:26:35,667 INFO [] Action: INSERT
2018-02-21 10:26:35,669 ERROR [] Validation error: [Le bien doit avoir la même adresse que l’immeuble#ERROR]

On voit bien que les adresses sont bonnes.
Merci d’avance pour votre aide.
Abed.


(François Genestin) #2

Il ne faut pas utiliser !== qui teste que ce sont les mêmes objets (au sens String java) et non des textes différents.

Essayez avec

if (this.getFieldValue("proImmoAddressid.addressId") != this.getFieldValue("buildingImmoAddressId.addressId"))
...

De plus vos noms de champ sont encadrés par des guillements word et non des double quotes "


(David AZOULAY) #3

Cf. https://www.simplicite.io/resources/documentation/01-core/basic-code-examples.md au § “Comparaisons” pour bien comprendre la différence entre les equals, == et !== dans Rhino


#4

Merci à vous, ça fonctionne maintenant.