Bonjour,
Depuis que j’ai supprimé une note de frais, je ne peux plus en créer une autre.
J’obtiens ce message : Duplicate entry ‹ expensereport/ER2009-0015-ER2009-0015.pdf-1 › for key 'uk_ecm_files
C’est la note de frais N° ER2009-0015 que j’ai supprimé. Elle avait été validée, puis payée. J’ai supprimé le paiement dans les écritures, puis la note de frais.
Je ne sais pas quoi faire et je ne sais pas s’il existe des sauvegardes automatiques à une date ultérieure que je pourrais restaurer.
Il y a déjà eu une demande sur ce sujet dans le forum, mais elle n’apporte pas de réponse. Une personne parle de: " il reste à jeter un oeil dans llx_ecm_files , mais je ne comprends pas ce que cela veut dire.
Cordialement.
pm17
Septembre 8, 2020, 6:05
2
Correspondances:
Il y a déjà eu une demande sur ce sujet dans le forum, mais elle n’apporte pas de réponse. Une personne parle de: " il reste à jeter un oeil dans llx_ecm_files , mais je ne comprends pas ce que cela veut dire.
Cordialement.
Slt
Ca veut dire qu elle regarde directement ds la base de donnes pour supprimer
des restes de l entree enregistree
Local ou hebergéé votre install de doli ?
Bonjour pm17
Merci de bien vouloir m’aider.
L’installation de Dolibarr est sur un serveur. Je peux avoir accès à la base de données. Il y a même une sauvegarde d’avant l’erreur.
Est-ce dire que si je restaure la base sur une sauvegarde d’avant l’erreur cela arrangera le problème ?
pm17
Septembre 8, 2020, 6:19
4
Oui ds le sens ou ca restaurera la note supprimée
Oui antérieure, c’est ce que je voulais dire.
Merci pour le conseil, je vais donc restaurer la base.
Bonjour @Correspondances ,
Si vous n’avez pas encore fait la restauration, vérifiez que les documents liés à la note de frais aient bien été supprimés avec elle dans la GED.
Ca ressemble à ce problème :
Bonjour,
Je pense qu’il pourrait y avoir un bug concernant les factures clients (et un bug « caché » pour celles des fournisseurs…).
En résumé, quand je supprime une facture (client ou fournisseur) qui possède des fichiers joints, ces fichiers sont bien supprimés du disque dur (ainsi que le dossier du disque dur concernant la facture), mais pas de la base de données (table ‹ llx_ecm_files ›).
Voici une description un peu plus détaillée du problème pour une facture client qui affiche une erreu…
pour lequel une issue est ouverte :
opened 01:26PM - 13 Aug 20 UTC
closed 02:43AM - 12 Sep 20 UTC
Bug
# Bug
I think would have a bug for invoices (error message appears for customer… but not for vendor).
When I delete an invoice which have some linked files, this files are deleted from HDD but not deleted in database (table 'llx_ecm_files').
## Environment
- **Version**: [*12.0.1 (from 11.0.3)*]
- **OS**: [*Local hosting on Windows 10 version 2004 (10.0.19041.388)*]
- **Web server**: [*Apache 2.4.43 (Win64)*]
- **PHP**: [*PHP 7.4.8*]
- **Database**: [*MariaDB 10.5.4*]
- **URL(s)**: [*https://localhost/dolibarr/compta/facture/card.php*]
- No external module
- Tested on Firefox and Chrome
- Problem replicate on Dolbarr demo website (12.0.0)
## Steps to reproduce the behavior
1. Make a customer draft invoice
2. Add a linked file (here 'Liste client - 2020-07-26.xlsx')
3. Add a line in card
4. Validate invoice (here ref 'FA2008-0001')
5. Delete invoice
6. Make a customer draft invoice
7. Add the same linked file as in step 2
8. Add a line in card
9. Validate invoice
--> If the generated invoice ref is the same as in step 4 (no other customer invoice between time), the validating is canceled by this message error : "Duplicate entry 'facture/FA2008-0001-FA2008-0001-Liste client - 2020-07-26.xlsx-1' for key 'uk_ecm_files'"
## Expected and actual behavior
I think than the problem is in step 5, the invoice deleting delete the files in HDD, but in database, just the line of generated PDF file of customer invoice is deleted, but not the line of linked file (same problem with many linked files).
So with the customer invoice validating at the step 9, when the files must be renamed (PROV... to FA2008-0001...), an error appears because the linked file for this customer invoice ref already exist in database, because the 'uk_ecm_files' index wich contains columns 'filepath', 'filename' and 'entity' of 'llx_ecm_files' table must be unique.
Note 1 : I tried with different files and I have the same problem.
Note 2 : When I delete by hand the linked file one by one with the trash icon (in tab Card or in tab Linked file), this is OK, the file is deleted in HDD and in database
Note 3 : For a vendor invoice, there isn't have error message, the validating of invoice in step 9 is OK, but it's because the file path format is different between a customer invoice and a vendor invoice ("facture/FA2008-0001" for customer, "fournisseur/facture/1/0/SI2008-0001" for first invoice vendor, and "fournisseur/facture/2/0/SI2008-0001" for the second).
I looked the Dolibarr php files and I found this :
File 'core\lib\files.lib.php', line 1233, function 'delete' called in file 'ecm\class\ecmfiles.class.php' : `$result = $ecmfile->delete($user);`
--> bug in 'foreach' loop, or in 'if' ? so the function 'delete' for SQL request DELETE of linked files isn't called ?
Here the part of log for the 'delete' action of customer invoice (step 5). We can see than the SQL request DELETE in table 'llx_ecm_files' is only for one line, that of PDF file generated for the customer invoice), but the linked file is deleted in HDD :
https://textup.fr/475576zp
Sorry for my bad english.
Kevin
## Attached files
Error message (step 9) :
![Dolibarr message bug facture](https://user-images.githubusercontent.com/69631660/90139393-9858ec80-dd78-11ea-875a-1ac9b00395da.jpg)
Bonjour RomainDeschamps
Excellente réponse; c’était bien le problème des fichiers joints.
J’ai recrée une note de frais avec les mêmes fichiers joints, puis je les ai effacés. J’ai pu valider la note de frais.
Merci.
1 « J'aime »