Vai al contenuto

Usi TablePro ogni giorno? La licenza dà funzioni a pagamento e finanzia il prossimo rilascio. Acquista licenzaAcquista licenza

Interroga un registro Beancount con SQL su Mac

Apri un file .beancount e interroga transazioni, registrazioni, saldi e metadati come tabelle SQL, oppure invia BQL a rledger. Il registro rimane un file di testo che modifichi nel tuo editor.

Funziona su MacIl driver viene scaricato la prima volta che scegli Beancount

Tabelle proiettate da un libro contabile Beancount nella barra laterale, e il risultato di una query BQL.

A colpo d’occhio

Linguaggio di query
SQL
Driver
Scaricato al primo utilizzo
Connetti tramite
Un file
iPhone e iPad
Non si apre

Apri un registro

TablePro esegue rledger o Python Beancount per leggere il registro. Se devi scegliere, installa rledger: ha la precedenza quando sono presenti entrambi, è l’unico a eseguire BQL ed è l’unico a riempire la tabella diagnostics con i risultati della validazione.

Scegli il file con Browse… nel modulo di connessione. Il percorso del registro definisce l’intera connessione, senza host, porta, password o database. Un file .beancount si apre anche dal Finder ed è possibile importare URL beancount:///path/to/main.beancount.

Un’app aperta dal Finder non eredita il PATH della shell. Se il backend funziona in Terminal ma non qui, indicane il percorso con launchctl setenv TABLEPRO_RUSTLEDGER_BINARY o TABLEPRO_BEANCOUNT_PYTHON e riavvia.

Il backend Python esegue i plugin inclusi in Beancount e ignora tutte le altre direttive plugin, che contengono codice di terze parti, finché non attivi Run Ledger Plugins per quella connessione. I plugin ignorati sono elencati in diagnostics.

Interroga il registro

Le tabelle coprono transazioni e registrazioni, conti, saldi e asserzioni sui saldi, prezzi e commodity, tutte le altre direttive, metadati, tag e link e i file sorgente. Le registrazioni si uniscono alle transazioni su transaction_id e i conti per nome.

Gli importi arrivano contabilizzati, con operazioni aritmetiche, costi e prezzi risolti e con i costi delle registrazioni e i prezzi inline in colonne dedicate. Transazioni, registrazioni e varie tabelle delle direttive contengono una source_location come main.beancount:42, così una riga rimanda alla sua riga nel file.

Aggiungi il prefisso BQL: a una query per inviarla a rledger anziché alle tabelle. Navigazione, conteggio delle righe e paginazione funzionano sui risultati BQL; i parametri SQL no.

Le direttive include vengono seguite, sia con percorsi letterali sia con glob, e tutti i file del registro e i documenti citati vengono monitorati. Salva una modifica nell’editor e la query successiva la legge senza riconnettersi. La connessione è sempre al livello Read-Only di Safe Mode, quindi INSERT, UPDATE, DELETE e le modifiche allo schema vengono rifiutati.

Sposta i dati

Esporta una tabella o il risultato di una query in CSV, JSON, SQL, XLSX, Markdown, HTML e XML. Gli altri file che TablePro apre come database includono SQLite, DuckDB e Parquet.

iPhone e iPad

L’app per iPhone e iPad non ha un driver Beancount. Le connessioni Beancount sincronizzate da un Mac compaiono nell’elenco, ma non si aprono.

Limiti

  • All’apertura, TablePro legge il registro in 23 tabelle SQL in sola lettura. Non viene scritto nulla nel registro.
  • Richiede rledger o Python beancount installato su questo Mac.

Domande su Beancount

Un registro con errori si apre comunque?

Tramite rledger, sì. Il registro viene proiettato in tabelle anche se la validazione fallisce e ogni problema è una riga in diagnostics con file, riga, gravità e messaggio.

Una connessione può aprire più registri?

Una connessione corrisponde a un file di registro, senza possibilità di passare a un altro. Un file principale che include gli altri li carica tutti, anche tramite glob.

Scarica TablePro

L’app per Mac si scarica e si usa gratuitamente. Un piano Starter o Team aggiunge funzioni opzionali.
Scarica per Mac

Richiede macOS 13 Ventura o successivo