| dalla versione 6.5.2680 - modificato il 25/10/2016 - link - english
|
Condizioni di notifica
Questo evento viene notificato al documento quando esso deve controllare se è valido. Questo solitamente avviene se:
- L'utente ha modificato dei dati in un pannello DO
- L'utente sta cercando di salvare i dati in un pannello DO
- Una procedura Visual Code salva il documento tramite la funzione SaveToDB
- Viene usata la funzione Validate() da Visual Code per validare il documento.
Utilizzo consigliato
Questo è l'evento giusto per segnalare errori relativi allo stato attuale del documento. Può essere usato anche per impostare valori di proprietà che dipendono da altri, ma per questo è preferibile l'evento di
OnEndTransaction.
Argomenti
Reason
|
Numero intero che specifica per quale ragione il documento viene validato. I valori più comuni sono ZERO per indicare la validazione completa prima del salvataggio o UNO per indicare una validazione veloce sul documento quando l'utente sta modificando i dati in un pannello DO. Altri valori potrebbero essere passati usando la procedura Validate da Visual Code.
|
Error
|
Parametro di output booleano. Se impostato a True segnala una condizione di errore ed interrompe la validazione immediatamente.
|
Skip
|
Parametro di output booleano. Se impostato a True non controlla le regole di validazione automatica del documento (vedi note).
|
Note
- Prima di iniziare la validazione vengono cancellati in automatico gli errori eventualmente segnalati sul documento in una precedente validazione.
- La procedura di validazione prima notifica l'evento OnValidate al documento e solo dopo, se il parametro Skip non è stato impostato a True esegue la validazione interna automatica.
- La validazione interna automatica controlla che le proprietà obbligatorie siano state valorizzate a meno che non siano dei campi contatore, inoltre controlla che le stringhe non siano troppo lunghe e le date o i numeri abbiano un valore valido. La validazione automatica non viene effettuata se il documento è in stato cancellato.
-
Se è attivo il sistema di sincronizzazione, allora questo evento viene chiamato dal framework anche con valori di reason 10 e 11 che rispettivamente segnalano la sincronizzazione del documento server in funzione dei dati del client e la re-sincronizzazione del documento client in funzione dei dati del server.
event Ordine.OnValidate(
int Reason
inout boolean Error
inout boolean Skip
)
{
if IsModified(??) AND NOT(IsDeleted()) AND Reason = ZERO
{
if RigheOrdini.Count() = ZERO
{
Error := True
this.AddDocumentError(MSG Almeno una riga)
}
}
}
Cosa ne pensi?
Ti sono rimaste delle domande su punti che questo articolo non ha trattato? Pensi che sia utile aggiungere una nota all'articolo? Aiutaci a migliorare la documentazione di Instant Developer scrivendo il tuo commento nei campi qui sotto.