Scopo
Questa funzione permette di sapere se il documento ha errori o warning bloccanti non ancora confermati. Può essere per eseguire codice diverso in base alla correttezza del documento.
Sintassi
boolean err = 0 // Il documento ha errori?
//
err := Documento.IsInError(numero livelli)
//
err := Documento.IsInError(numero livelli)
Argomenti
Numero Livelli | Parametro intero opzionale che specifica di quali sottodocumenti deve essere controllato se contiene errori. Il valore di default è 0 che indica che viene effettuato il controllo solo sul documento corrente. |
Valore di ritorno
Ritorna True se il documento ha errori legati a se oppure ad una delle sue proprietà, oppure se una delle proprietà ha un warning bloccante non ancora confermato.
Esempio di codice
// *********************************************************
// Raddoppia la quantità della riga selezionata nel pannello
// *********************************************************
public void Ordini.RaddoppiaQta()
{
RigaOrdine ro = null //
Ordine o = null // L'ordine a cui appartiene la riga
//
// Prendo la riga selezionata nel pannello
ro := RigaOrdine.Document
o := ro.Parent
//
// Controllo se la testata o la riga hanno errori (ma non se le altre righe hanno errori)
if o.IsInError() OR ro.IsInError()
{
EsempiDO.MessageBox(MSG Prima Correggere)
return
}
//
// Se il documento aveva una transazione aperta, non faccio nulla!
if ro.InTransaction()
{
return
}
//
// Inizio la transazione documentale
ro.BeginTransaction()
//
// Raddoppio la quantità
ro.Quantita := ro.Quantita * C2
//
// Chiudo la transazione documentale
ro.EndTransaction()
}
// Raddoppia la quantità della riga selezionata nel pannello
// *********************************************************
public void Ordini.RaddoppiaQta()
{
RigaOrdine ro = null //
Ordine o = null // L'ordine a cui appartiene la riga
//
// Prendo la riga selezionata nel pannello
ro := RigaOrdine.Document
o := ro.Parent
//
// Controllo se la testata o la riga hanno errori (ma non se le altre righe hanno errori)
if o.IsInError() OR ro.IsInError()
{
EsempiDO.MessageBox(MSG Prima Correggere)
return
}
//
// Se il documento aveva una transazione aperta, non faccio nulla!
if ro.InTransaction()
{
return
}
//
// Inizio la transazione documentale
ro.BeginTransaction()
//
// Raddoppio la quantità
ro.Quantita := ro.Quantita * C2
//
// Chiudo la transazione documentale
ro.EndTransaction()
}
- Gli errori presenti nel documento possono essere cancellati con la funzione ClearErrors, che viene chiamata anche dal framework in alcuni momenti precisi.
- Questa funzione guarda solo gli errori del documento in sè e non dei suoi eventuali sotto-documenti. Per ottenere un quadro completo della situazione del documento è possibile chiamare la funzione Validate e vedere se torna True.
- Il parametro numero livelli è stato inserito in versione 22.0.
Ultima modifica: 27/04/2022 / Validità: da 6.5.2680