<label>Tipo:</label>
				</td>
				<td style="width: 100px; text-align: center;">
					<label>Giacenza:</label>
				</td>
				<td style="width: 120px; text-align: center;">
					<label>Riordino:</label>
				</td>
			</tr>

			<tr><td colspan="9"><hr /></td></tr>
		</table>

		<?php 
    foreach ($Prodotti as $key => $field) {
        $GiacenzaProdotto = getGiacenza($field['cod_int'], 1);
        if ($field['um'] == "Pz") {
            $GiacenzaProdotto = sprintf("%d", $GiacenzaProdotto);
            $SogliaRiordino = sprintf("%d", $field['riordino']);
        } else {
            $GiacenzaProdotto = sprintf("%.2f", $GiacenzaProdotto);
            $SogliaRiordino = sprintf("%.2f", $field['riordino']);
        }
        // se la giacenza del prodotto e' > 0 allora elencalo
        if ($GiacenzaProdotto > 0 && isset($_POST['only_giacenza'])) {
            ?>
				<div id="<?php 
            echo "prod_{$key}";
            ?>
" class="expander">
					<table class="dettaglio" style="width: 100%;">
						</a>
                       
                        <input type="checkbox" title="Commuta Selezione" 
                            onclick="Javascript: SelectAll('multisel', 'comm'); void(0);" />
                        
                        &nbsp;
                        &nbsp;
                    </th>
				</tr>
                
				<tr><th colspan="10"><hr /></th></tr>
            
				<?php 
    foreach ($Campi as $key => $field) {
        $Image = $field['cod_forn'] . ".jpg";
        $DisponibilitaProdotto = getGiacenza($field['cod_int'], 1);
        if ($field['um'] == "Pz") {
            $DisponibilitaProdotto = sprintf("%." . PRECISIONE_DECIMALI . "f", $DisponibilitaProdotto);
        }
        ?>

                    <tr>
                        <td>
                            <?php 
        echo $field['cod_forn'];
        ?>
                        </td>
                        <td>
                            <?php 
        echo $field['cod_int'];
        ?>
				<td style="width: 150px;">
					<label>Tipo:</label>
				</td>
				<td style="width: 100px; text-align: center;">
					<label>Giacenza:</label>
				</td>
				<td style="width: 100px; text-align: center;">
					<label>Riordino:</label>
				</td>
			</tr>
			<tr><td colspan="9"><hr /></td></tr>
		</table>

		<?php 
    foreach ($Prodotti as $key => $field) {
        $giac_prod = getGiacenza($field['cod_int'], 0);
        $prodotto = $d->GetRows("*", "view_prodotti", "cod_int = '" . $field['cod_int'] . "'", "", "", 1);
        ?>

		<div id="<?php 
        echo "prod_{$key}";
        ?>
" class="expander">
			<table class="dettaglio" style="width: 100%;">
				<tr onclick="Javascript: Expand('prod_<?php 
        echo $key;
        ?>
',
					'img<?php 
        echo $key;
        ?>
Esempio n. 4
0
function AddDocumentRow($RowType, $IdProdotto, $IdIVA = "", $Note = "", $Quantita = 1, $Sconto = 0, $Prezzo = 0)
{
    global $d;
    $DocumentRow = array();
    $UpdateDocumentRow = "";
    if (!isset($_SESSION['documento']['dettaglio'])) {
        $_SESSION['documento']['dettaglio'] = array();
    }
    if (is_numeric($IdProdotto) && $IdProdotto > 0) {
        // si tratta di un prodotto reale, estraggo tutti i dati dall'anagrafica:
        //~ echo "[Debug][AddDocumentRow]: si tratta di un prodotto reale, estraggo tutti i dati dall'anagrafica <br />";
        $ProdottoArray = $d->GetRows("*", "view_prodotti", "id_prodotto = '{$IdProdotto}' LIMIT 1", "", "", 1);
        $DocumentRow = $ProdottoArray[0];
    } elseif (is_numeric($IdProdotto) && $IdProdotto == 0) {
        // si tratta di una voce arbitraria o una nota ( todo ):
        //~ echo "[Debug][AddDocumentRow]: si tratta di una voce arbitraria o una nota ( todo ) <br />";
        $DocumentRow['id_prodotto'] = 0;
        $DocumentRow['cod_int'] = "-";
        $DocumentRow['cod_forn'] = "-";
        $DocumentRow['um'] = "-";
    }
    //~ echo "[Debug][AddDocumentRow]: IVA: '$IdIVA' <br />";
    if ($IdIVA == "") {
        // Recupera i dati dell'iva del prodotto se non e' stato fornito l'id:
        //~ echo "[Debug][AddDocumentRow]: Recupera i dati dell'iva del prodotto se non e' stato fornito l'id <br />";
        $IvaArray = $d->GetRows("*", "tab_iva", "id_iva = '" . $ProdottoArray[0]['id_iva'] . "'", "", "", 1);
        $DocumentRow['id_iva'] = $IvaArray[0]['id_iva'];
        $DocumentRow['iva'] = $IvaArray[0]['iva'];
        $DocumentRow['desc_iva'] = $IvaArray[0]['desc_iva'];
        unset($IvaArray);
    } elseif (is_numeric($IdIVA)) {
        // Importa i dati dell'iva in base all'id fornito:
        //~ echo "[Debug][AddDocumentRow]: Importa i dati dell'iva in base all'id fornito <br />";
        $IvaArray = $d->GetRows("*", "tab_iva", "id_iva = '{$IdIVA}'", "", "", 1);
        //~ echo "<pre>";
        //~ print_r($IvaArray);
        //~ echo "</pre>";
        $DocumentRow['id_iva'] = $IvaArray[0]['id_iva'];
        $DocumentRow['iva'] = $IvaArray[0]['iva'];
        $DocumentRow['desc_iva'] = $IvaArray[0]['desc_iva'];
        unset($IvaArray);
    }
    //~ echo "[Debug][AddDocumentRow]: NOTE: $Note <br />";
    if ($Note == "") {
        if (is_numeric($IdProdotto) && $IdProdotto > 0) {
            /* si tratta di un prodotto, quindi utilizzo le note
             * dall'anagrafica per popolare il dato */
            $DocumentRow['note'] = $ProdottoArray[0]['note'];
        }
    } else {
        // utilizzo il valore fornito per popolare il campo:
        if (is_numeric($IdProdotto) && $IdProdotto == 0) {
            // si tratta di una voce arbitraria o una nota ( todo ):
            //~ echo "[Debug][AddDocumentRow]: si tratta di una voce arbitraria o una nota ( todo ) <br />";
            $DocumentRow['marca'] = "";
            $DocumentRow['modello'] = $Note;
            $DocumentRow['voce_arb'] = $Note;
        } else {
            $DocumentRow['note'] = $Note;
        }
    }
    //~ echo "[Debug][AddDocumentRow]: Quantita: $Quantita <br />";
    if ($Quantita == "" || $Quantita < 0) {
        // Se la quantità scelta è nulla o < 1 allora impostala ad 1:
        //~ echo "[Debug][AddDocumentRow]: Quantita' inferiore a zero, la porto ad 1 <br />";
        $Quantita = 1;
    }
    if ($Quantita > 0) {
        if ($_SESSION['documento']['tipo_doc'] == 5) {
            $DocumentRow['disp'] = getGiacenza($DocumentRow['cod_int']);
            $DocumentRow['qta'] = getDisponibilita($IdProdotto, $Quantita);
            $DocumentRow['prz'] = $ProdottoArray[0]['prz_ve'];
        } else {
            // disponibilita' in altri casi non realmente importante
            $DocumentRow['disp'] = getGiacenza($DocumentRow['cod_int']);
            $DocumentRow['qta'] = $Quantita;
            $DocumentRow['prz'] = $ProdottoArray[0]['prz_acq'];
        }
    }
    switch ($RowType) {
        case "prodotto":
            /*
             * 01/07/2012 12:49:13 CEST Claudio Giordano
             *
             * Verifico la presenza dello stesso articolo nel documento
             */
            foreach ($_SESSION['documento']['dettaglio'] as $key => $field) {
                if ($field['id_prodotto'] == $ProdottoArray[0]['id_prodotto']) {
                    //~ echo "[Debug][AddDocumentRow]: l'articolo e' presente nel documento con KEY: $key <br />";
                    $UpdateDocumentRow = $key;
                }
            }
            $DocumentRow['sco'] = $Sconto;
            $DocumentRow['voce_arb'] = "";
            unset($temp_array);
            break;
        case "nota":
            // TODO
            break;
        case "voce":
            $DocumentRow['sco'] = $Sconto;
            break;
        default:
            echo "[Debug][AddDocumentRow]: Errore, tipo di riga non riconsciuto, esco <br />";
            return;
    }
    //~ echo "[Debug][AddDocumentRow]: UpdateDocumentRow: '$UpdateDocumentRow' <br />";
    if (!is_numeric($UpdateDocumentRow)) {
        // accoda la riga al dettaglio:
        //~ echo "[Debug][AddDocumentRow]: aggiungo la nuova riga al documento <br />";
        array_push($_SESSION['documento']['dettaglio'], $DocumentRow);
    } else {
        /*
         * se e' stato trovato il prodotto nel dettaglio aggiorna/sostituisci la riga
         * incrementando anche la quantita'
         */
        //~ echo "[Debug][AddDocumentRow]: aggiorno la riga $UpdateDocumentRow del documento con i nuovi dati <br />";
        //~ echo "[Debug]: sess_qta: ".$_SESSION['documento']['dettaglio'][$UpdateDocumentRow]['qta']." <br />";
        //~ echo "[Debug]: row_qta: ".$DocumentRow['qta']." <br />";
        //~ echo "[Debug]: _qta: $Quantita <br />";
        $DocumentRow['qta'] = floatval(floatval($_SESSION['documento']['dettaglio'][$UpdateDocumentRow]['qta']) + floatval($Quantita));
        $_SESSION['documento']['dettaglio'][$UpdateDocumentRow] = $DocumentRow;
    }
    unset($ProdottoArray);
}