Finestre

From SageDev KB
Jump to navigation Jump to search

...Appunti...

Per aumentare la larghezza di una finestra bisogna aumentare la larghezza della videata di testata.


Aprire una nuova sessione[edit]

Per aprire una nuova sessione si può usare l'istruzione Nap.

Per aprire una nuova sessione direttamente su una funzione: Nap "GESxxx/1/OBJxxx/M/chiave"

apre nuova sessione con l'oggetto specificato XXX in modifica (M) o in per creazione (C). Il parametro 1 indica di chiudere automaticamente la finestra alla fine; per lasciare aperto mettere 2. Per esempio il comando seguente apre in modifica l'ordine di vendita "US001-OCL1501128": Nap "GESSOH/1/OBJSOH/M/US001-OCL1501128"

La chiave deve essere singola, se sono più elementi non ho per ora trovato un modo per utiizzare questo metodo.


Aggiungere un bottone/menù contestuale che apre un oggetto[edit]

Per aggiungere un bottone in una finestra o un menu contestuale in una videata (in sage sono chiamati bottoni) si usa il primo codice bottone libero, supponiamo sia il 12.

Assegnamo l'azione GOBJETC0, che apre un nuovo oggetto; se è già usata usare GOBJETC1 o GOBJETC2, che sono equivalenti.
Queste azioni hanno tre parametri:
OBJCLEC2 - Il codice dell'oggetto che vogliamo aprire. Per esempio [M]ITMREF(nolign-1)
OBJETC2 - L'abbreviazione dell'oggetto da aprire. Per esempio "ITM" per gli Articoli.
OBJZONC2 - not used.

Inserendo l'azione in un bottone di NBLIG di un riquadro, possiamo inserire in modo statico l'etichetta del bottone. Se vogliamo invece creare dinamicamente questa etichetta (Per esempio "Apri articolo MBM00201") bisogna aggiungere a NBLIG un'altra azione Init Button - SPE - Specific rerouting

Esempio di codice nel caso il bottone sia il numero 12

Subprog IB_NBLIG
Raz GBOUT12
If [M]ITMREF(nolign-1)<>""
    GBOUT12="Apri articolo"-[M]ITMREF(nolign-1)
Endif
End

GBOUT12 è la variabile globale che contiene il titolo del bottone 12.

Transazione finestra[edit]

Nella scheda videate in Gestione delle finestre c'è un campo denominato "Transazione". Questo permette di definire una finestra specifica per ogni transazione di un oggetto. E' possibile anche definire delle transazioni manuali, non collegate all'oggetto.

Dall'help di Sage:

E' possibile definire più finestre per uno stesso oggetto. In questo caso, per distinguere le finestre tra loro, occorre definire delle transazioni.
Nella gestione oggetto, il bottone transazione permette di visualizzare le descrizioni delle transazioni accessibili. La variabile GFLAG permette di definire una transazione prima di entrare nella gestione oggetto.
E' possibile definire delle transazioni senza che ci sia un oggetto definito. In questo caso, occorre gestire 'manualmente' le diverse transazioni.

Gestione oggetti[edit]

vedi anche Gestione oggetti