Je vais essayer d'être plus clair : mon modèle est un modèle se saisie de factures. L'utilisateur saisit dans la table journaux les données générales de la facture puis dans la TE (table journaux_op) les opérations (les postes) de cette facture.
En comptabilité, les postes de la facture sont classés par compte : ex 604 pour achat de marchandise et 451 pour la TVA. Tant que je ne valide pas les rubriques encodées on peut facilement annuler l'encodage en cours sans que les données ne soient inscrites dans les tables. Pratique. J'ai une table Tiers dans laquelle on retrouve les sociétés émettrices de facture. Dans cette table il y a enregistré les comptes utilisés le plus fréquemment pour ces société. Du coup quand l'utilisateur choisi la société, les comptes s'inscrivent automatiquement dans la TE (un compte par ligne. Pour faire ça rien de plus simple :
Activer Tiers
Définir variable $compte = Tiers::compte
Activer Journaux
Définir rubrique Journaux_op::compte = $compte
S'il y a plusieurs comptes il suffit de boucler, puisqu'à chaque fois qu'une ligne est remplie, une nouvelle se crée automatiquement.
Et ça marche parfaitement : les lignes de la TE sont bien pré-remplies. Mais, si je filtre la TE, si dans les propriétés de la TE j'active le filtre et que je mets, par exemple journaux_op::montant ≠ 0, alors le remplissage automatique comme je l'ai décris au dessus ne fonctionne plus.
De même, tant que la TE n'est pas filtrée, on peut facilement faire le total des montants dans la TE en créant une rubrique statistique qui calcule la somme des rubriques montant. Cela même si les enregistrements n'ont toujours pas été validés : si je ferme le modèle sans valider les enregistrements ne seront pas écrits dans les tables. Mais si je filtre à nouveau la TE, la rubrique somme ne fonctionne plus correctement (parfois la somme est correcte mais ne se met pas à jour en cas de modification et parfois la rubrique reste désespérément vide). Il y même pire : tant que la TE n'est pas filtrée, cette rubrique somme peut être placée n'importe où dans le modèle, mais dès que la TE est filtrée, c'est fini : elle ne peut-être placée que dans la ligne de la TE sinon elle sera vide. J'avais fait un autre post sur la TE et l'affichage de la somme dans une TE, et @MagalieJ m'avait donné une solution que je qualifierais de bricolage mais qui a l'avantage de fonctionner.
Le lien entre les tables est bien de 1àN.
Manifestement comme je le disais dans l'autre post, le comportement de la TE est capricieux. Ou alors quelque chose m'échappe dans la TE et son utilisation. D'où ma question : y a-t-il un moyen de faire fonctionner une TE filtrée comme une TE non-filtrée ?