facture et conversion pdf

Recoupe toutes les discussions à propos de Noalyss
Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

facture et conversion pdf

Message par amipc07 » sam. sept. 19, 2020 8:51 am

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

cedrick
Messages : 14
Enregistré le : ven. déc. 21, 2018 1:20 pm

Re: facture et conversion pdf

Message par cedrick » sam. sept. 19, 2020 9:02 am

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/

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
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

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » sam. sept. 19, 2020 11:15 am

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

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » sam. sept. 19, 2020 12:40 pm

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...

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » dim. sept. 20, 2020 8:17 am

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

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » dim. sept. 20, 2020 8:21 am

J'ajoute que l'export en pdf fonctionne bien par exemple pour le Grand Livre.

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » lun. sept. 21, 2020 6:39 am

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

Avatar du membre
dany2
Administrateur du site
Messages : 393
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par dany2 » jeu. sept. 24, 2020 1:37 pm

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

Code : Tout sélectionner

define ('OFFICE','HOME=/tmp unoconv ');
define ('GENERATE_PDF','YES');
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 ??

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

Avatar du membre
amipc07
Messages : 68
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par amipc07 » jeu. sept. 24, 2020 7:23 pm

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

Avatar du membre
dany2
Administrateur du site
Messages : 393
Enregistré le : mar. nov. 14, 2017 10:35 pm

Re: facture et conversion pdf

Message par dany2 » ven. sept. 25, 2020 10:06 am

Salut,

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) 
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

Répondre