Difference between revisions of "Esempi di programmazione"

From SageDev KB
Jump to navigation Jump to search
(Created page with " == Calcolo del massimo in una tabella == <pre> Filter [F:YCE] # Azzero eventuale filtro precedente Filter [F:YCE] Where YCODMAR = [M:YCE0]YCODMAR Order By YSEQMAR Desc...")
 
 
Line 60: Line 60:
 
     Commit     
 
     Commit     
 
Return
 
Return
 +
</pre>
 +
 +
Lancio di una consultazione
 +
<pre>
 +
Local Char PARAM(20)(1..4)
 +
PARAM(1) = ""
 +
PARAM(2) = ""
 +
PARAM(3) = ""
 +
PARAM(4) = ""
 +
Call GCONSULT("YYY","",PARAM) From GCONSULT
 +
End
 
</pre>
 
</pre>

Latest revision as of 09:47, 28 April 2026

Calcolo del massimo in una tabella[edit]

 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[edit]

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