Je développe actuellement un module de gestion des matières premières.
Je suis confronté à un problème lorsque dans une class, je tente de créer une entrée dans la table llx_stock_mouvement.
Aucune erreur n’est retournée, le $db->commit() est effectué avec succès, mais aucune trace de l’enregistrement dans la table.
Quand je lance cette même requête directement depuis phpMyAdmin, ça fonctionne.
De plus, à la suite de l’exécution de la requête depuis ma class, j’effectue un $db->last_insert_id et l’identifiant potentiel de l’enregistrement qui devait être stocké est retourné avec succès.
Je poursuis mes recherches et ai modifié mon script afin de générer des mouvements de stock.
Désormais, dans ma class « perso » je vais désormais appel à la class mouvementstock qui dispose de tout le matériel pour générer la modification de stock.
/****************************************************************************/
Voici la méthode que je lance:
function generate_stock_lot()
{
global $user;
$this-\>db-\>begin();
require_once(DOL_DOCUMENT_ROOT ."/product/stock/class/mouvementstock.class.php");
$movementstock=new MouvementStock($this-\>db);
$result=$movementstock-\>_create($user, 12, 2, $this-\>qp3_out_qty_c15, 0, 0, 'TEST NEW 22');
if ($result \>= 0)
{
$this-\>db-\>commit();
return 1;
}
else
{
dol_print_error($this-\>db);
$this-\>db-\>rollback();
return -1;
}
}