if ($_POST['id_stato_call'] == "-") {
        $errori .= "Errore, è necessario selezionare uno stato per l'attività.<br />";
    }
    if (trim($_POST['data_att']) == "") {
        $_POST['data_att'] = date('d/m/Y');
    } else {
        $_POST['data_att'] = Inverti_Data($_POST['data_att'], "-", "/");
    }
    if ($_GET['salva'] == "salva" && $errori == "") {
        $Esclusioni = array("cliente" => $_POST['cliente'], 'id_prov' => '');
        $Status = SaveRow($_POST, $Esclusioni, "tab_chiamate", $db);
        $Status = $Status[0];
    }
    if ($_GET['salva'] == "modifica" && $errori == "") {
        $Esclusioni = array("cliente" => $_POST['cliente'], 'id_prov' => '');
        $Status = UpdateRow($_POST, $Esclusioni, "tab_chiamate", "id_chiamata = '" . $_GET['tomod'] . "'", $db, 1);
    }
}
if (isset($_GET['tomod'])) {
    $UrlSalva = 'home.php?act=call&amp;tomod=' . $_GET['tomod'] . '&amp;salva=modifica';
    $ConfSalva = "Salvare i dati modificati?";
}
if (is_numeric($_GET['tomod']) && empty($_POST)) {
    $Call = $d->GetRows("*", "view_call", "id_chiamata = '" . $_GET['tomod'] . "'");
    $cli = $d->GetRows("*", "tab_attivita", "id_attivita = '" . $Call[0]['id_attivita'] . "'");
    $_POST = $Call[0];
    $_POST['cliente'] = $cli[0]['cliente'];
    $_POST['id_tipo_call'] = $cli[0]['id_attivita'];
    $_POST['id_prov'] = $Call[0]['id_prov'];
    $_POST['note'] = $Call[0]['note_call'];
    $Tipo_call = $d->GetRows("id_attivita, concat(tipo, \" (\", note, \")\") as tipo", "tab_attivita", "cliente = '" . $_POST['cliente'] . "'", "", "tipo");
                $errori .= "Errore, il codice inserito è già in uso.<br />";
            }
        }
    }
    if (trim($_POST['descrizione']) == "") {
        $errori .= "Errore, è necessario inserire una descrizione.<br />";
    }
    if ($_POST['rad_tipo'] == "sc" && $_POST['id_conto'] == "-") {
        $errori .= "Errore, è necessario selezionare un conto di appartenenza per il sottoconto.<br />";
    }
    if ($_GET['salva'] == "salva" && $errori == "") {
        $Status = SaveRow($Valori, $Esclusioni, $DestTab, $db);
        $Status = $Status[0];
    }
    if ($_GET['salva'] == "modifica" && $errori == "") {
        $Status = UpdateRow($Valori, $Esclusioni, $DestTab, $Where, $db);
    }
}
if (isset($_GET['id_conto']) && isset($_GET['tomod'])) {
    $_POST['id_conto'] = $_GET['id_conto'];
}
if (isset($_GET['tomod'])) {
    $dom_salva = "Modificare i dati?";
    if (isset($_GET['tipo'])) {
        if ($_GET['tipo'] == "c") {
            $sottoconto = GetRows("tab_conti", "id_conto = '" . $_GET['tomod'] . "'", "", $db);
            //~ $_POST['id_conto'] = $_GET['tomod'];
            $_POST['codice'] = $sottoconto[0]['codice_conto'];
            $_POST['descrizione'] = $sottoconto[0]['descr_conto'];
        } else {
            $sottoconto = GetRows("tab_sottoconti", "id_sottoconto = '" . $_GET['tomod'] . "'", "", $db);
    $_SESSION['composto']['comp'] = array();
}
if (isset($_GET['salva'])) {
    if ($_SESSION['composto']['gen']['desc'] == "") {
        $errori .= "Errore, nessun articolo genitore selezionato.<br />";
    }
    if (count($_SESSION['composto']['comp']) == 0) {
        $errori .= "Errore, nessun componente selezionato.<br />";
    }
    if ($_GET['salva'] == "modifica" && $errori == "") {
        $Status = DeleteRows("tab_dett_prodotti", "id_prodotto = '" . $_SESSION['composto']['gen']['id'] . "'", $db);
    }
    if ($errori == "") {
        $_SESSION['composto']['modificato'] = "n";
        //~ update prodotto genitore con flag = 0 che indica che è composto.
        $Status = UpdateRow(array('ck_com' => 0), "", "tab_prodotti", "id_prodotto = '" . $_SESSION['composto']['gen']['id'] . "'", $db);
        //~ aggiunta componenti in tabella dettaglio prodotto:
        foreach ($_SESSION['composto']['comp'] as $key => $field) {
            $Valori = array('id_prodotto' => $_SESSION['composto']['gen']['id'], 'id_componente' => $field['id'], 'qta' => $field['qta']);
            $Status = SaveRow($Valori, "", "tab_dett_prodotti", $db);
            $Result = $Status[0];
        }
    }
    if ($errori != "") {
        echo "<label class=\"err\">{$errori}</label>";
    }
}
if (is_numeric($_GET['tomod'])) {
    $UrlSalva = "?act=articolo_com&amp;tomod=" . $_GET['tomod'] . "&amp;salva=modifica";
    if ($_SESSION['composto']['modificato'] != "y") {
        $_SESSION['composto'] = array();
         }
         if (!is_numeric($field['imponibile']) || $field['imponibile'] <= 0) {
             $errori .= "Errore, l'imponibile inserito per la voce {$key} non è valido.<br />";
         }
     }
 }
 $Valori = array('cod_documento' => $_SESSION['piano']['cod_documento'], 'data_doc' => Inverti_Data($_SESSION['piano']['data_doc'], "-", "/"), 'data_reg' => Inverti_Data($_SESSION['piano']['data_reg'], "-", "/"), 'id_causale_doc' => $_SESSION['piano']['id_causale_doc'], 'n_protocollo' => $n_prot, 'spese' => round($_SESSION['piano']['spese'], 2), 'id_user' => $_SESSION['id_user']);
 //~ Salvo il documento:
 if ($_GET['salva'] == "salva" && $errori == "") {
     if (!isset($_GET['tomod'])) {
         $Status = SaveRow($Valori, "", "tab_piano_conti", $db, 0);
         $IdDocumento = $Status[1];
         //~ last insert id
         //echo "Debug => nuovo inserimento: $IdDocumento<br />";
     } else {
         $Status = UpdateRow($Valori, "", "tab_piano_conti", "id_piano_conti = '" . $_GET['tomod'] . "'", $db, 0);
         $IdDocumento = $_GET['tomod'];
         //echo "Debug => update operazione: $IdDocumento <br />";
         //~ Droppo il precedente dettaglio dell'operazione:
         $Status = DeleteRows("tab_dett_piano_conti", "id_piano_conti = '" . $_GET['tomod'] . "'", $db);
         //echo "Debug => drop dettaglio <br />";
     }
 }
 //~ verifico la validità del dettaglio
 foreach ($_SESSION['piano']['dettaglio'] as $key => $field) {
     if ($field['da'] == '-') {
         $errori .= "Errore, non è stato selezionato il campo dare/avere " . " per la voce " . ($key + 1) . ".<br />";
     }
     if (!is_numeric($field['id_sottoconto'])) {
         $errori .= "Errore, non è stato selezionato un conto " . " per la voce " . ($key + 1) . ".<br />";
     }