[ 'table' => 'co_preventivi', 'rows' => 'co_righe_preventivi', 'id' => 'idpreventivo', 'condition' => '', ], ]; $documento = get('documento'); $pos = 'preventivo'; $op = 'ordine_da_preventivo'; $head = tr('Preventivo numero _NUM_'); $table = $data[$pos]['table']; $rows = $data[$pos]['rows']; $id = $data[$pos]['id']; $row = str_replace('id', 'id_riga_', $id); $module_name = 'Ordini cliente'; $op = !empty(get('op')) ? get('op') : $op; $button = tr('Crea ordine'); $button = !empty(get('op')) ? tr('Aggiungi') : $button; // Info documento $rs = $dbo->fetchArray('SELECT * FROM '.$table.' WHERE id='.prepare($id_record)); $numero = !empty($rs[0]['numero_esterno']) ? $rs[0]['numero_esterno'] : $rs[0]['numero']; $idanagrafica = $rs[0]['idanagrafica']; $idsede = $rs[0]['idsede']; $idpagamento = $rs[0]['idpagamento']; $idconto = $rs[0]['idconto']; /* Form di inserimento riga documento */ echo '

'.str_replace('_NUM_', $numero, $head).'.

'; // Selezione articoli del preventivo da copiare nell'ordine, usando l'ordinamento scelto dall'utente $rs = $dbo->fetchArray('SELECT * FROM '.$table.' INNER JOIN '.$rows.' ON '.$table.'.id='.$rows.'.'.$id.' WHERE '.$table.'.id='.prepare($id_record).' ORDER BY `order`'); if (!empty($rs)) { echo '

'.tr('Seleziona le righe e le relative quantità da inserire nell\'ordine.').'.

{[ "type": "date", "label": "'.tr('Data del documento').'", "name": "data", "required": 1, "value": "-now-" ]}

'; $totale = 0.00; foreach ($rs as $i => $r) { // Descrizione echo ' '; if ($r['is_descrizione']) { continue; } // Q.tà rimanente echo ' '; // Q.tà da evadere echo ' '; // Subtotale $subtotale = $r['subtotale'] / $r['qta'] * ($r['qta']); $sconto = $r['sconto'] / $r['qta'] * ($r['qta']); $iva = $r['iva'] / $r['qta'] * ($r['qta']); echo ' '; // Seriali echo ' '; $totale += $subtotale - $sconto + $iva; } // Totale echo '
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Q.tà da evadere').' '.tr('Subtot.').' '.tr('Seriali').'
'; // Checkbox - da evadere? echo ' '; echo nl2br($r['descrizione']); echo '

'.Translator::numberToLocale($r['qta'], 'qta').'

{[ "type": "number", "name": "qta_da_evadere['.$r['id'].']", "id": "qta_'.$i.'", "required": 1, "value": "'.$r['qta'].'", "extra" : "onkeyup=\"ricalcola_subtotale_riga('.$i.');\"", "decimals": "qta", "min-value": "0" ]} '.Translator::numberToLocale($subtotale - $sconto + $iva).' €
'.Translator::numberToLocale($subtotale - $sconto).' + '.Translator::numberToLocale($iva).'
'; if (!empty($r['abilita_serial'])) { $values = $dbo->fetchArray('SELECT DISTINCT serial FROM mg_prodotti WHERE dir=\''.$dir.'\' AND '.$row.' = \''.$r['id'].'\' AND serial IS NOT NULL AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND dir=\''.$dir.'\' AND '.$data[$pos]['condition'].')'); echo ' {[ "type": "select", "name": "serial['.$i.']['.$r['id'].']", "id": "serial_'.$i.'", "multiple": 1, "values": "query=SELECT DISTINCT serial AS id, serial AS descrizione FROM mg_prodotti WHERE dir=\''.$dir.'\' AND '.$row.' = \''.$r['id'].'\' AND serial IS NOT NULL AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE serial IS NOT NULL AND dir=\''.$dir.'\' AND '.$data[$pos]['condition'].')", "value": "'.implode(',', array_column($values, 'serial')).'", "extra": "data-maximum=\"'.intval($r['qta_rimanente']).'\"" ]} '; } else { echo '-'; } echo '
'.tr('Totale').': '.Translator::numberToLocale($totale).' €
'; echo '
'; } else { echo '

'.tr('Non ci sono articoli da evadere').'...

'; } echo ' '; ?>