Closed eberna closed 3 weeks ago
Sembra che il numero di colonne prima dll'inzio dei movimenti non sia fisso, falliva perchè la linea 293 del file intesaSP.py
val = self.wb['Lista Operazione']['G20'].value # First operation
selezioni la valuta dalla prima cella che però nel mio caso è nella cella G22, modificando il file funziona :). In futuro proverò a modificare il codice e mandare una PR.
recent call l
Mi sembra strano, è possibile che abbiano aggiornato il formato della lista operazioni. Questi giorni ci butto un occhio
Ciao @Jacotsu, mi sono imbattuto nello stesso problema: la cella dove viene cercata la Valuta della prima operazione (nel codice G20), varia a seconda del numero di "Conti e Carte" presenti. A riga 7, nella Colonna C, sono elencati i conti e le carte che potrebbero anche essere più di 2: in questi casi la Valuta della prima operazione si trova alla cella GX (dove X è 18 + il numero di carte conti: @eberna immagino abbia 4 Conti e Carte).
Per trovare correttamente la cella della Valuta della prima operazione si potrebbe:
Dato che è un problema che altri potrebbero avere, si potrebbe ri-aprire l'issue. Così il primo che ha un attimo di tempo, può risolverlo. Che dite?
Ciao @Jacotsu, mi sono imbattuto nello stesso problema: la cella dove viene cercata la Valuta della prima operazione (nel codice G20), varia a seconda del numero di "Conti e Carte" presenti. A riga 7, nella Colonna C, sono elencati i conti e le carte che potrebbero anche essere più di 2: in questi casi la Valuta della prima operazione si trova alla cella GX (dove X è 18 + il numero di carte conti: @eberna immagino abbia 4 Conti e Carte).
Per trovare correttamente la cella della Valuta della prima operazione si potrebbe:
- calcolare il numero di Conti e Carte
- trovare in che RIGA si trova la CELLA della COLONNA A che ha come valore "Data". La riga successiva è la riga della prima operazione.
Dato che è un problema che altri potrebbero avere, si potrebbe ri-aprire l'issue. Così il primo che ha un attimo di tempo, può risolverlo. Che dite?
Ho riaperto l'issue, però non posso replicare il problema visto che ho solo 1 conto e 1 carta. In ogni caso se fate una pull request ve la mergio volentieri
Ciao @Jacotsu Per puro caso mi si è presentata la stessa problematica, e sono riuscito a risolverla rendendo l'identificazione delle celle dinamiche, ho appena committato la mia soluzione 751991d
Appena hai modo guardala e magari rilasciala. Ho anche aggiornato qualche categoria.
Il codice funziona, ma ho scritto la mia soluzione molto di fretta, in questo periodo sono impegnatissimo :see_no_evil:, se hai voglia/modo di ottimizzare il mio codice, fai pure. Non ho fatto un lavoro al mio massimo, ma dovevo andare di fretta
Credo si possa dire che abbiamo risolto 😊
Innanzitutto grazie mille per lo sviluppo del plugin! Sto cercando di convertire i dati per l'importazione in Gnucash ma purtroppo ricevo questo errore sul caricamento dei dati xls da parte di openpyxl: UserWarning: Print area cannot be set to Defined name: 'Lista Operazione'!$A:$H. Qui l'output con il flag di debug. Avete qualce consiglio? Grazie molte
lele@T14:~/Downloads$ ofxstatement -d convert -t IntesaSP lista_completa_11112023.xlsx Movimenti.ofx /home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/openpyxl/reader/workbook.py:118: UserWarning: Print area cannot be set to Defined name: 'Lista Operazione'!$A:$H. warn(f"Print area cannot be set to Defined name: {defn.value}.") DEBUG: {'bic': '0000000', 'plugin': 'IntesaSP'} DEBUG: Detected "Lista Operazione", using V2 excel parser Traceback (most recent call last): File "/home/lele/.local/bin/ofxstatement", line 8, in <module> sys.exit(run()) ^^^^^ File "/home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/ofxstatement/tool.py", line 221, in run return args.func(args) ^^^^^^^^^^^^^^^ File "/home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/ofxstatement/tool.py", line 186, in convert parser = p.get_parser(args.input) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/ofxstatement/plugins/intesaSP.py", line 210, in get_parser parser = IntesaSanPaoloXlsxParser(filename, self.settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/ofxstatement/plugins/intesaSP.py", line 238, in __init__ self._get_currency() File "/home/lele/.local/pipx/venvs/ofxstatement/lib/python3.11/site-packages/ofxstatement/plugins/intesaSP.py", line 292, in _get_currency return trans_map[val.lower()] ^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'lower'