facture et conversion pdf
facture et conversion pdf
Bonjour,
Dans le module facturation, il y a la possibilité d'envoyer les factures par mail. On peut les envoyer en pdf si case cochée.
Mon soucis c'est qu'apparemment il n'y a pas de conversion. J'ai activé les balises dans config.inc.php, installé unoconv. Rien y fait.
unoconv fonctionne ne ligne de commande. Dans le répertoire temporaire, il n'y a que le fichier ods. Le pdf n'est pas généré.
Voici les messages :
invoicing/index.php param : plugin_code=INVOICING
Warning: filesize(): stat failed for /tmp/invoiceI56EMy/facture-gaec-logo-tva-ven6.pdf in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 144
Warning: fopen(/tmp/invoiceI56EMy/facture-gaec-logo-tva-ven6.pdf): failed to open stream: Aucun fichier ou dossier de ce type in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 145
Warning: fread() expects parameter 1 to be resource, bool given in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 146
Warning: fclose() expects parameter 1 to be resource, bool given in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 147
Notice: Undefined variable: action in /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php on line 4
Notice: Trying to get property 'ag_id' of non-object in /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php on line 4
Warning: pg_query_params(): Query failed: ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null) in /var/www/html/noalyss/include/lib/database_core.class.php on line 175
insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5)Array ( [0] => [1] => 36821 [2] => 1 [3] => facture-gaec-logo-tva-ven6.ods [4] => application/vnd.oasis.opendocument.spreadsheet ) SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)#0 /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php(5): DatabaseCore->exec_sql('insert into doc...', Array) #1 /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail_route.inc.php(2): require('/var/www/html/n...') #2 /var/www/html/noalyss/include/ext/invoicing/include/invoicing.inc.php(2): require('/var/www/html/n...') #3 /var/www/html/noalyss/include/ext/invoicing/index.php(2): require_once('/var/www/html/n...') #4 /var/www/html/noalyss/include/extension_get.inc.php(42): require_once('/var/www/html/n...') #5 /var/www/html/noalyss/include/lib/ac_common.php(1142): require('/var/www/html/n...') #6 /var/www/html/noalyss/html/do.php(276): show_menu('958') #7 {main}ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
Envoi echoué send failed C-411001 Jean Dupond frederic-m.roux@laposte.net
echec chargement fichier facture-gaec-logo-tva-ven6.ods SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
merci
Dans le module facturation, il y a la possibilité d'envoyer les factures par mail. On peut les envoyer en pdf si case cochée.
Mon soucis c'est qu'apparemment il n'y a pas de conversion. J'ai activé les balises dans config.inc.php, installé unoconv. Rien y fait.
unoconv fonctionne ne ligne de commande. Dans le répertoire temporaire, il n'y a que le fichier ods. Le pdf n'est pas généré.
Voici les messages :
invoicing/index.php param : plugin_code=INVOICING
Warning: filesize(): stat failed for /tmp/invoiceI56EMy/facture-gaec-logo-tva-ven6.pdf in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 144
Warning: fopen(/tmp/invoiceI56EMy/facture-gaec-logo-tva-ven6.pdf): failed to open stream: Aucun fichier ou dossier de ce type in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 145
Warning: fread() expects parameter 1 to be resource, bool given in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 146
Warning: fclose() expects parameter 1 to be resource, bool given in /var/www/html/noalyss/include/lib/sendmail_core.class.php on line 147
Notice: Undefined variable: action in /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php on line 4
Notice: Trying to get property 'ag_id' of non-object in /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php on line 4
Warning: pg_query_params(): Query failed: ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null) in /var/www/html/noalyss/include/lib/database_core.class.php on line 175
insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5)Array ( [0] => [1] => 36821 [2] => 1 [3] => facture-gaec-logo-tva-ven6.ods [4] => application/vnd.oasis.opendocument.spreadsheet ) SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)#0 /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail.inc.php(5): DatabaseCore->exec_sql('insert into doc...', Array) #1 /var/www/html/noalyss/include/ext/invoicing/include/invoice_send_mail_route.inc.php(2): require('/var/www/html/n...') #2 /var/www/html/noalyss/include/ext/invoicing/include/invoicing.inc.php(2): require('/var/www/html/n...') #3 /var/www/html/noalyss/include/ext/invoicing/index.php(2): require_once('/var/www/html/n...') #4 /var/www/html/noalyss/include/extension_get.inc.php(42): require_once('/var/www/html/n...') #5 /var/www/html/noalyss/include/lib/ac_common.php(1142): require('/var/www/html/n...') #6 /var/www/html/noalyss/html/do.php(276): show_menu('958') #7 {main}ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
Envoi echoué send failed C-411001 Jean Dupond frederic-m.roux@laposte.net
echec chargement fichier facture-gaec-logo-tva-ven6.ods SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (59, null, 36821, 1, facture-gaec-logo-tva-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
merci
Re: facture et conversion pdf
salut,
J'ai eu le même soucis il y a quelques jours, en fait , chez moi c'était du à PrivateTmp :
A cause de cette variable dans systemd , le répertoire temporaire n'est pas celui qu'on voit et donc la conversion en PDF ne fonctionne pas.
si tu fais ls /tmp//invoiceI56EMy vois-tu le fichier ? Si non alors c'est le même problème que moi.
Plus d'info ici https://muras.eu/2017/12/06/apache-ubun ... rivatetmp/
Mettre PrivateTmp à false , puis systemctl daemon-reload et systemctl restart apache2
J'espère que cela fonctionnera pour toi aussi ,
Une belle journée
Cédric
J'ai eu le même soucis il y a quelques jours, en fait , chez moi c'était du à PrivateTmp :
A cause de cette variable dans systemd , le répertoire temporaire n'est pas celui qu'on voit et donc la conversion en PDF ne fonctionne pas.
si tu fais ls /tmp//invoiceI56EMy vois-tu le fichier ? Si non alors c'est le même problème que moi.
Plus d'info ici https://muras.eu/2017/12/06/apache-ubun ... rivatetmp/
Code : Tout sélectionner
$ cat /etc/systemd/system/multi-user.target.wants/apache2.service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=on-abort
J'espère que cela fonctionnera pour toi aussi ,
Une belle journée
Cédric
Re: facture et conversion pdf
Bonjour,
Merci pour ce retour.
Je vois le fichier ods mais le pdf n'est pas créé.
J'utilise lighttpd pas apache. Est-ce pour cela ? ...
Fred
Merci pour ce retour.
Je vois le fichier ods mais le pdf n'est pas créé.
J'utilise lighttpd pas apache. Est-ce pour cela ? ...
Fred
Re: facture et conversion pdf
Bon, je viens d'installer apache et fais la modif que tu as cité, mais toujours le même problème.
Le soucis est ailleurs.
Je précise ma config : php7.3, apache2.4, pg11.7 le tout sur un MXLinux 19.2
Je tente cela sur une debian 10.5
A suivre...
Le soucis est ailleurs.
Je précise ma config : php7.3, apache2.4, pg11.7 le tout sur un MXLinux 19.2
Je tente cela sur une debian 10.5
A suivre...
Re: facture et conversion pdf
Bonjour,
Une autre installation sous xubuntu et toujours le même problème.
J'ai tout vérifié avec le lien : https://wiki.noalyss.eu/doku.php?id=facturation
J'ai modifié ImageMagick, pdftk est dans /usr/bin, j'ai bien unoconv qui fonctionne en ligne de commande.
Mais j'ai toujours les même messages. Ce n'est pas un problème de droit puisque la facture en ods est bien créé dans /tmp/invoicexxxxx.
Il n'y a tout simplement pas de création du pdf.
Moi ce qui m'interpelle c'est cette ligne :
echec chargement fichier facture-ven6.ods SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (78, null, 36850, 1, facture-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
A quoi correspond cette colonne ag_id ? J'ai beau chercher dans les fichiers et la BDD, je n'arrive pas à comprendre le soucis.
J'ai la dernière version de Noalyss avec tous les plugins à jour.
Ceux qui utilisent le plugin facturation pourraient-ils me faire un retour sur leur config (version Noalyss, système...).
Juste pour voir.
Merci
Une autre installation sous xubuntu et toujours le même problème.
J'ai tout vérifié avec le lien : https://wiki.noalyss.eu/doku.php?id=facturation
J'ai modifié ImageMagick, pdftk est dans /usr/bin, j'ai bien unoconv qui fonctionne en ligne de commande.
Mais j'ai toujours les même messages. Ce n'est pas un problème de droit puisque la facture en ods est bien créé dans /tmp/invoicexxxxx.
Il n'y a tout simplement pas de création du pdf.
Moi ce qui m'interpelle c'est cette ligne :
echec chargement fichier facture-ven6.ods SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (78, null, 36850, 1, facture-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
A quoi correspond cette colonne ag_id ? J'ai beau chercher dans les fichiers et la BDD, je n'arrive pas à comprendre le soucis.
J'ai la dernière version de Noalyss avec tous les plugins à jour.
Ceux qui utilisent le plugin facturation pourraient-ils me faire un retour sur leur config (version Noalyss, système...).
Juste pour voir.
Merci
Re: facture et conversion pdf
J'ajoute que l'export en pdf fonctionne bien par exemple pour le Grand Livre.
Re: facture et conversion pdf
Bonjour,
J'ai résolu le problème.
En regardant les logs apache, il y avait deux erreurs qui m'ont interpellé : problème création dossier dans /var/www pour dconf et impossible de trouver sendmail
- En prenant une ancienne version de l'extension Facturation (7105), je n'ai plus l'erreur sur la colonne ag_id
- j'ai créé les dossiers /var/www/.cache et /var/www/.cache/dconf avec un chown www-data dessus
- j'ai installé dma (dragonfly mail agent), un utilitaire pour envoyer tous les mails vers un relay smtp (pour moi le domaine de mon adresse pro). Ne prend pas d'espace mémoire (pas de daemon)
Cela fonctionne mais j'ai des messages comme quoi le module Facturation n'est pas à jour.
J'attends le retour du développeur.
Tout cela sur une config : Noalyss 7410 du 2020-07-12, php7.3, apache2.4, pg11.7 le tout sur un MXLinux 19.2
Voilàvoilà
Frédéric
J'ai résolu le problème.
En regardant les logs apache, il y avait deux erreurs qui m'ont interpellé : problème création dossier dans /var/www pour dconf et impossible de trouver sendmail
- En prenant une ancienne version de l'extension Facturation (7105), je n'ai plus l'erreur sur la colonne ag_id
- j'ai créé les dossiers /var/www/.cache et /var/www/.cache/dconf avec un chown www-data dessus
- j'ai installé dma (dragonfly mail agent), un utilitaire pour envoyer tous les mails vers un relay smtp (pour moi le domaine de mon adresse pro). Ne prend pas d'espace mémoire (pas de daemon)
Cela fonctionne mais j'ai des messages comme quoi le module Facturation n'est pas à jour.
J'attends le retour du développeur.
Tout cela sur une config : Noalyss 7410 du 2020-07-12, php7.3, apache2.4, pg11.7 le tout sur un MXLinux 19.2
Voilàvoilà
Frédéric
Re: facture et conversion pdf
Bonjour,
il faut absolument unoconv, noalyss va prendre le fichier ODS, le confier à unoconv pour le convertir en PDF, et finalement utiliser ce PDF pour l'envoyer
il faut aussi un répertoire temporaire accessible à www-data ,
Dans le config.inc.php , j'ai
https://wiki.noalyss.eu/doku.php?id=facturation
il manque un trigger sur document, ag_id est la clef primaire, une séquence en ligne de commande ,dans psql , pourrais-tu comparer action_gestion avec ceci ??
Bonne journée
D
il faut absolument unoconv, noalyss va prendre le fichier ODS, le confier à unoconv pour le convertir en PDF, et finalement utiliser ce PDF pour l'envoyer
il faut aussi un répertoire temporaire accessible à www-data ,
Dans le config.inc.php , j'ai
Code : Tout sélectionner
define ('OFFICE','HOME=/tmp unoconv ');
define ('GENERATE_PDF','YES');
il manque un trigger sur document, ag_id est la clef primaire, une séquence en ligne de commande ,dans psql , pourrais-tu comparer action_gestion avec ceci ??
Code : Tout sélectionner
0dossier74=# \d+ action_gestion
Table "public.action_gestion"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
----------------+-----------------------------+-----------+----------+-----------------------------------------------+----------+--------------+--------------------------------------------------------
ag_id | integer | | not null | nextval('action_gestion_ag_id_seq'::regclass) | plain | |
ag_type | integer | | | | plain | | type of action: see document_type
f_id_dest | integer | | | | plain | | third party
ag_title | text | | | | extended | | title
ag_timestamp | timestamp without time zone | | | now() | plain | |
ag_ref | text | | | | extended | | its reference
ag_hour | text | | | | extended | |
ag_priority | integer | | | 2 | plain | | Low, medium, important
ag_dest | bigint | | not null | '-1'::integer | plain | | is the profile which has to take care of this action
ag_owner | text | | | | extended | | is the owner of this action
ag_contact | bigint | | | | plain | | contact of the third part
ag_state | integer | | | | plain | | state of the action same as document_state
ag_remind_date | date | | | | plain | |
Indexes:
"action_gestion_pkey" PRIMARY KEY, btree (ag_id)
"k_ag_ref" UNIQUE, btree (ag_ref)
Foreign-key constraints:
"fiche_f_id_fk3" FOREIGN KEY (f_id_dest) REFERENCES fiche(f_id)
"fk_action_gestion_document_type" FOREIGN KEY (ag_type) REFERENCES document_type(dt_id)
"profile_fkey" FOREIGN KEY (ag_dest) REFERENCES profile(p_id) ON UPDATE SET NULL ON DELETE SET NULL
Referenced by:
TABLE "action_gestion_operation" CONSTRAINT "action_comment_operation_ag_id_fkey" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_detail" CONSTRAINT "action_detail_ag_id_fkey" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_person" CONSTRAINT "action_gestion_ag_id_fk2" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id)
TABLE "action_gestion_comment" CONSTRAINT "action_gestion_comment_ag_id_fkey" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_gestion_related" CONSTRAINT "action_gestion_related_aga_greatest_fkey" FOREIGN KEY (aga_greatest) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_gestion_related" CONSTRAINT "action_gestion_related_aga_least_fkey" FOREIGN KEY (aga_least) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_person" CONSTRAINT "action_person_ag_id_fkey" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
TABLE "action_tags" CONSTRAINT "action_tags_ag_id_fkey" FOREIGN KEY (ag_id) REFERENCES action_gestion(ag_id) ON UPDATE CASCADE ON DELETE CASCADE
Triggers:
action_gestion_t_insert_update BEFORE INSERT OR UPDATE ON action_gestion FOR EACH ROW EXECUTE PROCEDURE comptaproc.action_gestion_ins_upd()
Bonne journée
D
Re: facture et conversion pdf
Bonjour Dany,
Unoconv est bien installé. J'ai mi la même ligne que sur https://wiki.noalyss.eu/doku.php?id=facturation : define ('OFFICE','unoconv ');
Je vais mettre la même ligne que toi.
Pour la colonne ag_id, j'ai exactement la même chose que toi.
Frédéric
Unoconv est bien installé. J'ai mi la même ligne que sur https://wiki.noalyss.eu/doku.php?id=facturation : define ('OFFICE','unoconv ');
Je vais mettre la même ligne que toi.
Pour la colonne ag_id, j'ai exactement la même chose que toi.
Frédéric
Re: facture et conversion pdf
Salut,
C'est quand même curieux
Le problème ne vient d'ag_id qui est null mais contient 78 , mais du LOB (le fichier) , les fichiers sont insérés dans la base de données, tu pourrais me dire sur quelle version tu as cela ? Je ne comprends pas du tout d'ou cela vient. Tu l'as téléchargé ou mis à jour par l'interface administration ?
Bonne journée
D
C'est quand même curieux
Code : Tout sélectionner
echec chargement fichier facture-ven6.ods SQL ERROR insert into document(ag_id,d_lob,d_number,d_filename,d_mimetype) values ($1,$2,$3,$4,$5) ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « ag_id » D?TAIL : La ligne en échec contient (78, null, 36850, 1, facture-ven6.ods, application/vnd.oasis.opendocument.spreadsheet, null)
Bonne journée
D