Champs non pris en compte après trigger

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…

Up.

J’ai contourné le problème avec une requete SQL mais j’aimerai comprendre le pourquoi du comment. Personne a une piste ?