-
Ciao @giulio.villani,
come promesso, ti presento la mia app per l’acquisizione automatica di ordini tramite modelli preconfigurati.
L’idea di partenza per la challenge era creare un sistema che permettesse di registrare un Ordine Cliente partendo da un PDF, sfruttando un Web Viewer per visualizzare il documento convertito in immagine.
L’utente può così definire visivamente delle aree sulla pagina, indicando le coordinate (x1, y1, x2, y2) che racchiudono le informazioni da estrarre (es. numero ordine, data, importo, prodotti, ecc.).
Queste coordinate vengono salvate in un campo JSON (fig. 1).Per organizzare meglio i dati, ho aggiunto un pannello di selezione che permette di assegnare un nome o un tipo a ogni voce acquisita (fig. 2).
Una volta definite tutte le aree, il modello viene registrato in un archivio modelli tramite un pulsante dedicato (fig. 3).
D’ora in poi, per importare un ordine basta trascinare il PDF in un campo contenitore: l’app riconosce il modello associato e popola automaticamente i campi dell’ordine (fig. 4).
L’ordine viene poi aggiunto in un portale all’interno della scheda Cliente (fig. 5).
Struttura tecnica
- 6 tabelle (fig. 6) collegate come da schema (fig. 7)
- 4 layout principali:
- Cliente
- Ordini
- Archivio Modelli
- Crea Modello Ordine Cliente
- 13 script totali, di cui 4 principali:
- PDF to PNG – converte il PDF in immagine ad alta risoluzione
- ImpostaCoordinateXY – salva le coordinate selezionate
- Aggiungi Zona Al Modello – aggiunge una nuova area al modello corrente
- Parse Ordine da JSON – legge i dati dal JSON e popola l’ordine
- 1 funzione personalizzata:
- TestoInZonaXY ( json_text ; x1 ; y1 ; x2 ; y2 )
→ estrae dal JSON il testo presente in un’area specifica definita dalle coordinate
Esperienza con l’Intelligenza Artificiale
Questa è stata la mia prima esperienza nello sviluppo di un’app con il supporto dell’IA.
All’inizio ho commesso un errore: pensavo che bastasse dare all’IA un compito per ottenere direttamente la soluzione pronta e funzionante. Ho capito presto che questo approccio non è realistico, soprattutto per codice FileMaker, dove spesso l’IA propone soluzioni non del tutto corrette o obsolete.Ho invece ottenuto risultati migliori utilizzandola come un partner:
- le passavo il codice già scritto
- chiedevo suggerimenti per ottimizzarlo o migliorarlo
- verificavo insieme a lei le modifiche
Con questo metodo, ho trovato spunti concreti e indicazioni utili per migliorare il mio progetto.
Conclusioni
Questa sfida mi ha insegnato un nuovo approccio nella progettazione di soluzioni informatiche:
l’IA non sostituisce lo sviluppatore, ma può diventare un ottimo collaboratore se usata come supporto e non come “creatore unico” del codice.Spero che questa mia esperienza possa essere utile anche alla community.
Saluti,
Renato