Bug devis multipage et description longue

Répondre
AleXtrap
Messages : 62
Enregistré le : mer. juil. 26, 2017 6:52 pm
Contact :

mar. févr. 28, 2023 8:29 pm

Bonjour,

Toujours dans ma lancée, je remonte ce qui pour moi est un bug, à minima une vrai difficulté à surmonter vu la nécessité d'utiliser régulièrement des descriptions longues

Le remplissage du corps du devis pose un problème avec mes articles aux descriptions sur plusieurs lignes :
Lorsque le nombre de produit ne dépasse pas le nombre de ligne du tableau, le remplissage se fait sur une seule page en chevauchant le pied de page.

Après de nombreux tests, j'en déduit que OC compte 1 ligne par produit et éventuellement une seconde pour la description lorsqu'elle est assignée à la ligne 2 (c'est mon cas).

En somme, mon tableau s'étend comme suit :

Code : Tout sélectionner

<table endPageLine="74" firstLine="23" endLine="54" lastColumn="BG" base="Societe" table="DEVIS_ELEMENT"
blankLineBeforeStyle="Titre 1" pageRef="J13">
ce qui est conforme à mon fichier ODS et ODSP

Seulement l'affichage ne se fait sur deux pages QUE si je descend endLine à 41 en comptant que j'ai 10 produits sur mon devis et qu'aucun style n'est appliqué.
A partir de 42 c'est du gloubiboulga

A noter également que la description du dernier produit de la liste se retrouve coupée et chevauche l'en-tête de la deuxième page.

Existe-t-il déjà une solution à ce problème ?
Merci par avance.


Question subsidiaire, y a-t-il un moyen de compter le nombre de ligne (articles) du devis ?
Je ne parle pas d'addition des quantités qui peuvent avoir des unités différente, juste le nombre de ligne de produit.
Fichiers joints
Devis_DEV002 endLine54.pdf
(63.36 Kio) Téléchargé 224 fois
Devis_DEV002 endLine41.pdf
(121.5 Kio) Téléchargé 225 fois
Alexis, artiste et homme à tout faire ^^
Cirque RUBIS
Elminster
Messages : 78
Enregistré le : lun. mars 27, 2017 12:51 pm

mar. févr. 28, 2023 10:28 pm

Bonjour,
concernant ton probleme de document... et si j'ai bien compris ton probleme, je pense que tu as deux soucis en fait :

le premier vient, à mon avis, du fait que dans ta ref : <table endPageLine="74" firstLine="23" endLine="54" lastColumn="BG" base="Societe" table="DEVIS_ELEMENT"... ta 54ème ligne devrait correspondre à la dernière ligne sur laquelle tu veux écrire dans ton tableau des articles... (il ne se base pas sur la quantité de ligne de description... mais sur le nombre total de ligne à écrire au final (2 , 3 ou 10 lignes de descriptif ne lui pose pas de problèmes...il faut donc que tu indiques en endline (puisqu'il s'agit de la table des éléments du devis) la ligne de ton modèle qui correspond à la dernière ligne de ce tableau (perso, j'indique l'avant dernière ce qui a pour effet d'aérer un peu et de laisser un petit espace en mon texte et la fin de mon tableau...) ou alors c'est que tu as un probleme de définition dans la ligne qui correspond au descriptif supplémentaire...

question complémentaire : tu as combien de colonne puisque tu va jusqu'à BG... là où mes modèles s’arrêtent à M... cela me parait faire beaucoup de colonne tout ça (mais peut être est-ce ton modèle qui est conçu ainsi...).

Le second probleme sur ton second fichier vient à mon avis de la définition de fin de page qui se trouve dans le fichier xml ( <table endPageLine="74" firstLine="23" endLine="54" lastColumn="BG" base="Societe" table="DEVIS_ELEMENT"...) et la définition <sheet number="0">XX</sheet> qui devrait se trouver dans le fichier odsp (et qui porte le même nom que ton fichier devis)... si elles n'indiquent pas le même nombre de lignes en endpage et sheet number, tu aura un probleme d’écriture de données qui seront décalées sur l’entête de la seconde page...
Tu peux egalement vérifier dans le modèle de ton document (le fichier ODS) si la zone d'impression ne serait pas erronée (elle devrait aller de $A$1 à $BG$74 au vu de ce que tu indiques mais peut-être est-ce trop pour une page A4... ??? A verifier...

Maintenant, pour être sur il faudrait voir les 3 fichiers de modèles (si tu veux me les envoyer pour que j'y jette un coups d’œil, pas de soucis...)

concernant ta demande d'affichage de numéro de ligne, te voici le code à faire apparaitre dans une première colonne qui devrait (je pense) répondre à ta question... <element location="B" type="LineReference"/>

Bonne soirée
Avatar du membre
guillaume
Messages : 2429
Enregistré le : ven. févr. 11, 2011 7:15 pm

mer. mars 01, 2023 11:05 am

Bonjour,

Le fichier "endline41" est correctement configuré, vous avez juste la malchance de tomber dans le cas où :

OpenConcerto n'a pas la place de tout mettre dans 1 page
et que quand il passe sur 2 page... dans ce cas précis, il n'y a rien à mettre dans le tableau de 2eme page
car tout peu entrer dans le tableau de la 1ere page (qui a maintenant plus de place libre)...

Bref... l'astuce est d’aérer un peu votre devis dans ce cas (rare) en ajoutant quelques lignes vides
pour qu'il y ait quelque chose sur la page 2.

Cordialement,
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
AleXtrap
Messages : 62
Enregistré le : mer. juil. 26, 2017 6:52 pm
Contact :

mer. mars 01, 2023 5:02 pm

guillaume a écrit :
mer. mars 01, 2023 11:05 am

Bref... l'astuce est d’aérer un peu votre devis dans ce cas (rare) en ajoutant quelques lignes vides
pour qu'il y ait quelque chose sur la page 2.

Cordialement,
Je garde ça en tête pour les éventualités à venir.

merci de cette réponse.
Alexis, artiste et homme à tout faire ^^
Cirque RUBIS
AleXtrap
Messages : 62
Enregistré le : mer. juil. 26, 2017 6:52 pm
Contact :

mer. mars 01, 2023 5:15 pm

Bonsoir Elminster,
Elminster a écrit :
mar. févr. 28, 2023 10:28 pm
le premier vient, à mon avis, du fait que dans ta ref : <table endPageLine="74" firstLine="23" endLine="54" lastColumn="BG" base="Societe" table="DEVIS_ELEMENT"... ta 54ème ligne devrait correspondre à la dernière ligne sur laquelle tu veux écrire dans ton tableau des articles... (il ne se base pas sur la quantité de ligne de description...
Mon tableau se finit en ligne 54, je garde également une marge de proprété.
question complémentaire : tu as combien de colonne puisque tu va jusqu'à BG... là où mes modèles s’arrêtent à M... cela me parait faire beaucoup de colonne tout ça (mais peut être est-ce ton modèle qui est conçu ainsi...).
J'ai normalisé la taille de mes cellules à 0,40*0,45 cm pour des soucis pratiques de modèle de base que je transforme en multiples documents commerciaux.
Peut être peu orthodoxe, cette méthode me permet de jouer sur ma mise en page facilement sans revoir l'ensemble du document et de les faire correspondre entre eux.
Le second probleme sur ton second fichier vient à mon avis de la définition de fin de page qui se trouve dans le fichier xml ( <table endPageLine="74" firstLine="23" endLine="54" lastColumn="BG" base="Societe" table="DEVIS_ELEMENT"...) et la définition <sheet number="0">XX</sheet> qui devrait se trouver dans le fichier odsp (et qui porte le même nom que ton fichier devis)... si elles n'indiquent pas le même nombre de lignes en endpage et sheet number, tu aura un probleme d’écriture de données qui seront décalées sur l’entête de la seconde page...
Tu peux egalement vérifier dans le modèle de ton document (le fichier ODS) si la zone d'impression ne serait pas erronée (elle devrait aller de $A$1 à $BG$74 au vu de ce que tu indiques mais peut-être est-ce trop pour une page A4... ??? A verifier...
C'est bien ce que j'ai dans mes fichiers, c'est pour ça que j'ai précisé que mes ODS et ODSP étaient bien configurés.
Maintenant, pour être sur il faudrait voir les 3 fichiers de modèles (si tu veux me les envoyer pour que j'y jette un coups d’œil, pas de soucis...)
Je joins l'ODS à ce message, l'ODSP est le suivant :

Code : Tout sélectionner

<odsp>

<spliteveryrow>
	
	<sheet  number="0">74</sheet>

</spliteveryrow>

<offset x="0" y ="20"/>
<resize percent="100"/>

</odsp>
concernant ta demande d'affichage de numéro de ligne, te voici le code à faire apparaitre dans une première colonne qui devrait (je pense) répondre à ta question... <element location="B" type="LineReference"/>

Bonne soirée
merci pour cette info, ce n'est pas tout à fait ma recherche, mais ça fera l'affaire tout aussi bien. (je cherche à afficher dans une case le nombre de produits, ou au moins à pouvoir appeler cette donnée).


Merci pour le temps pasé.
Fichiers joints
local_Devis Base A4.ods
(52.07 Kio) Téléchargé 221 fois
Alexis, artiste et homme à tout faire ^^
Cirque RUBIS
Répondre