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

**URL:** <https://community.simplicite.io/t/recuperation-dune-cle-etrangere-a-3-niveaux/1316>\
**Category:** Support\
**Tags:** v4-0\
**Created:** [January 10, 2019, 10:28pm UTC](https://community.simplicite.io/t/recuperation-dune-cle-etrangere-a-3-niveaux/1316 "2019-01-10T22:28:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abed](https://community.simplicite.io/user_avatar/community.simplicite.io/abed/32/310_2.png) [@Abed](https://community.simplicite.io/u/Abed)\
**Post date:** [January 10, 2019, 10:28pm UTC](https://community.simplicite.io/t/recuperation-dune-cle-etrangere-a-3-niveaux/1316/1 "2019-01-10T22:28:11Z")

</div>

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

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

```

Est-ce normal ?

Merci d’avance.

Abed.

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [January 12, 2019, 12:43pm UTC](https://community.simplicite.io/t/recuperation-dune-cle-etrangere-a-3-niveaux/1316/2 "2019-01-12T12:43:54Z")

</div>

- 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

---

<div class="post-metadata">

**Author:** ![system](https://community.simplicite.io/user_avatar/community.simplicite.io/system/32/4700_2.png) [@system](https://community.simplicite.io/u/system)\
**Post date:** [March 30, 2021, 6:44pm UTC](https://community.simplicite.io/t/recuperation-dune-cle-etrangere-a-3-niveaux/1316/3 "2021-03-30T18:44:50Z")

</div>

Closed on March 30, 2021, 6:44pm UTC


