Le samedi 10 juin 2006 à 23:13 -0400, Christophe PEREZ a écrit :
Sinon, j'irai voir dans le code...
Déjà, quand je regarde cette requête :
SELECT s.nom, c.rowid as cid, s.idp as sidp, cd.rowid, cd.label,
cd.statut, p.rowid as pid, unix_timestamp(cd.date_ouverture_prevue) as
date_ouverture_prevue, unix_timestamp(cd.date_ouverture) as
date_ouverture, unix_timestamp(cd.date_fin_validite) as
date_fin_validite, unix_timestamp(cd.date_cloture) as date_cloture
FROM llx_contrat as c , llx_societe as s, llx_product as p ,
llx_contratdet as cd
WHERE c.statut > 0 AND c.rowid = cd.fk_contrat AND c.fk_soc = s.idp AND
cd.fk_product = p.rowid
ORDER BY c.rowid ASC LIMIT 51
Je ne suis pas persuadé qu'elle soit très rigoureuse, et le "AND
cd.fk_product = p.rowid" me semble bien perturbateur pour l'affaire en
question puisque dans llx_contratdet, la ligne incriminée a justement
NULL pour fk_product (cd.fk_product).
Un contrat comportant une ligne ne faisant pas référence à un produit
existant dans la base, ne sera pas affiché.
A mon humble avis, c'est la requête qu'il faut revoir globalement.