Questo è il form di partenza del sistema informativo. Ha un menu specifico associato che rappresenta il menu generale del sistema informativo. 100% Generation: Truth or bullshit? By Salvatore Silvio Caggia La barra dei bottoni emula quella del menu default&smartbar, qui a dire il vero l’unica funzione necessaria ed utile è il bottone d’uscita… La finestra di benvenuto mostra l’utente che si è collegato e la data e ora del server, al solo fine di mostrare qualcosa… Il menu Anagrafiche mostra 3 voci Gestione (clienti, fornitori e soggetti) che attivano in definitiva lo stesso form ma le prime due passano dei parametri che ne cambieranno il funzionamento restringendone (ed agevolandone) l’uso solo per clienti o fornitori La porzione di titolo della finestra “: Clienti” ed i vincoli sul checkbox “Cliente?” sono conseguenza del parametro passato dall’esterno. Il pop-list item “Tipo” pilota l’attivazione/disattivazione delle relative tab canvas. Per il tipo Persona è attiva anche la tab Contatto. Il campo “Denominazione” contiene la ragione sociale per le Ditte e la concatenazione dei campi “Cognome” e “Nome” per le Persone. Attraverso il checkbox “Fornitore?” si potrebbe indicare che lo stesso cliente è anche un fornitore. Per le Ditte sono attivi i bottoni Contatti e Lavoratori per gestire le Persone collegate con questi ruoli alle Ditte Premendo il bottone Contatti viene richiamata una nuova istanza dello stesso form che come si vede dal titolo della finestra è vincolata (ed agevolata) a gestire solo soggetti di tipo Persona e che sono Contatti della Ditta indicata. I bottoni Contatti e Lavoratori sono ora disabilitati perché il soggetto non è una Ditta. In questo caso la tab page Contatto è automaticamente messa in primo piano mentre Persona è l’unica altra pagina disponibile. Il campo “Contatto di” è quindi automaticamente gestito e vincolato, tuttavia è possibile gestirlo manualmente, sia direttamente digitandone il codice, sia digitando una parte della descrizione, sia utilizzando la lista valori, ma solo quando non si accede al form tramite il bottone Contatti. Premendo il bottone Lavoratori viene richiamata una nuova istanza dello stesso form che come si vede dal titolo della finestra è vincolata (ed agevolata) a gestire solo soggetti di tipo Persona e che sono Lavoratori della Ditta indicata. I bottoni Contatti e Lavoratori sono disabilitati perché il soggetto non è una Ditta. In questo caso la tab page Contatto non è automaticamente messa in primo piano ed è l’unica altra pagina disponibile. In questo caso la Persona è stata anche indicata come Cliente Usato. La digitazione parziale e case-insensitive del Comune di nascita (o in alternativa dello Stato estero) porta al suo completamento automatico o alla presentazione di una lista valori ristretta dalla quale selezionare. I codici dei comuni Italiani e degli Stati esteri che compongono le foreign key sono totalmente nascosti e trasparenti all’utente, mentre possono essere usati per il controllo del Codice Fiscale. Le liste valori sui Comuni italiani e sugli Stati esteri sono lasciate disponibili ma richiedono obbligatoriamente la digitazione di un filtro per non appesantire inutilmente l’accesso al database e la rete. Il pop-list item Sesso è inseribile da tastiera digitando semplicemente la prima lettera o i tasti cursore e non richiedendo necessariamente l’uso del mouse. Questo vale in generale per tutti i campi. Per qualsiasi soggetto, cliccando sulla tab “Indirizzi” si possono registrare tutti gli indirizzi che questo possiede, indipendentemente dal loro uso (scopo aziendale) e validità temporale. Gli utenti operativi non hanno diritto di eseguire update ma solo inserire nuovi record ed eventualmente cancellare record non utilizzati. La digitazione del Cap popola automaticamente Località e Prov. (salvo nel caso di ambiguità per cui mostra una lista di Località). La digitazione della Località popola automaticamente Cap (se non già impostato) e Prov. Come sempre la digitazione può essere parziale e non case-sensitive. In basso i stessi campi sono gestibili in modalità mono-record così da avere un’idea dell’etichetta risultante. Qui i campi Cap, Località e Prov. sono totalmente liberi dai vincoli e dagli automatismi dei corrispondenti campi sopra, in questo modo si possono digitare indirizzi esteri o Località che non corrispondono ad un Comune italiano presente in tabella. Per qualsiasi soggetto, cliccando sulla tab “Usi Indirizzi” si possono registrare l’associazione dell'indirizzo e dell’eventuale contatto valida da un certo momento temporale per un certo scopo. L’inserimento di una nuova riga chiude automaticamente la riga concettualmente precedente aggiornando la sua data Al al giorno precedente rispetto alla nuova data Dal. La selezione dell’Indirizzo e del Contatto per la C.A. può essere diretta o tramite lista valori. Operatori di base non hanno diritto di modifica su nessuna colonna della tabella ed i campi corrispondenti appariranno loro come non modificabili. Operatori più avanzati possono avere diritto di modifica su alcune o tutte le colonne della tabella ma con il sofisticato vincolo sui dati contenuti di non poter alterare in alcun modo la “storia del passato” ma solo influire sul “futuro”. Utenti con il ruolo Supervisor hanno diritto di modifica su tutte le colonne della tabella ed alterare arbitrariamente (sotto la loro responsabilità) anche la “storia del passato”. In basso è visibile, in modalità mono-record, un’idea dell’etichetta risultante. Dal menu Tabelle si richiamano semplici form, come questo, che sono stati definiti completamente in solo qualche minuto. Nella sua semplicità riconosciamo comunque caratteristiche esteticofunzionali come: • La gestione multi-record dei campi più rappresentativi e mono-record dei restanti campi del blocco • I controlli automatici basati sull’integrità referenziale del database. Nel caso specifico si è provato a cancellare uno Stato estero per il quale esistono Soggetti. Si noti il messaggio di errore generato automaticamente sulla riga di stato. In quest’altro semplice form osserviamo il controllo sulla disposizione dei campi, la colonna che funge da current record indicator (come sulle Oracle Applications), l’uso di campi di tipo pop-list che nascondono completamente le codifiche interne dei dati, l’aggiunta del carattere asterisco sulle etichette dei campi obbligatori nella gestione monorecord. Infine il form di help on line contestuale a 5 livelli basato sulle informazioni introdotte in fase di analisi. Il menu Stampe mostra 3 voci Elenco (clienti, fornitori e soggetti) che attivano in definitiva lo stesso report ma le prime due passano dei parametri che ne cambieranno il funzionamento restringendone l’output solo a clienti o fornitori Il titolo del report è personalizzato in funzione della voce selezionata Un solo fornitore è presente in questo caso Lo stesso report è anche richiamato dal bottone “Stampa elenco” della “Gestione soggetti”, ma in questo caso mostrerà le righe estratte con le stesse condizioni e lo stesso ordinamento dell’ultima interrogazione effettuata. Il titolo è ancora una volta personalizzato Il bottone “Stampa scheda” richiama invece un report diverso che mostra tutti i dati relativi al soggetto (prossima slide) Il report “Scheda soggetto” è impostato come master-detail, il master è in formato “form” ed è vincolato al Soggetto corrente, i vari details sono in formato tabulare. Tutta la leggibilità del report è giocata essenzialmente sull’estetica introdotta attraverso il template. Per i soggetti di tipo Persona è presente un dettaglio aggiuntivo in formato “form” che mostra i dati anagrafici e quelli analoghi ai contatti. Questa presentazione è in evoluzione… Torna ogni tanto a visitare: http://www.geocities.com/s_caggia/Designer.pps per seguire le sue evoluzioni! Oracle Designer