Récupération d'une clé étrangère à 3 niveaux

Récupération d'une clé étrangère à 3 niveaux
0

#1

Bonjour,

L’objet A (Ecriture bancaire) est lié à l’objet B (Compte bancaire) qui est lié à son tour à l’objet C (Société).

Dans le postCreate de l’objet A, je récupère la Fk de C pour un besoin.

Quand je crée une écriture bancaire via le formulaire de création A, la Fk de C est bien alimentée, par contre, quand je crée une écriture bancaire via un import (CSV par exemple), le champ est vide ! même si je fais le chaînage Fk_B.Fk_C

(this.getField("bankEntrImmoBankAccId.bankAccImmoCompanyId").getValue())

Est-ce normal ?

Merci d’avance.

Abed.


(François Genestin) #2
  • Par IHM la FK est valorisée par le popup/picker
  • Lors d’un import, un populate FK est fait pour compléter les FK à partir des clés fonctionnelles fournies

Si votre champ est vide, c’est peut être que la clé fonctionnelle fournie est incomplète ou erronée pour retrouver son row_id. Sinon vous pouvez toujours dans votre code gérer le cas “vide” :

  • Faire un this.completeForeignKeys() pour renseigner les row_id si ce traitement n’a pas eu lieu
  • ou faire les select nécessaire à partir des autres champs non vides pour valoriser manuellement la FK