Esempi di programmazione
Revision as of 09:47, 28 April 2026 by 217.194.179.250 (talk)
Calcolo del massimo in una tabella
Filter [F:YCE] # Azzero eventuale filtro precedente Filter [F:YCE] Where YCODMAR = [M:YCE0]YCODMAR Order By YSEQMAR Desc # filtro For [F:YCE] MASSIMO = [F:YCE]YSEQMAR Break Next Filter [F:YCE] # tolgo filtro
Utilizzo nolign
Questo esempio carica in un riquadro di una scheda dell'articolo una lista di documenti presenti in una apposita tabella tramite transclass.
NBDOC è la variabile di linea del riquadro (colonna PARAMETRO nella scheda Generale della videata)
$LIENS
Filter [F:YDO] Where YDOCITMREF=[M:ITM0]ITMREF
nolign=0
For [F:YDO]
nolign +=1
[M:YT9] = [F:YDO] #ATTENZIONE per la transclass nolign parte da 1
[M:YT9]CAMPOXXX(nolign-1) = [F:YDO]CAMPOXXX #ATTENZIONE per vettori usare nolign-1 (parte da zero)
Next
[M:YT9]NBDOC=nolign
Return
Questo esempio scrive tutte le righe di un riquadro in una tabella (in questo caso non viene gestita la modifica di una riga già esistente, bisogna cancellare tutto e poi qui vengono riscritte tutte le righe)
######################################################################################
$WRITEDOC
Trbegin [F:YDO]
For nolign=1 To [M:YT9]NBDOC
[F:YDO] = [M:YT9]
[F:YDO]YDOCITMREF = [M:ITM0]ITMREF #NB: questa riga va messa DOPO la transclass, altrimenti i campi non corrispondenti vengono sbiancati
Write [F:YDO]
If fstat Then
GMESSAGE= "Errore in scrittura dei documenti"
Break
Endif
Next
If GMESSAGE <> ""
Rollback
Else
Commit
Endif
Return
######################################################################################
$DELETEDOC
Trbegin [F:YDO]
Filter [F:YDO] Where [F:YDO]YDOCITMREF=[M:ITM0]ITMREF
Delete [F:YDO] Where 1=1
Filter [F:YDO]
Commit
Return
Lancio di una consultazione
Local Char PARAM(20)(1..4)
PARAM(1) = ""
PARAM(2) = ""
PARAM(3) = ""
PARAM(4) = ""
Call GCONSULT("YYY","",PARAM) From GCONSULT
End