Funzioni di Tabella

Funzioni per leggere, scrivere e manipolare tabelle e righe di tabella.

Sorgente: module/script/helper/document_table_script_functions.py


get_column_value()

Legge il valore di una colonna da una riga di tabella.

get_column_value(row, column_name, default_value=None, is_clean=False)

Parametri:

Nome
Tipo
Descrizione

row

dict

Un oggetto riga da table["rows"]

column_name

str

Nome della colonna (senza distinzione maiuscole/minuscole)

default_value

any

Valore restituito se la colonna e vuota/mancante

is_clean

bool

Se True: MAIUSCOLO con spazi rimossi

Esempio — Iterare le righe della tabella:

table = tables_dict.get("INVOICE_TABLE")
if table:
    for row in table["rows"]:
        desc = get_column_value(row, "DESCRIPTION", "")
        qty = get_column_value(row, "QUANTITY", "0")
        price = get_column_value(row, "UNIT_PRICE", "0")
circle-info

Il confronto del nome colonna e senza distinzione maiuscole/minuscole: "DESCRIPTION" corrisponde anche a "description" o "Description".


set_column_value()

Imposta il valore di una colonna in una riga di tabella.

Restituisce: True se il valore e cambiato, False se identico

Effetti collaterali:

  • Imposta extraction_method = "SCRIPT"

  • Crea automaticamente la colonna se non esiste

Esempio — Calcolare i totali di riga:


set_column_date_value()

Imposta un valore data in una cella di tabella con formattazione e aritmetica delle date.

Parametri:

Nome
Tipo
Descrizione

document_data

dict

Necessario per date_format_pattern

row

dict

Riga della tabella

column_name

str

Nome della colonna

value

str

Data ISO "2026-03-25"

add_days

int

Giorni da aggiungere

skip_weekend

bool

Salta i fine settimana

exclude_final_days

str/list

Giorni da escludere

Esempio — Calcolare le date di consegna per ogni riga:


set_column_amount_value()

Imposta un valore importo in una cella di tabella con formattazione della localizzazione.

Esempio — Calcolare e formattare i totali di riga:

circle-info

value viene automaticamente convertito in str() prima di essere impostato.


add_table_column()

Aggiunge una nuova colonna a tutte le righe di una tabella.

Parametri:

Nome
Tipo
Descrizione

table

dict

L'oggetto tabella (non tables_dict!)

col_name

str

Nome della nuova colonna

default_value

any

Valore iniziale per tutte le righe

Effetti collaterali:

  • is_extra_column = True (contrassegnata come non originale)

  • is_mapped = True

  • extraction_method = "SCRIPT"

Esempio — Aggiungere colonna codice fiscale:

circle-exclamation

remove_rows_from_table()

Rimuove un numero specifico di righe da una tabella.

Parametri:

Nome
Tipo
Descrizione

table_name

str

Nome della tabella

count

int

Numero di righe da rimuovere

start

int

Indice di partenza (basato su 0)

Solleva: ValueError se start o count sono fuori intervallo

Esempio — Rimuovere righe di intestazione o l'ultima riga:


remove_all_rows_except_one_from_table()

Mantiene solo una riga specifica e rimuove tutte le altre.

Parametri:

Nome
Tipo
Descrizione

line_number

int

Numero di riga (basato su 1!)

circle-exclamation

Esempio:


delete_tables()

Elimina tutte le tabelle dal documento (con backup).

Effetti collaterali:

  • Salva le tabelle sotto last_deleted_table

  • Rimuove po_items, po_multi_matched, po_match_status

Esempio:


restore_tables()

Ripristina le tabelle precedentemente eliminate con delete_tables().

Esempio:

circle-check

Pattern Comuni

Calcolare la somma di una colonna

Filtrare le righe vuote

Calcolare una colonna da altre colonne

Last updated