Page 1 sur 1

amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Bertrand
Bonjour,

Je vous poste une petite amélioration de class_acc_bilan.php.

Il s\'agit de gérer le format des cellules dont le contenu est remplacé par les valeurs des formules.
Actuellement, ces cellules sont au format string.
Dans le cas ou la valeur est numérique, cela empêche d\'appliquer les formats numériques et donc d\'unifier la mise en forme. Cela empêche de plus d\'avoir des formules de calcul dans le fichier ods générés (pour déléguer à OpenOffice certains calculs)

Le patch est dans la fonction generate_odt() en fin de fonction, entre la gestion de la suppression du signe \'-\' pour les valeurs à zéro et le $line_rtf=str_replace($f2_str,$a,$line_rtf); qui remplace la variable par sa valeur dans le fichier ods;

le voilà.

if ( $a==\'-0\' ) $a=0;
/**********************************************************************************************
* Patch
* correction du format de cellule pour
* 1) avoir un format cohérent pour les nombres (nbre de décimales, séparateur de milliers...)
* 2) permettre d\'avoir des formules dans le tableur
* */
if ( is_numeric($a) ) {
$searched=\'office:value-type=\"string\">\'.$f2_str;
$replaced=\'office:value-type=\"float\" office:value=\"\'.$a.\'\">\'.$f2_str;
$line_rtf=str_replace($searched, $replaced, $line_rtf);
$a=number_format($a, 2, \',\' ,\' \');
}
/* fin du patch */

echo_debug(__FILE__.\':\'.__LINE__.\'- $a =\',$a);

$line_rtf=str_replace($f2_str,$a,$line_rtf);

}// foreach end
} // while ereg
$r.=$line_rtf;

}// odt file is read
return $r;

}

Le patch peut sans doute être optimisé en déportant la création des parties constantes des chaines de recherche et de remplacement en dehors de la boucle de la fonction. Il est de même sans doute plus efficace de réaliser l\'opération dans le même remplacement que celui de $sf2_str par sa valeur.


Cordialement
Bertrand

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Dany
Merci je ne comprends pas bien à quoi sert le patch, ce serait p-e plus simple si je pouvais avoir un diff entre le fichier original et le fichier corrigé.

Bien à vous

D.

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Bertrand
En deux mots, le patch sert à changer le typage de cellule dans OOo :
comme la variable () est un texte, OOo type la cellule comme étant du texte. La substitution textuelle du nom de variable par sa valeur ne change pas le typage de la cellule.
Du coup, il est impossible d\'appliquer une formule de calcul sur le contenu des cellules substituée. Ce qui est pourtant un moyen simple de compléter les annexes au bilan (par exemple) sans surcharger le fichier form.

J\'ai inclu un formattage du nombre (format_number), mais en fait je ne suis pas sur qu\'il soit indispensable. Le formattage de cellule peut sans doute se faire directement dans OOo.

J\'essaye de vous envoyer un diff ce soir.

Cordialement

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Bertrand
Bonjour,

ci joint le patch entre les deux versions.
[file name=patch_class_acc_bilan.txt size=707]http://www.phpcompta.be/images/fbfiles/ ... _bilan.txt[/file]

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Dany
je viens de remarquer que je ne l\'ai pas écrit sur ce site-ci mais l\'info existe sur l\'ancien site (www.phpcompta.org)

En fait, si dans OOo dans une cellule on tape = par exemple, OOo va indiquer une erreur mais à la génération cette cellule sera considérée comme un montant et donc tout le formatage OOo pour ce type de données fonctionnera.

Tu pourras le vérifier avec ceci http://www.phpcompta.be/download/contri ... e-calc.ods

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Skipper
Personellement, je préfère la solution de Bertrand. Ceci permet de voir dans le fichier le code du champs, et non seulement \"Error\". M^eme si le résultat est le m^eme, la facilité et la s^ureté d\'y arriver compte aussi.

Elle n\'est compte pas beaucoup, voire rien, mais ma voix pour l\'inclusion du patch de Bertrand dans la version officielle.

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Dany
Je fais les tests (intensifs) et relecture ce soir, ce sera dans la version de lundi ;-)

@+,

.D.

Re:amélioration de formattage des bilans sous OOo

Posté : mar. nov. 14, 2017 10:35 pm
par Dany
voilà c\'est intégré dans la version 2515

Merci pour le patch