Numerare gli allegati di un deposito telematico su iOS
Vi ho già descritto agli albori del sito come ho automatizzato la numerazione degli allegati del pct in macOS usando Automator. Nella mia quest per fare tutto bello che faccio su macOS anche su iOS, ho creato il comando rapido che esamineremo in questo articolo.
1. Cosa fa questo comando rapido?
Prende i documenti che avete selezionato (vedremo poi come) e li rinomina uno ad uno anteponendo, al nome preesistente del documento la dicitura “doc” ed un numero progressivo (001, 002 e così via) per poi salvare i file in una cartella specificata dall’utente.
Questo comando rapido è pensato per essere usato sull’iPad mettendo in splitscreen l’app File ed l’app Comandi Rapidi, come si vede nell’immagine sottostante.
Fatto ciò con una mano selezionerete progressivamente i documenti che volete numerare, nell’ordine in cui volete vengano numerati, e quindi li lascerete sul tasto play del comando.
Il comando verrà eseguito e vi chiederà dove salvare i documenti numerati.
2. Come funziona questo comando rapido?
Anche se sembra relativamente complesso, questo comando rapido è piuttosto semplice. Di fatto è un grosso loop (ciclo) di comandi.
In pratica con l’azione “Conteggio” vengono individuati quanti documenti sono stati passati al comando rapito ed il numero complessivo viene salvato in una variabile (dal nome esplicativo: “Numero file”). A questo punto crea un’ulteriore variabile (denominata “Puntatore”) dal valore uno che servirà a contare i cicli eseguiti e numerare progressivamente i documenti. Fatto ciò si apre il loop utilizzando il comando “Ripeti”. Il numero delle ripetizioni utilizza il conteggio del numero complessivo di documenti inizialmente passati al comando rapido.
Il primo passaggio del loop è quello di recuperare i documenti originariamente passati utilizzando la MagicVariable dal nome “Input comando rapido”. A questo punto l’azione “Ottieni elemento dall’elenco” estrapola il documento corrispondente al ciclo del loop (ovvero alla variabile “Puntatore” che abbiamo originariamente impostato). Ad ogni loop verrà preso il primo documento poi il secondo è così via fino all’ultimo documento.
Recuperato il singolo documento con l’azione “Ottieni nome” verrà salvato in una variabile il nome del documento con la sua relativa estensione, la variabile è denominata in modo molto pragmatico “Nome”.
A questo punto parte una serie di azioni per creare la numerazione del documento ed apro una breve parentesi.
3. Numerazione allegati: test prima in inserire il comando
Mentre stavo facendo il debug del comando rapido mi sono accorto che non esiste una specifica azione per formattare come volevo io i numeri, ovvero anteponendo degli zero ai singoli numeri così da avere i documenti correttamente elencati uno dopo l’altro da 1 ad n documenti.
Dovendo creare io questa azione ho ritenuto fosse più semplice prima creare un comando rapido di test solo per questa specifica funzione per poi implementarlo nel più complesso comando rapido di numerazione dei documenti.
Qui di seguito vedete il comando rapido che ho creato. Sono una serie di condizioni “nidificate” una dentro l’altra. La prima valuta se il numero passato è minore di 100, se è così, verifica anche se il numero è inferiore a 10, nel caso di risposta affermativa a quest’ultima domanda antepone all’originario numero (di fatto compreso in un intervallo da 1 a 9) due volte 0, altrimenti ne antepone un solo 0.
Ovviamente il sistema funzione solo fino a 999 allegati, ma credo che sia sufficiente per la maggior parte dei depositi. 😜
4. Come si conclude il comando rapido?
Una volta quindi che abbiamo formattato correttamente il numero passato dal puntatore non ci serve altro che recuperare il documento passato al loop ed usare l’azione “Imposta nome” per rinominare il documento con lo schema: doc_[numero del documento] - [nome originale del documento].
Fatto ciò il documento rinominato viene aggiunto alla variabile “File rinominati”. L’azione “Aggiungi alla variabile” usata in questo caso è molto utile per due motivi:
- Anzitutto se non esiste la variabile, come nel nostro caso nell’ipotesi di prima iterazione del ciclo, crea la variabile;
- Secondariamente ad ogni interazione del ciclo carica un successivo documento rinominato, all’interno di questa variabile (come vi ho già detto altrove le variabili di Comandi Rapidi, rispetto alle variabili tipiche di un linguaggio di programmazione possono contenere più documenti / file).
Così facendo nel corso del loop la nostra variabile “File rinominati” si riempirà di tutti i documenti rinominati con il numero e poi la potremo usare, una volta ultimato il loop per salvare tutti i documenti in una cartella.
Il loop si conclude con una semplice serie di azioni: viene recuperata la variabile “Puntatore” ed incrementa di una unità, utilizzando l’azione “Calcola” che, nel nostro caso, aggiunge il numero 1 al numero originale e quindi re-impostando il contenuto del “Puntatore” con il risultato della somma.
Resta solo una cosa da fare! Quando il loop si è concluso, ovvero quando il loop è stato ripetuto per il numero di tutti i documenti passati al comando rapido, viene recuperata la variabile “File rinominati” e passata al comando “Salva file”.
Io ho impostato quale “Servizio” iCloud Drive. Così facendo infatti è possibile salvare i documenti numerati in una cartella non solo presente su iCloud Drive ma anche su un Document Provider ad esso collegato come, ad esempio, DEVONthink to Go.
Qui potete scaricare il comando rapido.
5. Video dimostrativo
Qui sotto potete vedere un breve video che mostra come funziona il comando rapido (appena l'ho ultimato!)
In conclusione
Sono sempre più stupefatto di come, con un minimo di impegno e applicazioni come Comandi Rapidi, sia possibile aggirare quelle che apparentemente sembrano enormi limitazioni di iOS.
Ad Aprile 2017, scrivendo l’articolo su come fare con Quadra un deposito telematico con l’iPad, affermavo che fare un deposito col tablet di Apple era un puro esercizio di stile; a poco più di un anno di distanza credo che la mia affermazione non sia più vera.
Oltre a numerare, infatti, i documenti su iPad è possibile creare atti Telematici avanzati con i relativi link ai documenti allegati.
Manca solo una cosa: un software per generare direttamente su iPad la busta telematica. Ed a ben vedere la cosa non sarebbe nemmeno così complessa! Infatti con la firma remota ed un app che generi il file xml e crei la busta cifrata sarebbe senz’altro possibile fare un deposito interamente da iPad.
Ci vuole solo uno sviluppatore … Se qualche brillante sviluppatore di iOS fosse interessato in una simile operazione, mi offro sin d’ora come beta tester.