Icefact V1.8.5 (linux) - fisierul PDF printat nu este inchis cu fclose()

Started by sepromsrl, Jun 12, 2024, 12:29 PM

Previous topic - Next topic

sepromsrl

[ Identificat problema: restrictie din emulatia Linux componenta a FreeBSD Unix ]
[ Icefact functioneaza corect ]

Buna ziua,

Dau sa printez factura in PDF, o scrie, o deschide, totul e frumos, inchid fereastra cu PDF.

Incerc sa mut sau sa redenumesc fisierul, sistemul raporteaza ca eroare/acces interzis. Eroarea se mentine cat timp icefact este deschis si ruleaza. Cum il inchid pe icefact, cum se pot efectua operatii asupra fisierului PDF: redenumire, mutare, editare sa pun alt antet apoi salvare.

Am printat doua facturi aleatoare fiecare in PDF al ei.  Ambele PDF raman deschise pana la inchiderea icefact - la fel nu se pot redenumi/muta/edita pana cand nu se inchide icefact.
Libreoffice inchide fisierul PDF exportat/printat, nu creaza probleme.

Aceeasi problema la descarcarea e-facturii semnata de ANAF.

Banuiesc cumva ca o instructiune flcose() este prezenta dar nu ajunge niciodata sa fie executata, iar la iesirea din icefact este apelata preventiv functia fcloseall() si le inchide pe toate. Nu am incercat sa export toate facturile (pdf, zip) intr-o singura sesiune pentru tot ce a fost  emis si tot ce a fost receptionat de la inceputul anului.

Va rog confirmati in limita timpului dvs.
Icefat v1.8.5 / linux x86-64.

Serghei

Nu prea are sens ce spuneți, în Linux se pot modifica fără problema fișierele care nu sunt închise (deși nu este cazul cu IceFact). Poate fișierul este blocat de viewer-ul PDF în mod exclusive? Comanda lsof aplicată pe fișierul respectiv ce zice? Care este eroarea exactă?

sepromsrl

Eroarea este "rm: Operation not permitted"

Am studiat mai cu atentie problema si ce mi-ati spus are sens. Dupa ce am printat una...doua facturi in PDF, cu icefact lasat pornit - fara a fi restartat - se intampla urmatoarele fenomene:

- din linia de comanda FreeBSD nu pot sterge fisierul PDF cat timp Icefact e pornit. lsof raporteaza ca fisierul nu e deschis de nici un proces;

- din linia de comanda a emulatiei Linux (chroot -u root /compat/ubuntu /bin/bash) - cu icefact pornit - lsof raporteaza ca fisierul PDF este liber (nu e deschis) si il pot sterge fara nici o problema.

Emulatorul Linux mentine restrictiile pana cand Icefact isi incheie activitatea cu fisierele apoi FreeBSD poate prelua controlul asupra lor.

In concluzie icefact functioneaza corect.