if ($form["current_fee"] <= 0) { $msg .= "10+"; } //controllo che i rows non abbiano descrizioni e unita' di misura vuote in presenza di quantita diverse da 0 foreach ($form['rows'] as $i => $value) { if (empty($value['descri']) && $value['quanti']>0) { $msg .= "7+"; } if (empty($value['unimis']) && $value['quanti']>0) { $msg .= "8+"; } } if ($msg == "") { // nessun errore if (preg_match("/^id_([0-9]+)$/",$form['id_customer'],$match)) { $new_clfoco = $anagrafica->getPartnerData($match[1],1); $form['id_customer']=$anagrafica->anagra_to_clfoco($new_clfoco,$admin_aziend['mascli']); } if ($toDo == 'update') { // e' una modifica $old_rows = gaz_dbi_dyn_query("*", $gTables['contract_row'], "id_contract = ".$form['id_contract'],"id_contract"); $i=0; $count = count($form['rows'])-1; while ($val_old_row = gaz_dbi_fetch_array($old_rows)) { if ($i <= $count) { //se il vecchio rigo e' ancora presente nel nuovo lo modifico $form['rows'][$i]['id_contract'] = $form['id_contract']; contractRowUpdate($form['rows'][$i],array('id_row',$val_old_row['id_row'])); } else { //altrimenti lo elimino gaz_dbi_del_row($gTables['contract_row'], 'id_row', $val_old_row['id_row']); } $i++; } //qualora i nuovi rows fossero di più dei vecchi inserisco l'eccedenza
if ($value['descri']=='' && $value['quanti']) { $msgrigo= $i+1; $msg .= "49+"; } if ($value['unimis']=='' && $value['quanti'] && $value['tiprig'] == 0) { $msgrigo= $i+1; $msg .= "50+"; } } if ($msg == "") {// nessun errore if (preg_match("/^id_([0-9]+)$/",$form['clfoco'],$match)) { $new_clfoco = $anagrafica->getPartnerData($match[1],1); $form['clfoco']=$anagrafica->anagra_to_clfoco($new_clfoco,$admin_aziend['masfor']); } function getProtocol($type,$year,$sezione) // questa funzione trova l'ultimo numero di protocollo { // controllando sia l'archivio documenti che il global $gTables; // registro IVA acquisti $rs_ultimo_tesdoc = gaz_dbi_dyn_query("*", $gTables['tesdoc'],"YEAR(datemi) = $year AND tipdoc LIKE '".substr($type,0,2)."_' AND seziva = $sezione","protoc DESC",0,1); $ultimo_tesdoc = gaz_dbi_fetch_array($rs_ultimo_tesdoc); $rs_ultimo_tesmov = gaz_dbi_dyn_query("*", $gTables['tesmov'],"YEAR(datreg) = $year AND regiva = 6 AND seziva = $sezione","protoc DESC",0,1); $ultimo_tesmov = gaz_dbi_fetch_array($rs_ultimo_tesmov); $lastProtocol=0; if ($ultimo_tesdoc) { $lastProtocol = $ultimo_tesdoc['protoc']; } if ($ultimo_tesmov) { if ($ultimo_tesmov['protoc'] > $lastProtocol){ $lastProtocol = $ultimo_tesmov['protoc'];
$_POST['sezioneiva'] = 0; $_POST['protocollo'] = 0; $_POST['numdocumen'] = ""; $datadoc = 0; } if ( $toDo == 'update') { //se è una modifica // MODIFICO I RIGHI CONTABILI $vecchi_righcon = gaz_dbi_dyn_query("*", $gTables['rigmoc'], "id_tes = '".intval($_POST['id_testata'])."'","id_rig asc"); $i=0; $count = count($_POST['id_rig_rc'])-1; while ($row_con = gaz_dbi_fetch_array($vecchi_righcon)) { if ($i <= $count) { //se l'id del vecchio rigo e' ancora presente nel nuovo lo modifico $account_new=intval($_POST['conto_rc'.$i]); if (preg_match("/^id_([0-9]+)$/",substr($_POST['conto_rc'.$i],0,12),$match)) { // è un partner da inserire sul piano dei conti $new_clfoco = $anagrafica->getPartnerData($match[1],1); $account_new=$anagrafica->anagra_to_clfoco($new_clfoco,substr($_POST['mastro_rc'][$i],0,3)); } rigmocUpdate(array('id_rig',$row_con['id_rig']),array('id_tes'=>intval($_POST['id_testata']),'darave'=>substr($_POST['darave_rc'][$i],0,1),'codcon'=>$account_new,'import'=>floatval($_POST['importorc'][$i]))); // questa era troppo lenta nelle macchine molto lente //gaz_dbi_table_update('rigmoc',array('id_rig',$row_con['id_rig']),array('id_tes'=>intval($_POST['id_testata']),'darave'=>substr($_POST['darave_rc'][$i],0,1),'codcon'=>$account_new,'import'=>floatval($_POST['importorc'][$i]))); // MODIFICO PURE I RELATIVI MOVIMENTI DI PARTITE APERTE (in paymov) $calc->setRigmocEntries($row_con['id_rig']); $count_oldpaymov=count($calc->RigmocEntries); if (isset($form['paymov'][$i])){ // HO DELLE PARTITE POSTATE SU QUESTO RIGO $new_paymov=array_values($form['paymov'][$i]); $count_newpaymov=count($new_paymov); if($count_oldpaymov > 0) { // ...e se prima li avevo anche : li devo aggiornare $j=0; foreach($calc->RigmocEntries as $v){ // attraverso il vecchio array