Impression des factures

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

Impression des factures

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


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

Re:Impression des factures

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


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

Re:Impression des factures

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


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

Re:Impression des factures

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

J\'ai supprimé mes posts précédents, car j\'ai eu des soucis de copié collé : ce sont les commentaires PHP qui pourrissaient le post. Je recommence donc tout le post.

Bonjour,

Je teste l\'impression d\'une facture. Je prends le modèle fourni : modele-facture.ods Je l\'installe. Pas de souci pour le retrouver (show_document_modele.php). Par contre, ça se gâte quand je veux l\'utiliser : quand j\'enregistre une facture et que je demande à utiliser ce modèle de facture, je plante sur cette erreur :

ne peut pas importer [/tmp/doc_ysRkqz/modele-facture.ods]update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where jr_internal=$4Array ( [0] => [1] =>
modele-facture.ods [2] => application/vnd.oasis.opendocument.spreadsheet [3] => VEN-01-7 ) SQL ERROR update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where
jr_internal=$4 ArrayErreur dans l\'enregistrement /var/www/private/phpcompta-5.2-20101022/include/class_acc_ledger_sold.php:578 SQL ERROR update jrn set
jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where jr_internal=$4 Array


Voici le résultat de quelques investigations :
- l\'erreur est récupérée à la ligne 578 de
/var/www/private/phpcompta-5.2-20101022/include/class_acc_ledger_sold.php
mais a priori, elle semble générée à la ligne 1043 de
/var/www/private/phpcompta-5.2-20101022/include/class_document.php

- cette ligne 1043 est au milieu de la petite fonction MoveDocumentPj:
function MoveDocumentPj($p_internal)
{
$sql=\"update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where jr_internal=$4\";

$this->db->exec_sql($sql,array($this->d_lob,$this->d_filename,$this->d_mimetype,$p_internal));
// clean the table document
$sql=\'delete from document where d_id=\'.$this->d_id;
$this->db->exec_sql($sql);
}

Le message d\'erreur nous raconte que l\'array associé à la requête est:
Array ([0] =>
[1] => modele-facture.ods
[2] => application/vnd.oasis.opendocument.spreadsheet
[3] => VEN-01-7 )

Il semblerait donc que l\'élément 0 de la liste (qui est $this->d_lob) qui doit désigner l\'identifiant du document/pièce jointe soit manquant, du coup la requête SQL est invalide.

MoveDocumentPj semble être appelé à la ligne 478 de
class_acc_ledger_sold.php par l\'intermédiaire de la fonction
create_document (définie dans class_acc_ledger.php ligne 2064).

C\'est create_document qui crée l\'objet Document dont l\'attribut
d_lob semble manquant ($this->d_lob a l\'air vide dans l\'Array
affichée par le message d\'erreur)

La classe Document est définie dans class_document.php, et d_lob est déclaré par défaut comme ça:
var $d_lob;

C\'est la méthode Generate() qui renseigne ensuite d_lob à partir de la colonne md_lob de la table document_modele.

Pourtant cette colonne a l\'air bien renseignée correctement:
dossier26=# select * from document_modele;
md_id | md_name | md_lob | md_type | md_filename | md_mimetype | md_affect
-------+-------------+--------+---------+--------------------+------------------------------------------------+-----------
1 | FactureTest | 37746 | 4 | modele-facture.ods | application/vnd.oasis.opendocument.spreadsheet | VEN

Là, je ne vois pas pourquoi d_lob n\'existe plus dans l\'array qui sert à la requête SQL qui plante.

Je pense continuer à creuser de ce côté (mais c\'est pas exclu non plus que ce soit une fausse piste)

Amitiés

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

Re:Impression des factures

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

Bonjour, pourrais-tu passer à la version 5.4 svp, il suffit de décompresser pour écraser puis de faire de faire pointer ton browser sur phpcompta/html/admin/setup.php.

as-tu unzip dans ton path ??

.D.

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

Re:Impression des factures

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

dany wrote:
[quote]Bonjour, pourrais-tu passer à la version 5.4 svp, il suffit de décompresser pour écraser puis de faire de faire pointer ton browser sur phpcompta/html/admin/setup.php.
[/quote]

Merci de ta réponse. je vais m\'y coller.

[quote]
as-tu unzip dans ton path ??
.D.[/quote]


Oui : /usr/bin/unzip
Tu penses qu\'il y a un rapport, concernant les fichiers compressés de OOo ?

Amicalement

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

Re:Impression des factures

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

Oui parce que on décompresse le fichier OOo puis on prend l\'XML et on change dedans, si la première étape ne fonctionne pas, il y a une série d\'erreur

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

Re:Impression des factures

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

Rebonjour Dany,

dany wrote:
[quote]Bonjour, pourrais-tu passer à la version 5.4 svp, il suffit de décompresser pour écraser puis de faire de faire pointer ton browser sur phpcompta/html/admin/setup.php.
......
.D.[/quote]

Ça y\'est : 5.4.3993 installée ;-)

Au final, au moment de générer la facture, je me retrouve avec l\'erreur suivante :
[quote]
ne peut pas importer [/tmp/doc_sQFr2H/modele-facture.ods]Erreur dans l\'enregistrement /var/www/private/phpcompta-5.4/include/class_acc_ledger_sold.php:578 SQL ERROR update jrn set jr_pj=$1,jr_pj_name=$2,jr_pj_type=$3 where jr_internal=$4 Array
[/quote]

Je te confirme que l\'utilisateur concerné (www-data) a bien /usr/bin/unzip dans son pass. Ceci étant, ça ne ressemble pas à une erreur de unzip :

La table document_modele est bien renseignée :
dossier26=# select * from document_modele;
md_id | md_name | md_lob | md_type | md_filename | md_mimetype | md_affect
-------+-------------+--------+---------+--------------------+-------------------------------------- ----------+-----------
1 | FactureTest | 37746 | 4 | modele-facture.ods | application/vnd.oasis.opendocument.spreadsheet | VEN

De Là, je ne vois pas pourquoi d_lob n\'existe plus dans l\'array qui sert à la requête SQL qui plante

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

Re:Impression des factures

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

ne peut pas importer [/tmp/doc_ysRkqz/modele-facture.ods]

cette erreur vient d\'ici http://www.phpcompta.be/doc/classDocume ... c9d6a4eebb

Donc normalement les logs d\'apache devront aider. Pour cela, mettre en mode debug voir wiki http://wiki.phpcompta.eu/doku.php?id=fa ... mode_debug

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

Re:Impression des factures

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

Bonjour Dany, bonjour le forum ;-)

dany wrote:
[quote]ne peut pas importer [/tmp/doc_ysRkqz/modele-facture.ods]

cette erreur vient d\'ici http://www.phpcompta.be/doc/classDocume ... c9d6a4eebb

Donc normalement les logs d\'apache devront aider. Pour cela, mettre en mode debug voir wiki http://wiki.phpcompta.eu/doku.php?id=fa ... mode_debug[/quote]


Bien vu ;-)
Le mode debug et les logs d\'Apache permettent de comprendre le souci.

Tu n\'étais pas loin, en évoquant le fait qu\'il fallait que \"unzip\" soit dans le PATH. En fait, il manquait \"zip\" dans le PATH.

Dans tous les cas, merci encore.

Je continue à m\'approprier PhpCompta.

Amitiés

Répondre