-
-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fattura PA - vincolo data >= 1970-01-01 errore se nell'xml c'è il timezone --> pyxb 1.2.6 #879
Comments
@sherpya potresti descrivere i passi per riprodurre il problema in odoo? |
prendi una fattura xml, su DatiGeneraliDocumento metti come data 2019-01-11+01:00 from fatturapa_v_1_2 import CreateFromDocument
if __name__ == '__main__':
xmld = open('out.xml').read().decode('utf-8')
xml = CreateFromDocument(xmld) |
@sherpya grazie.
Cioè come? |
fattura_v_1_2.py DataFatturaType._InitializeFacetMap(DataFatturaType._CF_minInclusive) |
vorrei sapere in ogni caso da chi ha fatto lo standard che senso ha una data (senza ora) con il timezone |
@sherpya potresti proporre la PR? |
Sì, questo sarebbe da chiedere 😅 |
nella specifica della fattura PA il controllo c'è (anche se poco utile in effetti), al momento però non è di facile soluzione, bisognerebbe aprire un bug in pyxb, poi rigenerando il py rispunterebbe, secondo te è una buona idea? |
@sherpya io intendevo la modifica che hai fatto che ti permette di importare. Almeno da avere un workaround, eventualmente temporaneo. |
la modifica è disabilitare il controllo sulla data >= 1970-01-01, se vuoi ti faccio PR magari metto un FIXME dentro |
la modifica è disabilitare il controllo sulla data >= 1970-01-01, se vuoi
ti faccio PR magari metto un FIXME dentro
Sì grazie
|
stavo guardando questa libreria https://pypi.org/project/xmlschema/, sembra funzionare senza problemi, solo il validate ritorna errori strani quando non valida |
come non detto lxml è capace di farlo ed è già nelle dipendenze di odoo |
purtroppo il codice è troppo basato su pyxb non sembra facile sostituire il tutto, nel frattempo ho segnalato il problema a pyxb che pare sia in abbandono comunque ;( |
Ah leggo ora pabigot/pyxb#100 Allora a lungo termine vedo 2 strade:
|
lxml andrebbe bene ma va cambiata un po' di roba, per la creazione non so se con lxml si può fare, per il bug della data, la modifica aggiungedo la new è manutenibile |
La creazione dell'XML con In effetti probabilmente conviene liberarsi di pyxb... |
@OCA/local-italy-developers in descrizione il link alla PR per la 10. |
Un revisione per la 12 #1050 ? |
Sì. Faccio merge?
Certo. Il porting alle varie versioni lo tracciamo qui #1172 PS: hai già visto https://github.com/OCA/l10n-italy/wiki/Team-di-sviluppo ? |
Ho diffato è identica a parte la compatibiltà con py3, se travis è felice io direi di procedere
Avevo visto quei quadratini in effetti ma non sapevo dove stava la documentazione :) |
Attenzione che ci sarà da modificare anche il |
There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. |
Secondo specifica la data deve essere nel formato 8601:2004, il vincolo inserito da fatturapa_v_1_2 produce una data senza timezone, se nell'xml della fattura la data è espressa con timezone (valida secondo specifica) python fallisce nel confronto delle due date (ho commentato il try per beccare l'errore effettivo):
purtroppo se in fatturapa_v_1_2 si inserisce la data con il timezone (es. 1970-01-01Z) si verifica il problema nel caso che nella fattura ci sia una data senza timezone
Ho provato a mettere le mani nel pyxb ma la cosa non sembra di facile soluzione, nel frattempo ho disabilitato il controllo sulla data minima, tra l'altra un 1970-01-01 inclusivo è un controllo poco furbo, perché se ho fatto un errore è molto probabile che mi ritrovi proprio quella data essendo ts = 0
fixes
The text was updated successfully, but these errors were encountered: