dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Fwd: Requête sql de mon module non exécutées


From: Florian Henry
Subject: Re: [Dolibarr-dev] Fwd: Requête sql de mon module non exécutées
Date: Sun, 08 Dec 2013 20:03:15 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1

Bonjour,

    Si vous validez la commande par exemple et que vous avez paramétrer le module Aganda vous verez des événements crée sur les changements de statuts d'une commande via le trigger standard /htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php.

    Pour les événement sur les client, regarder l'onglet agenda d'un tier (llx_actioncomm.fk_soc et il y a également un colonne pour le contact, mais je ne l'ai pas en tête).

    Je pense qu'en regardant le code de ce trigger et celui de la classe actioncomm.class.php, vous trouverez comment cela est gérer.

    Il y a toutes les colonnes nécessaire dans llx_actioncomm pour lier n'importe quel object de dolibarr.

    Il n'est pas possible de faire une foreign key sur llx_actioncomm.fk_element car cela depends de llx_actioncomm.elementtype. Cela est plus flexible car si il fallait faire une colonne fk par type d'objets liés ont aurait 50 colonnes du genre fk_commande, fk_propal, fk_adherent, fk_monmodulespecifique, ...

    Je n'utilise pas Libre office Base, mais Squirel SQL ou phpMyAdmin, et les colones sont bien présentes.

    Si je peux vous donner un conseil, inspiré vous des fonctionnalités existante, le framework dolibarr via ces classes actioncomm et commande dans votre cas (et la classe commonobject.class.php) offre une large palette de méthodes qui évite de faire du SQL.
Florian HENRY
address@hidden
+33 6 03 76 48 07
http://www.open-concept.pro
Twitter : @_Open_Concept_
Secretaire de l'association Dolibarr
Le 08/12/2013 18:15, Michaël Parchet a écrit :


Bonjour,

J'ai bien pris connaissance du message de Florian indiquant que le champ existe déjà.

Toutefois, je ne comprends pas pourquoi il n'y a pas de liens physiques entre les tables des modules tiers0 (clients) -> agenda et commande -> agenda alors qu'il existe un champs qui pourrait être la clef étrangère  dans la table agenda. Je n'en trouve en tout cas aucun en me connectant à la base de donnée depuis libreoffice base.

Cela ne peut-il pas posé problème notamment avec des requêtes avec la commande sql SELECT sur ces tables ?

Pourriez-vous m'expliquer ?

Merci d'avance

Salutations

mparchet
-------- Message original --------
Sujet: Requête sql de mon module non exécutées
Date : Sat, 07 Dec 2013 22:11:30 +0100
De : Michaël Parchet <address@hidden>
Pour : address@hidden


Bonjour,

J'essaie de développer un module dont le but est de créer un lien entre les commandes d'un client et l'agenda.

Voici ce que fait mon module :

  1. ajouter le champ de clef etrangere fk commande. Dans la table lx_commande )

  2. creer le lien entre commande et llx_actioncomm (event) de type 0,n

Malheureusement, rien ne s'est passé au moment où j'ai désactivé puis réactiver le module. Je me suis dit qu'il y avait deux possibilité.

  1. Les scipt sql contiennent des erreurs
  2. L’exécution des script sql  n'a tout simplement pas lieu. 

Dans la documentation, on semble supposer que chaque module gère ses tables or, dans mon cas il faudrait modifier une table existante ce qui pourrait ne pas être prévu

Qu'en est-il ?

Je vous laisse ci-joint mon prototype de module pour examen.

Merci pour votre aide.

Salutations

mparchet








_______________________________________________
Dolibarr-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev


reply via email to

[Prev in Thread] Current Thread [Next in Thread]