JS5 Il client web del legacy SBH — menu e maschere
- 1. Il modulo
- 10. Uscire dalla funzione, Preferiti e Recenti nel benvenuto
- 11. Riaprire un preferito e chiudere la sessione
- 12. Quello che questa voce non mostra
- 2. L'albero del menu e la ricerca
- 3. Il pannello di avvio
- 4. La stella dei Preferiti e il libro del manuale
- 5. La maschera a video
- 6. F10 — la guida del campo
- 7. F8 — la ricerca
- 8. Opzioni › Carattere di maschere e griglie
- 9. Il menu in consultazione durante la funzione
1. Il modulo
La lista a tendina. Un clic sulla barra (ovunque, tranne sui quadratini) o sulla freccia accanto ai quadratini apre, subito sotto la barra e larga quanto il pannello, la lista dei moduli: una riga per modulo con la sua icona, il codice, il nome e il numero di funzioni. Il modulo corrente ha il segno a sinistra, i moduli senza funzioni sono attenuati; un modulo con piu' versioni e' una riga sola, con le funzioni di tutte le versioni. Si usa da tastiera:
| Tasto | Cosa fa |
|---|---|
| clic sulla barra, oppure ↓ / ↑ con la barra a fuoco | apre la lista, col fuoco sul modulo corrente |
| ↑ ↓ | modulo precedente / successivo (la lista scorre per tenerlo in vista) |
| Home / Fine | primo / ultimo modulo |
| una lettera o piu' lettere di seguito | il primo modulo il cui codice o nome comincia cosi' (premuta di nuovo, il successivo) |
| INVIO (o Spazio), oppure clic sulla riga | sceglie il modulo; la lista si chiude e il fuoco torna sulla barra |
| Esc | chiude la lista e torna sulla barra, senza chiedere di uscire dalla sessione |
| Tab, o un clic fuori | chiude la lista |
La griglia. I quadratini a destra della barra aprono «Scegli il modulo»: una carta per modulo
col numero di funzioni, e una ricerca per codice o descrizione. Si scrive B20 e resta una carta
sola. Serve quando i moduli sono tanti e si cerca per parola.
✔ Verifica: il dialog mostra una carta per ogni modulo del server (piu' di dieci).
✔ Verifica: scritto B20 nella ricerca restano solo le carte che lo contengono.
✔ Verifica: scelta la carta, in testa al menu c'e' «Amministrazione» con B20 e il numero di
funzioni.
✔ Verifica: il piede del menu dice Menu B20 · vers. … · rel. …: e' la versione del file di menu
scaricato dal server, quella da citare in una segnalazione.
10. Uscire dalla funzione, Preferiti e Recenti nel benvenuto
Esc (o il tasto «Esc Esci» della barra) manda Esci al COBOL: ogni Esci fa risalire il programma di un passo, finche' si chiude e il server torna al menu (lo spec ne preme fino a sei). Cambiando modulo si arriva al benvenuto: utente, modulo, stampante predefinita e, sotto, i Preferiti e i Recenti, con l'icona del tipo di lavoro usato. I Recenti li scrive l'avvio di una voce; i Preferiti la stella.
✔ Verifica: dopo gli Esci il server e' di nuovo sul menu (pannello di avvio o benvenuto).
✔ Verifica: nel benvenuto di B10 la sezione Preferiti contiene B20 1.1.1.1 Condizioni Pagamento.
✔ Verifica: la sezione Recenti contiene la stessa voce.
11. Riaprire un preferito e chiudere la sessione
Un clic su un preferito cambia modulo da solo e riapre il pannello di avvio della voce. Da li' la stella si toglie; l'Esci dalla sessione chiede conferma con una finestra del client, non del browser, perche' chiude la connessione col server.
✔ Verifica: il clic sul preferito riapre il pannello di «Condizioni Pagamento»…
✔ Verifica: …tornando da solo al modulo Amministrazione (B20).
✔ Verifica: e' scelto «Interrogazione», il tipo di lavoro con cui la voce era stata messa nei Preferiti (la lente nella riga del benvenuto), non il primo tipo della voce.
✔ Verifica: cliccata di nuovo, la stella si spegne (vuota).
✔ Verifica: Esci dalla sessione apre «Chiudere la sessione?» con «La connessione col server SIGEA si chiude. Per rientrare servira' di nuovo il login.»
✔ Verifica: «Chiudi la sessione» porta lo stato a «Chiuso».
Il tipo ricordato vale solo se la voce lo ammette ancora: se nel frattempo il menu del server non lo abilita piu', il pannello torna al predefinito della voce.
12. Quello che questa voce non mostra
Due cose richieste a questa guida non si vedono su Condizioni pagamento in interrogazione, e quindi qui non hanno una riga ✔: scriverla senza averla vista sarebbe una verifica finta.
- Messaggi del COBOL. Il client ne ha tre forme: la finestra che aspetta un tasto (conoscitivo,
attenzione, errore, grave, decisionale:
sbh-message.component.ts, con OK e i tasti proposti dal programma), il toast che sparisce da solo per le informazioni (sbh-toast), e la nota rossa in basso per l'errore del campo (getScreen().error). Provati su questa voce: codice0, codice inesistente99998, F3, F6, F12 e F4 sul campo Convalida (che apre la finestra «Simulazione condizione di pagamento») — il COBOL non manda nessun messaggio. L'unico messaggio a video e' quello del client in §11. Per provarli serve una voce che scrive (Inserimento), che questa guida non usa per non toccare i dati del server. - Etichette-pulsante e voce «premuta». Un'etichetta con un trigger nel legacy e' un pulsante
grigio (
mask__text--btn), e un'etichetta in REVERSE e' la voce in cui ci si trova, disegnata come pulsante premuto (mask__text--pressed,sbh-mask.component.ts:257-259; il caso d'origine e' IACLI50D). La maschera20000FTB2non ha etichette con trigger ne' in REVERSE (contate dallo prove fatte scrivendo la guida: zero).
2. L'albero del menu e la ricerca
L'albero e' quello del client legacy: ogni voce ha il suo numero accanto (1.1, 1.10, 2.1…), perche' nel gestionale le funzioni si chiamano per numero al telefono. La casella «Cerca nel menu» accetta testo o numero: scritta la parola, l'albero mostra solo i rami che portano a una voce che la contiene, gia' aperti, con la parola evidenziata.
| Tasto | Cosa fa |
|---|---|
↑ ↓ |
voce sopra / sotto fra quelle visibili; su una funzione il pannello di avvio la mostra subito |
→ |
apre il ramo; se e' gia' aperto va alla prima voce dentro |
← |
chiude il ramo; su una voce interna torna al ramo che la contiene |
Home Fine |
prima / ultima voce visibile |
Invio |
su un ramo lo apre o lo chiude; su una funzione la avvia con le scelte del pannello (come il doppio clic) |
Spazio |
sceglie la funzione e porta il fuoco sui tipi di lavoro del pannello |
| cifre | vanno alla voce con quel numero (1 2 di seguito = voce 12), come nel legacy |
* |
apre tutti i rami allo stesso livello |
Le lettere restano del pannello di avvio (I M R C E S scelgono il tipo di lavoro), ESC e i tasti
funzione restano del programma. Con una funzione aperta il menu e' in consultazione: ci si muove, ma
Invio non avvia nulla.
Col mouse vale lo stesso del legacy (SbhMenuView.cpp:2208-2231): un clic su una funzione la sceglie e
apre il pannello di avvio; il doppio clic la avvia subito con le scelte che il pannello ha in quel
momento (tipo di lavoro proposto o gia' scelto, modalita', ruolo e stampante ricordati), senza passare
da Avvia. Se la voce non puo' partire (nessun dispositivo compatibile) resta il pannello, che dice
perche'. Il doppio clic su un ramo lo apre o lo chiude; in consultazione non avvia nulla.
✔ Verifica: doppio clic su «1.1.1.1 Condizioni Pagamento» e la funzione parte in Inserimento, Definitiva, sull'uscita predefinita, senza fermarsi sul pannello.
✔ Verifica: tornati al menu da una funzione, senza toccare il mouse, ↓ e ↑ muovono il fuoco a
partire dalla voce appena usata.
✔ Verifica: Invio su una funzione la fa partire senza passare dal pulsante Avvia.
✔ Verifica: accanto a ogni voce c'e' il suo numero.
✔ Verifica: sopra l'albero c'e' il titolo «Funzioni».
✔ Verifica: scritto «Condizioni», il titolo diventa «Risultati».
✔ Verifica: la parola e' evidenziata in ogni voce trovata (almeno tre: Tabelle, Stampa, Export).
✔ Verifica: i rami sono aperti fino a «1 Condizioni Pagamento», senza dover cliccare i padri.
3. Il pannello di avvio
Nel client legacy una voce si avvia con una finestrella di opzioni; qui la scelta della voce apre al
centro il pannello di avvio, che mette in fila le tre decisioni da prendere prima che il server
parta: il tipo di lavoro, la modalita', l'uscita. In alto il percorso della voce nel menu, in basso
il riepilogo di quello che partira'. Invio o Avvia fanno partire la funzione.
✔ Verifica: il percorso in alto e' B20 › 1.1 Parametri base › 1.1.1 Tabelle Generali › 1.1.1.1 Condizioni Pagamento.
✔ Verifica: il titolo e' «Condizioni Pagamento», col numero 1.1.1.1 davanti.
✔ Verifica: i tipi di lavoro sono quattro (Inserimento, Modifica, Interrogazione, Cancellazione),
ognuno con la sua lettera (I M R C): sono quelli che la voce abilita, non tutti e sei.
✔ Verifica: sotto «Interrogazione» il suggerimento e' «Consulta i dati», su una riga come le altre carte.
✔ Verifica: all'apertura e' scelto il primo, Inserimento: la voce non dichiara un tipo predefinito (nessuna etichetta «predefinito») e il client fa come il legacy, prende il primo abilitato.
✔ Verifica: in Modalita' non c'e' la scelta Definitiva/Simulata: la voce ammette solo la definitiva, e una scelta con una sola risposta non si mostra…
✔ Verifica: …al suo posto c'e' scritto «Solo definitiva: la funzione aggiorna gli archivi»: la voce
lo dichiara nel menu (tipo elaborazione 0, come UpdateTipoElab in SbhMenuView.cpp:1059-1077), il
client non lo deduce. Sulle voci che ammettono tutte e due le modalita' la scelta c'e', con la
simulata proposta. (La schermata 04 e' di prima: mostra ancora i due pulsanti con «Simulata» spenta.)
✔ Verifica: in Uscita c'e' l'elenco dei dispositivi del server (DUMPR, HOLD, SYSPR, …) col protocollo a destra.
✔ Verifica: e' scelta la stampante predefinita della sessione (SYSPR), con l'etichetta «PREDEFINITA».
✔ Verifica: cliccato «Interrogazione», il riepilogo in basso dice «Interrogazione»…
✔ Verifica: …«Definitiva» e l'uscita (Testo su SYSPR).
Il ruolo (ALL, SYSADMN, SYSADMNA) compare solo quando l'utente ne ha piu' di uno; l'ultimo scelto si ricorda.
4. La stella dei Preferiti e il libro del manuale
Accanto al titolo ci sono due icone. La stella mette la voce nei Preferiti: si ricordano nel browser e compaiono nel benvenuto (§10), anche per voci di altri moduli. Il libro apre il manuale in linea della funzione in una finestrella a parte accostata a destra, come la finestra del manuale del client legacy.
✔ Verifica: cliccata la stella, e' piena e colorata (aria-pressed vero).
✔ Verifica: l'icona e' quella della stella piena, non il contorno.
✔ Verifica: il libro punta alla pagina della funzione, non alla home del sito:
https://gsdoc.genesyssoftware.eu/page-function/E2001010101000000/1?prodotto=SIGEAdb (https: il
sito rimanda li' anche chi chiede http). Si legge cosi': modulo E20 (la B iniziale diventa E),
fase 01, poi due cifre per ogni livello del percorso 1.1.1.1 completate a dodici
(010101010000), e il prodotto dal livello SIGEA che il server dichiara al login (5… =
SIGEAdb). Lo spec controlla l'indirizzo senza aprire il sito.
✔ Verifica: il link si apre in una scheda nuova (target="_blank").
5. La maschera a video
Avvia: il server manda la maschera e il client la disegna come il legacy, a colonne e righe di caratteri. Il menu si ritira in un pulsante «Menu» nella barra in basso, per lasciare lo spazio alla maschera. Il campo in input — quello che il COBOL sta aspettando — ha il bordo colorato e il focus; gli altri sono grigi e non si possono toccare, perche' nel legacy si scrive solo dove il programma chiede. I tasti funzione validi per quel campo stanno nella barra dei comandi in alto (accesi quelli ammessi): cambiano a ogni campo, perche' li dichiara il COBOL campo per campo.
La barra in basso dice che funzione sta girando: il tipo di lavoro (con la sua icona),
Definitivo o Simulato (il simulato su fondo arancione, per non scambiarlo), la stampante con
cui la funzione e' partita (nome e tipo, per esempio PDF01 PDF; se il programma la cambia con la
finestra «Scegli la stampante», la barra si aggiorna) e il ruolo, se c'e'. Sono le scelte fatte nel
pannello di avvio: restano anche dopo una ricarica della pagina. Sul menu gli indicatori non ci
sono: le scelte correnti le mostra il pannello di avvio. Se la barra e' stretta (tante schede,
finestra piccola, schermo diviso) gli indicatori si raccolgono in un pulsante compatto (l'icona del
tipo di lavoro, SIM se simulato): il clic apre verso l'alto un pannello con tutti i dettagli.
F7 sul campo in input mostra la mini-guida come il client legacy: form, maschera, campo, i
tasti ammessi e il trigger del campo, con il codice della barra di stato di SBH (per esempio
-N0702 BEA31: segno, numerico, cifre e decimali, poi le lettere dei tasti). Resta accesa e segue il
campo mentre ci si sposta; F7 di nuovo la spegne. Non manda niente al server: nel legacy F7 non e' un
tasto del COBOL. La stessa scheda, per qualunque item, si apre con Maiusc + clic destro.
✔ Verifica: il campo «Codice pagamento» ha il focus appena la maschera arriva.
✔ Verifica: ha il bordo del campo in input…
✔ Verifica: …e gli altri campi (per esempio «Convalida») no.
✔ Verifica: la barra in basso dice la modalita' della funzione in corso (Definitivo o Simulato).
✔ Verifica: F7 sul campo apre la mini-guida con il form 20000FTB2…
✔ Verifica: …e i tasti del campo, fra cui Esc Esci.
✔ Verifica: F7 di nuovo la spegne.
✔ Verifica: sotto la testata la griglia delle condizioni e' piena (1 CONTANTI, 2 RIMESSA DIRETTA, …), con la matita di riga.
✔ Verifica: il pulsante di spegnimento (Esci dalla sessione) e' spento: dentro una funzione non si esce, si troncherebbe il programma a meta'.
Esc in una maschera non chiude una finestra del browser: e' il tasto Esci del COBOL, e lo manda al server. Per questo i dialog del client (guida, ricerca) si chiudono con la X.
6. F10 — la guida del campo
Un campo con la guida ha un piccolo angolo colorato in basso a destra. F10 apre la guida: titolo del campo, testo di help e, se ci sono, i valori ammessi da scegliere. Il testo arriva dai file di help che il client ha gia' scaricato, quindi aprire e chiudere la guida non manda niente al server.
✔ Verifica: il campo «Codice pagamento» ha l'angolo della guida.
✔ Verifica: F10 apre il dialog con il titolo «Codice pagamento».
✔ Verifica: il testo e' l'help del campo: «I codici a partire dal 99.900 sono riservati GENESYS…».
✔ Verifica: la X chiude la guida.
✔ Verifica: chiusa la guida senza scegliere, il cursore torna sul campo «Codice pagamento», come nel legacy: si riprende a scrivere senza cliccare.
✔ Verifica: il campo resta com'era, vuoto e ancora in input.
7. F8 — la ricerca
F8 sul codice chiede al COBOL la sua ricerca: il server risponde con una FIND-GRID e il client la apre come finestra di ricerca. Il server manda le righe una pagina alla volta (qui dieci); la casella in alto filtra solo le righe gia' arrivate, perche' il filtro vero l'ha gia' fatto il COBOL col valore del campo.
Mentre carica
Finche' il server manda le righe la finestra e' aperta ma vuota, con lo spinner: si capisce che il tasto e' stato preso e che si sta aspettando il server, non il client. Per fotografarlo lo spec trattiene per un momento le risposte del server sul WebSocket (non le altera, le ritarda).
✔ Verifica: al centro c'e' lo spinner con «Ricerca in corso…».
✔ Verifica: «Conferma selezione» e' spento finche' le righe non ci sono.
La prima pagina
✔ Verifica: arrivate le righe, in basso a sinistra c'e' «10 righe caricate».
✔ Verifica: «Altre righe» e' acceso: il server ha detto che ce ne sono altre.
✔ Verifica: in fondo alla griglia non c'e' scritto «fine elenco»: il conteggio lo da' solo il piede della finestra, perche' la griglia non sa quante pagine ha ancora il server.
Altre righe
«Altre righe» (o Pag. giu') chiede la pagina successiva. Le righe gia' caricate restano a video, ferme e sbiadite, con lo spinner sopra: non si perde il punto in cui si era.
✔ Verifica: sopra le righe ferme c'e' lo spinner con «Carico altre righe…».
✔ Verifica: arrivata la pagina, il conteggio dice «20 righe caricate»: la seconda pagina si accoda.
La scelta torna al COBOL
Dopo «Altre righe» la selezione va sulla prima riga nuova (103): una freccia giu' la porta sulla 104, Invio conferma. La scelta torna al COBOL come risposta alla ricerca, e il programma continua da solo: legge la condizione e porta il cursore al campo successivo.
✔ Verifica: il codice scelto (104) e' nel campo «Codice pagamento».
✔ Verifica: il COBOL ha caricato la testata e il campo in input ora e' «Convalida».
✔ Verifica: accanto ai codici compaiono le descrizioni in blu («Dalla data della fattura», «Non attiva», «Normale»): il client le prende dalla guida del campo, senza chiederle al server.
✔ Verifica: la barra dei tasti e' cambiata in F4 F12 Conferma Esc Esci, quelli del nuovo campo.
8. Opzioni › Carattere di maschere e griglie
Le maschere del legacy sono pensate per 80 colonne: su uno schermo grande possono essere piccole.
Il pulsante con le tre righe in basso a sinistra apre le Opzioni; «Carattere di maschere e
griglie» ha tre pulsanti, − A +. Il carattere scala tutta la maschera (campi, righe, testi) e
la griglia, e si ricorda nel browser per le sessioni successive. «A» torna alla misura normale.
✔ Verifica: all'apertura l'opzione dice «100%».
✔ Verifica: due clic su + e dice «120%».
✔ Verifica: il campo «Codice pagamento» e' piu' largo di prima.
✔ Verifica: anche le righe della griglia sono piu' alte.
✔ Verifica: «A» riporta il campo esattamente alla larghezza di partenza.
9. Il menu in consultazione durante la funzione
Con una funzione aperta il menu non sparisce: il pulsante «Menu» nella barra lo riapre sopra la maschera, per guardare dove si e' o cercare la prossima voce. Non si puo' pero' avviare niente: il server sta eseguendo un programma e il legacy ne esegue uno per volta per sessione.
✔ Verifica: in testa al menu c'e' l'avviso «Funzione in corso: menu in consultazione».
✔ Verifica: le voci sono spente (grigie, non avviabili).
✔ Verifica: un secondo clic su «Menu» lo richiude.