} else { //in tutti gli altri casi si deve prendere quanto inserito nel form $form['datfat'] = $initra; $form['protoc'] = getProtocol($form['tipdoc'],$form['annemi'],$sezione); $form['numdoc'] = $form['numfat']; } //inserisco la testata $form['status'] = ''; $form['initra'] = $initra; $form['datemi'] = $datemi; tesdocInsert($form); //recupero l'id assegnato dall'inserimento $ultimo_id = gaz_dbi_last_id(); //inserisco i righi foreach ($form['rows'] as $i => $value) { $form['rows'][$i]['id_tes'] = $ultimo_id; rigdocInsert($form['rows'][$i]); $last_rigdoc_id = gaz_dbi_last_id(); if (isset($form["row_$i"])) { //se è un rigo testo lo inserisco il contenuto in body_text bodytextInsert(array('table_name_ref'=>'rigdoc','id_ref'=>$last_rigdoc_id,'body_text'=>$form["row_$i"],'lang_id'=>$admin_aziend['id_language'])); gaz_dbi_put_row($gTables['rigdoc'], 'id_rig', $last_rigdoc_id, 'id_body_text', gaz_dbi_last_id()); } if ($admin_aziend['conmag'] == 2 and $form['rows'][$i]['tiprig'] == 0 and !empty($form['rows'][$i]['codart'])) { //se l'impostazione in azienda prevede l'aggiornamento automatico dei movimenti di magazzino $upd_mm->uploadMag(gaz_dbi_last_id(), $form['tipdoc'], $form['numdoc'], $form['seziva'], $datemi, $form['clfoco'], $form['sconto'],
// ricavo l'ultimo numero di fattura dell'anno $rs_last_f = gaz_dbi_dyn_query("numfat*1 AS fattura", $gTables['tesdoc'], "YEAR(datfat) = ".$form['datemi_Y']." AND tipdoc = 'VCO' AND seziva = ".$ecr['seziva'],'fattura DESC',0,1); $last_f = gaz_dbi_fetch_array($rs_last_f); if ($last_f) { $form['numfat'] = $last_f['fattura'] + 1; } else { $form['numfat'] = 1; } $form['datfat'] = $form['datemi']; } tesdocInsert($form); $last_id = gaz_dbi_last_id(); //inserisco i righi foreach ($form['rows'] as $v) { $v['id_tes'] = $last_id; rigdocInsert($v); if ($admin_aziend['conmag'] == 2 and $v['tiprig'] == 0 and !empty($v['codart'])) { //se l'impostazione in azienda prevede l'aggiornamento automatico dei movimenti di magazzino $magazz->uploadMag(gaz_dbi_last_id(), $form['tipdoc'], $form['numdoc'], '', $form['datemi'], $form['clfoco'], $form['sconto'], $form['caumag'], $v['codart'], $v['quanti'], $v['prelis'], $v['sconto'],
$last_id = gaz_dbi_last_id(); $ctrl_tes = 0; foreach ($form['righi'] as $k => $v) { if ($v['id_tes'] != $ctrl_tes) { //se fa parte di un'ordine diverso dal precedente //inserisco un rigo descrittivo per il riferimento all'ordine sulla fattura immediata $row_descri['descri'] = "da Conferma d'Ordine n.".$v['numdoc']." del ".substr($v['datemi'],8,2)."-".substr($v['datemi'],5,2)."-".substr($v['datemi'],0,4); $row_descri['id_tes'] = $last_id; $row_descri['tiprig'] = 2; rigdocInsert($row_descri); } if (isset($v['checkval'])) { //se e' un rigo selezionato //lo inserisco nella fattura immediata $row = $v; unset ($row['id_rig']); $row['id_tes'] = $last_id; rigdocInsert($row); $last_rigdoc_id = gaz_dbi_last_id(); if ($v['id_body_text'] > 0) { //se è un rigo testo copio il contenuto vecchio su uno nuovo $old_body_text = gaz_dbi_get_row($gTables['body_text'],"id_body",$v['id_body_text']); bodytextInsert(array('table_name_ref'=>'rigdoc','id_ref'=>$last_rigdoc_id,'body_text'=>$old_body_text['body_text'])); gaz_dbi_put_row($gTables['rigdoc'], 'id_rig', $last_rigdoc_id, 'id_body_text', gaz_dbi_last_id()); } if ($admin_aziend['conmag'] == 2 and $form['righi'][$k]['tiprig'] == 0 and !empty($form['righi'][$k]['codart'])) { //se l'impostazione in azienda prevede l'aggiornamento automatico dei movimenti di magazzino $upd_mm->uploadMag($last_rigdoc_id, $form['tipdoc'], $form['numdoc'], $form['seziva'], $dataemiss, $form['clfoco'],
rigdocInsert($rows_data); // e se ci sono altri addebiti $rs_rows = gaz_dbi_dyn_query("*", $gTables['contract_row'],"id_contract = ".$val['id_contract'],'id_row ASC'); while ($row = gaz_dbi_fetch_array($rs_rows)) { $vat_per = gaz_dbi_get_row($gTables['aliiva'],'codice',$row['vat_code']); $rows_data = array('id_tes'=>$tesdoc_id,'tiprig'=>0, 'descri'=>$row['descri'], 'unimis'=>$row['unimis'], 'quanti'=>$row['quanti'], 'prelis'=>$row['price'], 'sconto'=>$row['discount'], 'codvat'=>$row['vat_code'], 'pervat'=>$vat_per['aliquo'], 'codric'=>$row['cod_revenue'] ); rigdocInsert($rows_data); } } } //Mando in stampa le ricevute o le fatture generate if ($cntr['doc_type']=='VRI'){ $doc_type = 7; } else { $doc_type = 4; } $locazione = "Location: select_docforprint.php?tipdoc=".$doc_type."&seziva=".$form['vat_section']. "&proini=".$first_protoc."&profin=".$last_protoc. "&numini=".$first_numdoc."&numfin=".$last_numdoc. "&datini=".strftime("%Y%m%d",$uts_this_month)."&datfin=".strftime("%Y%m%d",$uts_this_month); header($locazione); exit;