Impression des factures
Re:Impression des factures
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
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
Re:Impression des factures
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.
as-tu unzip dans ton path ??
.D.
Re:Impression des factures
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
[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
Re:Impression des factures
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
Re:Impression des factures
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 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
Re:Impression des factures
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
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
Re:Impression des factures
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
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