Dolibarr 13.0.2
Bonjour,
Lors de la création d’un objet généré par le module builder, j’utilise le système de triggers pour créer un tiers et un contact que je rattache a mon objet avec un « $object->fk_soc = $societe->id ».
Seulement lorsque mon objet est créé, les valeurs disparaissent tout simplement. Pourtant dans la fonction « createCommon », juste après l’exécution des triggers, mon objet a bien les bonnes valeurs dans ses propriétés « fk_soc » et « fk_contact ».
// Triggers
if (!$error && !$notrigger)
{
// Call triggers
$result = $this->call_trigger(strtoupper(get_class($this)).'_CREATE', $user);
if ($result < 0) { $error++; }
// End call triggers
}
// ICI MON FK_SOC ET MON FK_CONTACT ONT BIEN UNE VALEUR
// Commit or rollback
if ($error) {
$this->db->rollback();
return -1;
} else {
$this->db->commit();
return $this->id;
}
// APRES LA CREATION DE L'OBJET, MON FK_SOC ET FK_CONTACT SONT VIDES EN BDD
Si je lance la fonction « $object->create » dans mon trigger cela fonctionne mais l’objet est créé deux fois (forcément…).
Une suggestions ? Ca fait des heures que je cherche…