amélioration de formattage des bilans sous OOo

Recoupe toutes les discussions à propos de Noalyss
Répondre
Bertrand
Messages : 10
Enregistré le : mar. nov. 14, 2017 10:35 pm

amélioration de formattage des bilans sous OOo

Message par Bertrand » mar. nov. 14, 2017 10:35 pm

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

Dany
Messages : 2181
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Dany » mar. nov. 14, 2017 10:35 pm

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.

Bertrand
Messages : 10
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Bertrand » mar. nov. 14, 2017 10:35 pm

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

Bertrand
Messages : 10
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Bertrand » mar. nov. 14, 2017 10:35 pm

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]

Dany
Messages : 2181
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Dany » mar. nov. 14, 2017 10:35 pm

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

Skipper
Messages : 54
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Skipper » mar. nov. 14, 2017 10:35 pm

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.

Dany
Messages : 2181
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Dany » mar. nov. 14, 2017 10:35 pm

Je fais les tests (intensifs) et relecture ce soir, ce sera dans la version de lundi ;-)

@+,

.D.

Dany
Messages : 2181
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re:amélioration de formattage des bilans sous OOo

Message par Dany » mar. nov. 14, 2017 10:35 pm

voilà c\'est intégré dans la version 2515

Merci pour le patch

Répondre