Module object avec lignes

Bonjour,
Je développe mon premier module en utilisant modulebuilder sur Dolibarr 14.

J’ai un de mes objets qui a des lignes et je ne trouve pas comment générer automatiquement le SQL de la table monobjectlines.

J’ai dû louper quelquechose dans le wiki mais je ne comprends pas du tout où le faire. Dois-je obligatoirement le faire à la main ?

Merci

@mehdib92 il n’y a rien à faire de particulier, c’est la fonction fetch qui arrive de CommonObject qui s’occupe de faire le boulot :slight_smile:

Bonjour @erics,

Concernant l’insertion, l’update et la suppression, j’ai vu que la classe CommonObject s’occupait de tout. Mais s’il veut insérer dans une table qui n’existe pas ?
Mon « souci » c’est plutôt lorsque je créé mon module. Dans ModuleBuilder, chaque fois que l’on créé un objet, le fichier SQL est généré pour la table et la table extrafields. Mais quid de la table lines ?

Bonjour
Idem de mon côté : j ai complété le php de la class de mon objet en finalisant les lignes de la class de l objet line ( dernières lignes du php )
Mais il n y a tjrs pas de construction des lignes et de la table correspondante.
Le fichier monobjet.list fonctionne mais monobjet.card ne permet pas de renseigner les lignes.
Le modulebuilder ne semble pas fonctionner
Je suis en V10.5
J ai regardé le builder sur github il ne me parait pas différent ???

1 « J'aime »

@Maurice63200 et @mehdib92 je pense que vous êtes passés à côté d’un truc …

lorsque vous activez le module, le SQL est absorbé et donc la table est créée … attention durant la partie dev lorsque vous modifiez la structure de votre table, le module doit être désactivé (puis manuellement vous devez supprimer vos tables) pour qu’ensuite lorsque vous réactivez le module les tables soit re-crées tout simplement

et le fichier _card.php insère une ligne dans votre table, le fichier _list.php affiche le contenu de la table …

Bonjour et merci
Comment créer 2 tables avec le module pour un seul objet ?
Pour être plus précis je cherche à créer une table de type mymodule et une autre mymoduledet où fk_mymodule est lié avec le rowid de mymodule .
Certaines lignes de mymodule.class qui sont certainement à dé-commenter semblent un debut de solution mais cela ne marche pas :slightly_frowning_face:

Mais faites deux objets tout simplement …

Il faut réfléchir MVC : une table = un objet et un objet = une table, ensuite pour récupérer une donnée fonction fetch* pour enregistrer une donnée fonction create pour mettre à jour une donnée fonction update

et tout est beaucoup plus clair ainsi

Par exemple un objet pluviometre et un objet pluviometreLigne

Dans pluviometre vous pourrez stocker les infos de votre pluviomètre et si vous en avez plusieurs ça fera plusieurs lignes dans la table pluviometres

Et dans pluviometreLigne vous aurez un fk_pluviometre qui contiendra la clé correspondant au pluviometre de la table pluviometre

Si vous voulez consulter la liste des pluviometres ça sera pluviometre_list.php, pour en créer/mettre à jour un ça sera pluviometre_card

pour voir la liste des relevés de pluviométrie ça sera pluviometreLigne_list etc.

Bjr
Et comment obtenir une page avec les caractéristiques d un pluviomètre particulier et en dessous les relevés de ce même pluviomètre et enfin la zone pour enregistrer d autres relevés .

Bonjour, à ma connaissance ce n’est pas faisable avec le générateur.