GESASL

From SageDev KB
Jump to navigation Jump to search

Torna al Menu Parametrizzazione


Gli stili condizionali permettono di applicare uno stile di presentazione, per esempio grassetto o sfondo rosso, ad un campo di una videata in base ad una condizione espressa tramite una formula (in pratica un pezzo di codice adonix).

  • creare uno stile condizionale in cui va indicata la condizione e lo stile da applicare
  • andare in Assegnazione stile condizionale, selezionare la videata voluta, e sulla riga del campo su cui si vuole che lo stile sa applicato scrivere lo stile condizionale da applicare
    lo stile verrà memorizzato nel campo tabella AMSKZON campo STYCND (nel campo STYZON abbiamo invece lo stile fisso, non condizionale)

Ovviamente la condizione deve contenere campi e variabili presenti nel contesto in cui lo stile condizionale verrà applicato.

In caso di errori nella formula della condizione (per esempio campo mancante o errato), il sistema cattura l'errore e lo ignora, in modo da non bloccare le funzionalità. Questo significa che incaso di errori non vengono date segnalazioni.

Pre creare un nuovo stile andare alla funzione Stili di presentazione.


Subroutine che applicano gli stili[edit]

Nei vari file file W*.src i punti in cui vengono applicati gli stili sono (cercando l'istruzione Chgstl):

  • $CHG_STY #questa applica gli stili condizinoali
  • $STYLEPLAG
  • $STYLE_1
  • $STYLE_2 ...

Un esempio è il seguente:

$CHG_STY
For nolign=1 To [M:POH2]NBLIG
 If [M:POH2]PRIREN(nolign-1) = 1
  Chgstl [M:POH2]ITMDES(nolign-1) With "BACKRED"
 Else
  Chgstl [M:POH2]ITMDES(nolign-1) With ""
 Endif
Next nolign
Return

Programmazione[edit]

La subroutine standard che applica gli stili si chiama CHG_STY e si trova all'interno di un file W*.src della videata in questione.

Può essere necessario richiamarla in una personalizzazione.

Nel farlo è possibile gestire gli errori come fa il sistema standard:

######################################################################################
$REFRESH  
    Onerrgo ERROR_STYLE
    Gosub CHG_STY From W1MYMSK  #applico gli stili impostati da parametrizzazione
    Onerrgo
Return

$ERROR_STYLE
  #intercetto l'errore e non faccio nulla
  Resume
Return
######################################################################################

Oppure possiamo fare la chiamata diretta Gosub CHG_STY From W1MYMSK senza gestione errori: questo modo ci permette di capire quale sia il problema se c'è qualcosa che non va. Ovviamente nelle chiamate CHG_STY sparse per i vari W*.src si possono trovare i vari esempi di come applicare da codice gli stili.

Note[edit]

  • ATTENZIONE: una volta creato e applicato uno stile uscire completamente da X3, in modo che il browser ricarichi i file contenenti gli stili.
  • Può succedere che a causa di personalizzazioni gli stili condizionali non vengano applicati; in genere quando si caricano dei dati a video fuori dal flusso standard di X3. In tal caso richiamare la subroutine che applica gli stili.