Funzioni di Campo
Funzioni per leggere, scrivere e controllare i campi del documento.
Sorgente: module/script/helper/document_script_functions.py
get_field_value()
Legge il valore di un campo dal documento.
get_field_value(document_data, field_name, default_value=None, is_clean=False)Parametri:
document_data
dict
L'oggetto di contesto document_data
field_name
str
Nome del campo (es. "invoice_id")
default_value
any
Valore restituito se il campo e vuoto/mancante (predefinito: None)
is_clean
bool
Se True: il valore viene convertito in MAIUSCOLO con gli spazi rimossi
Restituisce: Il valore del campo come stringa, oppure default_value
Esempio — Leggere il numero fattura con valore di riserva:
# Leggere il campo con valore predefinito
inv_id = get_field_value(document_data, "invoice_id", "UNKNOWN")
# Con is_clean=True: "INV 001" diventa "INV001"
inv_id = get_field_value(document_data, "invoice_id", "", is_clean=True)Cosa succede: Restituisce il valore del campo. Quando is_clean=True, il valore viene trasformato tramite value.upper().replace(" ", "").strip() — utile per i confronti.
set_field_value()
Imposta il valore di un campo. Crea automaticamente il campo se non esiste.
Parametri:
document_data
dict
L'oggetto di contesto document_data
field_name
str
Nome del campo
value
any
Nuovo valore
remove_link
bool
Se True: rimuove coords, confidence, rule, ecc.
Restituisce: True se il valore e cambiato, False se identico
Effetti collaterali:
Imposta
highlight_field = True(indicatore visivo nell'interfaccia)Imposta
extraction_method = "SCRIPT"Imposta
formatted_value = value
Esempio — Assegnazione condizionale del valore:
Cosa succede: Il valore del campo viene aggiornato e contrassegnato come modificato dallo script. Se il campo non esiste, viene creato automaticamente con extraction_method: "SCRIPT" e aggiunto sia a fields che a fields_dict.
set_date_value()
Imposta un valore data con formattazione automatica e aritmetica delle date opzionale.
Parametri:
value
str
Data ISO: "2026-03-25". Se vuoto: data odierna
add_days
int
Giorni da aggiungere (es. 30 per termini di pagamento)
skip_weekend
bool
Salta i fine settimana quando si aggiungono giorni
exclude_final_days
str/list
Giorni aggiuntivi da escludere (es. "MONDAY,FRIDAY")
Esempio — Calcolare la data di scadenza del pagamento (30 giorni, senza fine settimana):
Cosa succede: La data viene calcolata aggiungendo giorni (opzionalmente saltando fine settimana/giorni specifici) e formattata automaticamente secondo il date_format_pattern del documento (es. %d.%m.%Y per la Germania).
Codici giorno per exclude_final_days: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
set_amount_value()
Imposta un valore importo con formattazione automatica della localizzazione.
Parametri:
value
str/number
Importo in formato inglese (es. "1234.56")
Esempio — Impostare l'importo netto:
Cosa succede: L'importo viene formattato secondo amount_format_locale da document_json (es. de_DE, en_US).
create_new_field()
Crea un nuovo dizionario campo (senza aggiungerlo al documento).
Restituisce: Dict con name, value, formatted_value, extraction_method: "SCRIPT"
Esempio:
Alternativa piu semplice: Usa set_field_value() — crea automaticamente il campo se non esiste. create_new_field() e necessario solo quando si vuole manipolare manualmente il dizionario del campo.
delete_field()
Rimuove un campo dal documento.
Restituisce: Tupla (doc_json, fields_dict) dopo l'eliminazione
Esempio:
set_field_as_invalid()
Contrassegna un campo come non valido con un messaggio di errore.
Parametri:
message
str
Messaggio di errore (visualizzato nell'interfaccia)
code
str
Codice di errore (predefinito: INVALID_VALUE)
Effetti collaterali:
is_valid = Falseinvalidated_by_script = Truehighlight_field = Truevalidation_message = messagevalidation_code = code
Esempio — Validazione IBAN:
Cosa succede: Il campo viene evidenziato in rosso nella schermata di validazione con il messaggio di errore visualizzato all'utente.
set_field_as_valid()
Rimuove lo stato di non validita da un campo.
Esempio:
Cosa succede: Rimuove invalidated_by_script, validation_message, validation_code e imposta is_valid = True.
set_field_attribute()
Imposta un attributo arbitrario su un campo.
Esempio:
Vedi l'elenco completo degli Attributi Supportati qui sotto.
set_is_required()
Rende un campo obbligatorio o rimuove il requisito.
Esempio — Numero OA obbligatorio per fatture di acquisto:
set_is_readonly()
Rende un campo di sola lettura o modificabile.
Parametri:
value
bool/None
True = sola lettura, False = modificabile, None = rimuovi attributo
Esempio:
set_is_hidden()
Nasconde o mostra un campo nell'interfaccia.
Esempio — Mostrare i campi sotto-organizzazione solo quando pertinenti:
set_force_validation()
Forza la validazione manuale per un campo.
Parametri:
value
bool
True = forza validazione, False = rimuovi
reset_validation
bool
Se True: reimposta is_validated a False
Effetti collaterali quando value=True:
force_validation = Trueis_valid = False(se non ancora validato)validation_code = "FORCED_VALIDATION"
Esempio — Forzare la validazione per importi elevati:
Attributi Supportati
Attributi Campo Principali
value
any
Il valore grezzo del campo
formatted_value
string
Valore formattato per la visualizzazione
content
string
Contenuto estratto originale
is_required
bool
Se il campo e obbligatorio
is_valid
bool
Stato di validazione
is_validated
bool
Se il campo e stato validato dall'utente
is_readonly
bool
Se il campo e di sola lettura
is_hidden
bool
Se il campo e nascosto nell'interfaccia
force_validation
bool
Forza l'utente a validare questo campo
highlight_field
bool
Evidenzia il campo nell'interfaccia
extraction_method
string
Come e stato estratto il valore (es. "SCRIPT")
Attributi di Validazione
validation_message
string
Messaggio di errore mostrato all'utente
validation_code
string
Codice di errore (es. "FORCED_VALIDATION", "INVALID_VALUE")
invalidated_by_script
bool
Contrassegna il campo come invalidato dallo script
Attributi di Estrazione/OCR
coords
object
Coordinate del riquadro di delimitazione sul documento
confidence
float
Punteggio di confidenza OCR/estrazione
score
float
Punteggio di corrispondenza/validazione
score_description
string
Descrizione del punteggio
page
int
Numero di pagina dove e stato trovato il campo
rule
string
Regola di estrazione applicata
Last updated