function createNewTable($table,$new_id) { global $table_prefix; $results = gaz_dbi_query ("SHOW CREATE TABLE ".$table); $row = gaz_dbi_fetch_array($results); return(preg_replace("/$table_prefix\_[0-9]{3}/",$table_prefix.sprintf('_%03d',$new_id),$row['Create Table']).";\n\n"); }
function selMasterAcc($name,$val,$val_hiddenReq='',$class='FacetSelect') { global $gTables,$admin_aziend; $data_color=Array(1=>"88D6FF",2=>"D6FF88",3=>"D688FF",4=>"FFD688",5=>"FF88D6", 6=>"88FFD6",7=>"FF88D6",8=>"88FFD6",9=>"FF88D6"); $refresh =''; if (!empty($val_hiddenReq)) { $refresh = "onchange=\"this.form.hidden_req.value='$name'; this.form.submit();\""; } $query = 'SELECT * FROM `'.$gTables['clfoco']."` WHERE codice LIKE '%000000' ORDER BY codice ASC"; echo "\t <select name=\"$name\" class=\"$class\" $refresh >\n"; echo "\t\t <option value=\"\">---------</option>\n"; $result = gaz_dbi_query($query); while ($r = gaz_dbi_fetch_array($result)) { $v=intval($r['codice']/1000000); $c=intval($v/100); $selected = ''; if($r['codice'] == $val) { $selected = "selected "; } $selected .= " style=\"background:#".$data_color[$c]."; color:#000000;"; if($v==$admin_aziend['mascli'] || $v==$admin_aziend['masfor']) { $selected .= " color: red; font-weight: bold;\" "; $view=$v.'-'.strtoupper($r['descri']); } else { $view=$v.'-'.$r['descri']; $selected .= "\" "; } echo "\t\t <option value=\"".$r['codice']."\" $selected >$view</option>\n"; $c=$v; } echo "\t </select>\n"; }
function getConfig($var) { global $table_prefix; $query = "SELECT * FROM `".$gTables['company_config']."` WHERE var = '$var'"; $result = gaz_dbi_query ($query); $data = gaz_dbi_fetch_array($result); return $data; }
function ticketPayments($name,$val,$class='FacetSelect') { global $gTables; $query = 'SELECT codice,descri,tippag FROM `'.$gTables['pagame']."` WHERE tippag = 'D' OR tippag = 'C' OR tippag = 'K' ORDER BY tippag"; echo "\t <select name=\"$name\" class=\"$class\">\n"; $result = gaz_dbi_query($query); while ($r = gaz_dbi_fetch_array($result)) { $selected = ''; if($r['codice'] == $val) { $selected = "selected"; } echo "\t\t<option value=\"".$r['codice']."\" $selected >".$r['descri']."</option>\n"; } print "\t </select>\n"; }
function getData($id_rig) { /* * restituisce tutti i dati relativi al rigo contabile del pagamento */ global $gTables; $anagrafica = new Anagrafica(); $paymov = new Schedule; $sqlquery= "SELECT ".$gTables['tesmov'].".*, ".$gTables['paymov'].".*, ".$gTables['rigmoc'].".import FROM ".$gTables['rigmoc']." LEFT JOIN ".$gTables['paymov']." ON ".$gTables['paymov'].".id_rigmoc_pay = ".$gTables['rigmoc'].".id_rig LEFT JOIN ".$gTables['tesmov']." ON ".$gTables['rigmoc'].".id_tes = ".$gTables['tesmov'].".id_tes WHERE ".$gTables['rigmoc'].".id_rig = $id_rig ORDER BY expiry ASC"; $rs = gaz_dbi_query($sqlquery); $a=array(); $i=1; while ($r = gaz_dbi_fetch_array($rs)) { $a[$i] = $r; $a[$i]['t'] = $paymov->getDocumentData($r['id_tesdoc_ref']); $i++; } return array('d'=>$a,'partner'=>$anagrafica->getPartner($a[1]['clfoco'])); }
function createRowsAndErrors($min_limit){ global $gTables,$admin_aziend,$script_transl; $nuw = new check_VATno_TAXcode(); $sqlquery= "SELECT ".$gTables['rigmoi'].".*, ragso1,ragso2,sedleg,sexper,indspe,regiva,allegato, citspe,prospe,country,codfis,pariva,".$gTables['tesmov'].".clfoco,".$gTables['tesmov'].".protoc, ".$gTables['tesmov'].".numdoc,".$gTables['tesmov'].".datdoc,".$gTables['tesmov'].".seziva, ".$gTables['tesmov'].".caucon,".$gTables['tesdoc'].".numfat AS n_fatt, datreg,datnas,luonas,pronas,counas,id_doc,iso,black_list,cod_agenzia_entrate, operat, impost AS imposta,".$gTables['rigmoi'].".id_tes AS idtes, imponi AS imponibile FROM ".$gTables['rigmoi']." LEFT JOIN ".$gTables['tesmov']." ON ".$gTables['rigmoi'].".id_tes = ".$gTables['tesmov'].".id_tes LEFT JOIN ".$gTables['tesdoc']." ON ".$gTables['tesmov'].".id_doc = ".$gTables['tesdoc'].".id_tes LEFT JOIN ".$gTables['aliiva']." ON ".$gTables['rigmoi'].".codiva = ".$gTables['aliiva'].".codice LEFT JOIN ".$gTables['clfoco']." ON ".$gTables['tesmov'].".clfoco = ".$gTables['clfoco'].".codice LEFT JOIN ".$gTables['anagra']." ON ".$gTables['anagra'].".id = ".$gTables['clfoco'].".id_anagra LEFT JOIN ".$gTables['country']." ON ".$gTables['anagra'].".country = ".$gTables['country'].".iso WHERE YEAR(datreg) = ".intval($_GET['anno'])." AND ( ".$gTables['tesmov'].".clfoco LIKE '".$admin_aziend['masfor']."%' OR ".$gTables['tesmov'].".clfoco LIKE '".$admin_aziend['mascli']."%') AND ".$gTables['clfoco'].".allegato > 0 ORDER BY regiva,operat,country,datreg,seziva,protoc"; $result = gaz_dbi_query($sqlquery); $castel_transact= array(); $error_transact= array(); if (gaz_dbi_num_rows($result) > 0 ) { // inizio creazione array righi ed errori $progressivo = 0; $ctrl_id = 0; $value_imponi = 0.00; $value_impost = 0.00; while ($row = gaz_dbi_fetch_array($result)) { if ($row['operat'] >= 1) { $value_imponi = $row['imponibile']; $value_impost = $row['imposta']; } else { $value_imponi = 0; $value_impost = 0; } if ($ctrl_id <> $row['idtes']) { // se il precedente movimento non ha raggiunto l'importo lo elimino if (isset($castel_transact[$ctrl_id]) && $castel_transact[$ctrl_id]['operazioni_imponibili'] < 0.5 && $castel_transact[$ctrl_id]['operazioni_esente'] < 0.5 && $castel_transact[$ctrl_id]['operazioni_nonimp'] < 0.5 && $castel_transact[$ctrl_id]['contract'] < 0.5) { unset ($castel_transact[$ctrl_id]); unset ($error_transact[$ctrl_id]); } if (isset($castel_transact[$ctrl_id]) && $castel_transact[$ctrl_id]['quadro'] == 'DF' && $castel_transact[$ctrl_id]['operazioni_imponibili'] < $min_limit && $castel_transact[$ctrl_id]['contract'] < $min_limit ){ unset ($castel_transact[$ctrl_id]); unset ($error_transact[$ctrl_id]); } // inizio controlli su CF e PI $resultpi = $nuw->check_VAT_reg_no($row['pariva']); $resultcf = $nuw->check_VAT_reg_no($row['codfis']); if ($admin_aziend['country'] != $row['country']) { // È uno non residente if (!empty($row['datnas'])) { // È un persona fisica straniera if (empty($row['pronas']) || empty($row['luonas']) || empty($row['counas'])) { $error_transact[$row['idtes']][] = $script_transl['errors'][9]; } } } elseif (empty($resultpi) && !empty($row['pariva'])) { // ha la partita IVA ed è giusta if( strlen(trim($row['codfis'])) == 11) { // È una persona giuridica if (intval($row['codfis']) == 0 && $row['allegato'] < 2 ) { // se non è un riepilogativo $error_transact[$row['idtes']][] = $script_transl['errors'][1]; } elseif ($row['sexper'] != 'G') { $error_transact[$row['idtes']][] = $script_transl['errors'][2]; } } else { // È una una persona fisica $resultcf = $nuw->check_TAXcode($row['codfis']); if (empty($row['codfis'])) { $error_transact[$row['idtes']][] = $script_transl['errors'][3]; } elseif ($row['sexper'] == 'G' and empty($resultcf)) { $error_transact[$row['idtes']][] = $script_transl['errors'][4]; } elseif ($row['sexper'] == 'M' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 31 or intval(substr($row['codfis'],9,2)) < 1) ) { $error_transact[$row['idtes']][] = $script_transl['errors'][5]; } elseif ($row['sexper'] == 'F' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 71 or intval(substr($row['codfis'],9,2)) < 41) ) { $error_transact[$row['idtes']][] = $script_transl['errors'][6]; } elseif (! empty ($resultcf)) { $error_transact[$row['idtes']][] = $script_transl['errors'][7]; } } } else { // È un soggetto con codice fiscale senza partita IVA $resultcf = $nuw->check_TAXcode($row['codfis']); if( strlen(trim($row['codfis'])) == 11) { // È una persona giuridica $resultcf = $nuw->check_VAT_reg_no($row['codfis']); } if (empty($row['codfis'])) { $error_transact[$row['idtes']][] = $script_transl['errors'][3]; } elseif ($row['sexper'] == 'G' and !empty($resultcf)) { $error_transact[$row['idtes']][] = $script_transl['errors'][4]; } elseif ($row['sexper'] == 'M' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 31 or intval(substr($row['codfis'],9,2)) < 1) ) { $error_transact[$row['idtes']][] = $script_transl['errors'][5]; } elseif ($row['sexper'] == 'F' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 71 or intval(substr($row['codfis'],9,2)) < 41) ) { $error_transact[$row['idtes']][] = $script_transl['errors'][6]; } elseif (!empty ($resultcf)) { $error_transact[$row['idtes']][] = $script_transl['errors'][7]; } } // fine controlli su CF e PI $castel_transact[$row['idtes']] = $row; $castel_transact[$row['idtes']]['riepil'] = 0; // determino il tipo di soggetto residente all'estero $castel_transact[$row['idtes']]['istat_country'] = 0; // --------- TIPIZZAZIONE DEI MOVIMENTI ----------------- $castel_transact[$row['idtes']]['quadro'] = 'ZZ'; if ($row['country'] <> $admin_aziend['country'] ) { // NON RESIDENTE $castel_transact[$row['idtes']]['istat_country']=$row['country']; $castel_transact[$row['idtes']]['cod_ade']=$row['cod_agenzia_entrate']; $castel_transact[$row['idtes']]['quadro'] = 'FN'; } else { if ($row['regiva']==4 && (!empty($row['n_fatt']))) { // se è un documento allegato ad uno scontrino utilizzo il numero fattura in tesdoc $castel_transact[$row['idtes']]['numdoc']=$row['n_fatt'].' scontr.n.'.$row['numdoc']; $castel_transact[$row['idtes']]['seziva']=''; } if ($row['pariva'] >0){ // RESIDENTE con partita IVA if ($row['regiva'] < 6){ // VENDITE - Fatture Emesse o Note Emesse if ($row['operat']==1){ // Fattura $castel_transact[$row['idtes']]['quadro'] = 'FE'; } else { // Note $castel_transact[$row['idtes']]['quadro'] = 'NE'; } } else { // ACQUISTI - Fatture Ricevute o Note Ricevute if ($row['operat']==1){ // Fattura $castel_transact[$row['idtes']]['quadro'] = 'FR'; } else { // Note $castel_transact[$row['idtes']]['quadro'] = 'NR'; } } } else { // senza partita iva if ($row['allegato']==2){ // riepilogativo es.scheda carburante $castel_transact[$row['idtes']]['quadro'] = 'FR'; $castel_transact[$row['idtes']]['riepil'] = 1; } elseif ( empty($resultcf) && strlen($row['codfis'])==11){ // associazioni/noprofit // imposto il codice fiscale come partita iva if ($row['regiva'] < 6){ // VENDITE - Fatture Emesse o Note Emesse if ($row['operat']==1){ // Fattura $castel_transact[$row['idtes']]['quadro'] = 'FE'; } else { // Note $castel_transact[$row['idtes']]['quadro'] = 'NE'; } } else { // ACQUISTI - Fatture Ricevute o Note Ricevute // nei quadri FR NR è possibile indicare la sola partita iva $castel_transact[$row['idtes']]['pariva'] = $castel_transact[$row['idtes']]['codfis']; $castel_transact[$row['idtes']]['codfis']=0; if ($row['operat']==1){ // Fattura $castel_transact[$row['idtes']]['quadro'] = 'FR'; } else { // Note $castel_transact[$row['idtes']]['quadro'] = 'NR'; } } } elseif (empty($resultcf) && strlen($row['codfis'])==16){ // privato servito con fattura if ($row['operat']==1){ // Fattura $castel_transact[$row['idtes']]['quadro'] = 'FE'; } else { // Note $castel_transact[$row['idtes']]['quadro'] = 'NE'; } } else { // privati con scontrino $castel_transact[$row['idtes']]['quadro'] = 'DF'; } } } // ricerco gli eventuali contratti che hanno generato la transazione $castel_transact[$row['idtes']]['n_rate'] = 1; $castel_transact[$row['idtes']]['contract'] = 0; if ($row['id_doc'] > 0 ) { $contr_query= "SELECT ".$gTables['tesdoc'].".*,".$gTables['contract'].".* FROM ".$gTables['tesdoc']." LEFT JOIN ".$gTables['contract']." ON ".$gTables['tesdoc'].".id_contract = ".$gTables['contract'].".id_contract WHERE id_tes = ".$row['id_doc']." AND (".$gTables['tesdoc'].".id_contract > 0 AND tipdoc NOT LIKE 'VCO')"; $result_contr = gaz_dbi_query($contr_query); if (gaz_dbi_num_rows($result_contr) > 0 ) { $contr_r=gaz_dbi_fetch_array($result_contr); // devo ottenere l'importo totale del contratto $castel_transact[$row['idtes']]['contract']=$contr_r['current_fee']*$contr_r['months_duration']; $castel_transact[$row['idtes']]['n_rate'] = 2; } } // fine ricerca contratti if (!empty($row['sedleg'])){ if ( preg_match("/([\w\,\.\s]+)([0-9]{5})[\s]+([\w\s\']+)\(([\w]{2})\)/",$row['sedleg'],$regs)) { $castel_transact[$row['idtes']]['Indirizzo'] = $regs[1]; $castel_transact[$row['idtes']]['Comune'] = $regs[3]; $castel_transact[$row['idtes']]['Provincia'] = $regs[4]; } else { $error_transact[$row['idtes']][] = $script_transl['errors'][10]; } } // inizio valorizzazione imponibile,imposta,senza_iva,art8 $castel_transact[$row['idtes']]['operazioni_imponibili'] = 0; $castel_transact[$row['idtes']]['imposte_addebitate'] = 0; $castel_transact[$row['idtes']]['operazioni_esente'] = 0; $castel_transact[$row['idtes']]['operazioni_nonimp'] = 0; $castel_transact[$row['idtes']]['tipiva'] = 1; switch ($row['tipiva']) { case 'I': case 'D': $castel_transact[$row['idtes']]['operazioni_imponibili'] = $value_imponi; $castel_transact[$row['idtes']]['imposte_addebitate'] = $value_impost; if ($value_impost == 0){ //se non c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][11]; } break; case 'E': $castel_transact[$row['idtes']]['tipiva'] = 3; $castel_transact[$row['idtes']]['operazioni_esente'] = $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][12]; } break; case 'N': $castel_transact[$row['idtes']]['tipiva'] = 2; $castel_transact[$row['idtes']]['operazioni_nonimp'] = $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][12]; } break; } } else { //movimenti successivi al primo ma dello stesso id // inizio addiziona valori imponibile,imposta,esente,non imponibile switch ($row['tipiva']) { case 'I': case 'D': $castel_transact[$row['idtes']]['operazioni_imponibili'] += $value_imponi; $castel_transact[$row['idtes']]['imposte_addebitate'] += $value_impost; if ($value_impost == 0){ //se non c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][11]; } break; case 'E': $castel_transact[$row['idtes']]['operazioni_esente'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][12]; } break; case 'N': $castel_transact[$row['idtes']]['operazioni_nonimp'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_transact[$row['idtes']][] = $script_transl['errors'][12]; } break; } // fine addiziona valori imponibile,imposta,esente,non imponibile } // fine valorizzazione imponibile,imposta,esente,non imponibile $ctrl_id = $row['idtes']; } // se il precedente movimento non ha raggiunto l'importo lo elimino if (isset($castel_transact[$ctrl_id]) && $castel_transact[$ctrl_id]['operazioni_imponibili'] < 0.5 && $castel_transact[$ctrl_id]['operazioni_esente'] < 0.5 && $castel_transact[$ctrl_id]['operazioni_nonimp'] < 0.5 && $castel_transact[$ctrl_id]['contract'] < 0.5) { unset ($castel_transact[$ctrl_id]); unset ($error_transact[$ctrl_id]); } if (isset($castel_transact[$ctrl_id]) && $castel_transact[$ctrl_id]['quadro'] == 'DF' && $castel_transact[$ctrl_id]['operazioni_imponibili'] < $min_limit && $castel_transact[$ctrl_id]['contract'] < $min_limit ){ unset ($castel_transact[$ctrl_id]); unset ($error_transact[$ctrl_id]); } } else { $error_transact[0] = $script_transl['errors'][15]; } // fine creazione array righi ed errori return array($castel_transact,$error_transact); }
<?php require("../../library/include/datlib.inc.php"); $admin_aziend=checkAdmin(); $clfoco = filter_var(intval($_GET['clfoco']),FILTER_SANITIZE_MAGIC_QUOTES); $tes_exc = filter_var(substr($_GET['id_tesdoc_ref'],0,15),FILTER_SANITIZE_MAGIC_QUOTES); $return_arr = array(); $sqlquery= "SELECT ".$gTables['paymov'].".*,".$gTables['rigmoc'].".*,".$gTables['tesmov'].".*,".$gTables['anagra'].".ragso1,".$gTables['anagra'].".ragso2 FROM ".$gTables['paymov']." LEFT JOIN ".$gTables['rigmoc']." ON ( ".$gTables['rigmoc'].".id_rig = ".$gTables['paymov'].".id_rigmoc_doc OR ".$gTables['rigmoc'].".id_rig = ".$gTables['paymov'].".id_rigmoc_pay ) LEFT JOIN ".$gTables['tesmov']." ON ".$gTables['tesmov'].".id_tes = ".$gTables['rigmoc'].".id_tes LEFT JOIN ".$gTables['clfoco']." ON ".$gTables['clfoco'].".codice = ".$gTables['tesmov'].".clfoco LEFT JOIN ".$gTables['anagra']." ON ".$gTables['anagra'].".id = ".$gTables['clfoco'].".id_anagra WHERE codcon=".$clfoco." AND ".$gTables['paymov'].".id_tesdoc_ref NOT LIKE '$tes_exc' ORDER BY ".$gTables['tesmov'].".datreg DESC, id_tesdoc_ref DESC, id_rig"; $result = gaz_dbi_query($sqlquery); while($row = gaz_dbi_fetch_array($result)) { array_push($return_arr,$row); } echo json_encode($return_arr); ?>
function createTable($table) { $results = gaz_dbi_query ("SHOW CREATE TABLE ".$table); $row = gaz_dbi_fetch_array($results); echo $row['Create Table']; echo ";\n\n"; }
function ValoriConti($datainizio,$datafine,$datadopo,$mastrocli,$mastrofor,$dettcf) //funzione per la creazione dell'array dei conti con saldo diverso da 0 e ordinati per tipo e numero di conto { global $gTables; $sqlquery = 'SELECT codcon, SUM(import) AS somma, darave '. 'FROM '.$gTables['rigmoc'].' LEFT JOIN '.$gTables['tesmov'].' ON '. $gTables['rigmoc'].'.id_tes = '.$gTables['tesmov'].'.id_tes '. 'WHERE datreg BETWEEN '.$datainizio.' AND '.$datafine.' '. 'AND caucon <> \'CHI\' AND caucon <> \'APE\' '. 'OR (caucon = \'APE\' AND datreg BETWEEN '.$datainizio.' AND '.$datadopo.') '. 'GROUP BY codcon, darave '. 'ORDER BY codcon desc, darave'; $rs_castel = gaz_dbi_query($sqlquery); $ctrlcodcon=0; $ctrlsaldo=0; $totclienti=0; $totfornitori=0; $costi = array(); $ricavi = array(); $attivo = array(); $passivo = array(); $clienti = array(); $fornitori = array(); while ($castel = gaz_dbi_fetch_array($rs_castel)) { if ($dettcf==2 && substr($castel["codcon"],0,3)==$mastrocli) { $codcon=$mastrocli*1000000; } elseif ($dettcf==2 && substr($castel["codcon"],0,3)==$mastrofor) { $codcon=$mastrofor*1000000; } else { $codcon=$castel["codcon"]; } if ($codcon != $ctrlcodcon and $ctrlcodcon != 0 ) { if ($ctrlsaldo != 0) { $ctrltipcon = substr($ctrlcodcon,0,1); switch ($ctrltipcon){ case 4: //economici case 3: if ($ctrlsaldo > 0) { $costi[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } else { $ricavi[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } break; default: //patrimoniali if ($dettcf==3 && substr($ctrlcodcon,0,3)==$mastrocli) { $clienti[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); $totclienti += $ctrlsaldo; } elseif ($dettcf==3 && substr($ctrlcodcon,0,3)==$mastrofor) { $fornitori[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); $totfornitori += $ctrlsaldo; } else { if ($ctrlsaldo > 0) { $attivo[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } else { $passivo[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } } break; } } $ctrlsaldo=0; } if ($castel["darave"] == 'D') { $ctrlsaldo += $castel["somma"]; } else { $ctrlsaldo -= $castel["somma"]; } $ctrlcodcon=$codcon; } if ($ctrlsaldo != 0) { $ctrltipcon = substr($ctrlcodcon,0,1); switch ($ctrltipcon){ case 4: //economici case 3: if ($ctrlsaldo > 0) { $costi[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } else { $ricavi[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } break; default: //patrimoniali if ($dettcf==3 && substr($ctrlcodcon,0,3)==$mastrocli) { $clienti[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); $totclienti += $ctrlsaldo; } elseif ($dettcf==3 && substr($ctrlcodcon,0,3)==$mastrofor) { $fornitori[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); $totfornitori += $ctrlsaldo; } else { if ($ctrlsaldo > 0) { $attivo[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } else { $passivo[$ctrlcodcon]=number_format($ctrlsaldo,2,'.',''); } } break; } } if ($dettcf==3) { $attivo[$mastrocli*1000000]=number_format($totclienti,2,'.',''); $passivo[$mastrofor*1000000]=number_format($totfornitori,2,'.',''); } ksort($costi); ksort($ricavi); ksort($attivo); ksort($passivo); ksort($clienti); ksort($fornitori); $conti = array("cos" => $costi,"ric" => $ricavi,"att" => $attivo,"pas" => $passivo,"cli" => $clienti,"for" => $fornitori); return $conti; }
$where = "( tipdoc like 'F__' OR tipdoc = 'DDT' OR tipdoc = 'VCO' ) "; } else { $where = " tipdoc like 'A__' "; } $sqlquery = 'SELECT datemi,clfoco,tiprig,codart,'.$gTables['rigdoc'].'.descri,'.$gTables['rigdoc'].'.unimis,catmer,quanti,prelis,' .$gTables['tesdoc'].'.sconto as scotes, '.$gTables['rigdoc'].'.sconto as scorig,'. $gTables['clfoco'].'.codice,'.$gTables['tesdoc'].'. id_tes, ragso1, ragso2 FROM '.$gTables['rigdoc'].' LEFT JOIN '. $gTables['tesdoc'].' ON '.$gTables['rigdoc'].'.id_tes = '.$gTables['tesdoc']. '.id_tes LEFT JOIN '.$gTables['artico'].' ON '.$gTables['rigdoc'].'.codart = '. $gTables['artico'].'.codice LEFT JOIN '.$gTables['clfoco'].' ON '. $gTables['tesdoc'].'.clfoco = '.$gTables['clfoco']. '.codice LEFT JOIN '.$gTables['anagra'].' ON '. $gTables['anagra'].'.id = '.$gTables['clfoco']. '.id_anagra WHERE YEAR(datemi) = '.$form['annimp'].' AND tiprig BETWEEN 0 AND 1 AND '.$where. 'ORDER BY catmer, codart, datemi DESC'; $rs_documenti = gaz_dbi_query($sqlquery); // preparo il castelletto delle vendite degli articoli partendo dai movimenti $totali=array(); $totali['valore'] = 0; $totali['quanti'] = 0; $totali['max_valore'] = 0; $totali['max_quanti'] = 0; $totali['max_valcode'] = ""; $totali['max_quacode'] = ""; $castelletto_articoli = array(); while ($rigo_documenti = gaz_dbi_fetch_array($rs_documenti)) { if ($rigo_documenti['scotes'] > 0){ if ($rigo_documenti['tiprig'] == 0){ $valore = CalcolaImportoRigo(1, CalcolaImportoRigo($rigo_documenti['quanti'], $rigo_documenti['prelis'], $rigo_documenti['scorig']), $rigo_documenti['scotes']); } else { $valore = CalcolaImportoRigo(1, CalcolaImportoRigo(1, $rigo_documenti['prelis'], $rigo_documenti['scorig']), $rigo_documenti['scotes']);
if (isset($_GET['stampa']) and $message == "") { //Mando in stampa i movimenti contabili generati $locazione = "Location: stampa_liscre.php?annini=".$annini."&annfin=".$annfin; header($locazione); exit; } if (isset($_GET['Return'])) { header("Location:docume_vendit.php"); exit; } // garvin: Measure query time. TODO-Item http://sourceforge.net/tracker/index.php?func=detail&aid=571934&group_id=23067&atid=377411 list($usec, $sec) = explode(' ',microtime()); $querytime_before = ((float)$usec + (float)$sec); $sqlquery= "SELECT COUNT(DISTINCT ".$gTables['rigmoc'].".id_tes) as nummov,codcon, ragso1, e_mail, telefo,".$gTables['clfoco'].".codice, sum(import*(darave='D')) as dare,sum(import*(darave='A')) as avere, sum(import*(darave='D') - import*(darave='A')) as saldo, darave FROM ".$gTables['rigmoc']." LEFT JOIN ".$gTables['tesmov']." ON ".$gTables['rigmoc'].".id_tes = ".$gTables['tesmov'].".id_tes LEFT JOIN ".$gTables['clfoco']." ON ".$gTables['rigmoc'].".codcon = ".$gTables['clfoco'].".codice LEFT JOIN ".$gTables['anagra']." ON ".$gTables['anagra'].".id = ".$gTables['clfoco'].".id_anagra WHERE datreg between ".$annini."0101 and ".$annfin."1231 and codcon like '".$admin_aziend['mascli']."%' and caucon <> 'CHI' and caucon <> 'APE' or (caucon = 'APE' and codcon like '".$admin_aziend['mascli']."%' and datreg like '".$annini."%') GROUP BY codcon ORDER BY ragso1, darave"; $rs_castel = gaz_dbi_query($sqlquery); list($usec, $sec) = explode(' ',microtime()); $querytime_after = ((float)$usec + (float)$sec); $querytime = $querytime_after - $querytime_before; require("../../library/include/header.php"); $script_transl=HeadMain(0,array('jquery/jquery-1.7.1.min', 'jquery/ui/jquery.ui.core', 'jquery/ui/jquery.ui.widget', 'jquery/ui/jquery.ui.mouse', 'jquery/ui/jquery.ui.button', 'jquery/ui/jquery.ui.dialog', 'jquery/ui/jquery.ui.position', 'jquery/ui/jquery.ui.draggable', 'jquery/ui/jquery.ui.resizable', 'jquery/ui/jquery.effects.core', 'jquery/ui/jquery.effects.scale',
function setRigmocEntries($id_rig) { global $gTables; $sqlquery = "SELECT * FROM " . $gTables['paymov'] . " WHERE id_rigmoc_pay={$id_rig} OR id_rigmoc_doc={$id_rig}"; $this->RigmocEntries = array(); $rs = gaz_dbi_query($sqlquery); while ($r = gaz_dbi_fetch_array($rs)) { $this->RigmocEntries[] = $r; } }
function uploadMag($id_rigo_doc=0,$tipdoc,$numdoc,$seziva,$datdoc,$clfoco,$sconto_chiusura,$caumag,$codart,$quantita,$prezzo,$sconto_rigo,$id_movmag=0,$stock_eval_method=null,$data_from_admin_mov=false,$protoc='') // su id_rigo_doc 0 per inserire 1 o + per fare l'upload 'DEL' per eliminare il movimento { // in $data_from_admin_mov ci sono i dati in più provenienti da admin_movmag (desdoc,operat, id_rif) global $gTables,$admin_aziend; $docOperat = $this->getOperators(); if ($tipdoc == 'FAD'){ // per il magazzino una fattura differita è come dire DDT $tipdoc = 'DDT'; } if (substr($tipdoc,0,1) == 'A' or $tipdoc == 'DDR' or $tipdoc == 'DDL'){ //documento di acquisto require("../../modules/acquis/lang.".$admin_aziend['lang'].".php"); $desdoc=$strScript['admin_docacq.php'][0][$tipdoc]; } elseif ($tipdoc=='INV'){ require("../../modules/magazz/lang.".$admin_aziend['lang'].".php"); $desdoc=$strScript['admin_artico.php']['esiste']; } else {//documento di vendita require("../../modules/vendit/lang.".$admin_aziend['lang'].".php"); $desdoc=$strScript['admin_docven.php'][0][$tipdoc]; } if (substr($tipdoc,0,1) == 'D' || $tipdoc == 'VCO'){ $desdoc .= " n.".$numdoc; if ($seziva != '') $desdoc .= "/".$seziva; } else { $desdoc .= " n.".$numdoc; if ($seziva != '') $desdoc .= "/".$seziva; $desdoc .= " prot.".$protoc; if ($seziva != '') $desdoc .= "/".$seziva; } $new_caumag = gaz_dbi_get_row($gTables['caumag'],'codice',$caumag); $operat = $new_caumag['operat']; if (!$data_from_admin_mov){ // se viene da un documento $datreg = $datdoc; // la data di registrazione coincide con quella del documento $operat = $docOperat[$tipdoc]; // e la descrizione la ricavo dal tipo documento } else { // se è stato passato l'array dei dati $datreg = $data_from_admin_mov['datreg']; // prendo la descrizione e l'operatore da questo $operat = $data_from_admin_mov['operat']; $desdoc = $data_from_admin_mov['desdoc']; } $row_movmag = array('caumag'=>$caumag, 'operat'=>$operat, 'datreg'=>$datreg, 'tipdoc'=>$tipdoc, 'desdoc'=>$desdoc, 'datdoc'=>$datdoc, 'clfoco'=>$clfoco, 'scochi'=>$sconto_chiusura, 'id_rif'=>$id_rigo_doc, 'artico'=>$codart, 'quanti'=>$quantita, 'prezzo'=>$prezzo, 'scorig'=>$sconto_rigo ); if ($id_movmag==0) { // si deve inserire un nuovo movimento movmagInsert($row_movmag); $ultimo_id_mm = gaz_dbi_last_id(); //id del rigo movimento magazzino //gaz_dbi_put_row($gTables['rigdoc'], 'id_rig', $id_rigo_doc, 'id_mag', gaz_dbi_last_id()); gaz_dbi_query ("UPDATE ".$gTables['rigdoc']." SET id_mag = ". gaz_dbi_last_id()." WHERE `id_rig` = $id_rigo_doc "); } elseif ($id_rigo_doc==='DEL') { // si deve eliminare un movimento esistente $old_movmag = gaz_dbi_get_row($gTables['movmag'],'id_mov',$id_movmag); $old_caumag = gaz_dbi_get_row($gTables['caumag'],'codice',$old_movmag['caumag']); gaz_dbi_del_row($gTables['movmag'], 'id_mov', $id_movmag); $codart = $old_movmag['artico'] ; } else { // si deve modificare un movimento esistente $old_movmag = gaz_dbi_get_row($gTables['movmag'],'id_mov',$id_movmag); $old_caumag = gaz_dbi_get_row($gTables['caumag'],'codice',$old_movmag['caumag']); $id = array('id_mov',$id_movmag); if (!isset($new_caumag['operat'])){ $new_caumag['operat'] = 0; } if (!isset($old_caumag['operat'])){ $old_caumag['operat'] = 0; } movmagUpdate($id,$row_movmag); } }
function gaz_dbi_table_update($table, $id, $newValue) { /* * $table - il nome della tabella all'interno dell'array $gTables * $id - stringa con il valore del campo "codice" da aggiornare o array(0=>nome,1=>valore,2=>nuovo_valore) * $newValue - array associativo del tipo nome_colonna=>valore con i valori da inserire */ global $link, $gTables; $field_results = gaz_dbi_query("SELECT * FROM " . $gTables[$table]); $field_meta = gaz_dbi_get_fields_meta($field_results); $query = "UPDATE " . $gTables[$table] . ' SET '; $first = true; $quote_id = "'"; for ($j = 0; $j < $field_meta['num']; $j++) { if (isset($newValue[$field_meta['data'][$j]->name])) { $query .= $first ? $field_meta['data'][$j]->name . " = " : ", " . $field_meta['data'][$j]->name . " = "; $first = false; if ($field_meta['data'][$j]->blob && !empty($newValue[$field_meta['data'][$j]->name])) { $query .= '0x' . bin2hex($newValue[$field_meta['data'][$j]->name]); } elseif ($field_meta['data'][$j]->numeric && $field_meta['data'][$j]->type != 'timestamp') { $query .= floatval($newValue[$field_meta['data'][$j]->name]); } else { $elem = addslashes($newValue[$field_meta['data'][$j]->name]); // risolve il classico problema dei caratteri speciali per inserimenti in SQL $elem = preg_replace("/\\\\'/", "''", $elem); //cambia lo backslash+singlequote con 2 singlequote come fa phpmyadmin. $query .= "'" . $elem . "'"; } //per superare lo STRICT_MODE del server non metto gli apici ai numerici if (is_array($id) && $field_meta['data'][$j]->name == $id[0] && $field_meta['data'][$j]->numeric || is_string($id) && $field_meta['data'][$j]->name == 'codice' && $field_meta['data'][$j]->numeric) { $quote_id = ''; } } elseif ($field_meta['data'][$j]->name == 'adminid') { //l'adminid non lo si deve passare $query .= ", adminid = '" . $_SESSION['Login'] . "'"; } } // se in $id c'è un array uso il nome del campo presente all'index [0] ed il valore dell'index [1], // eventualmente anche l'index [2] per il nuovo valore del codice che quindi verrà modificato if (is_array($id)) { if (isset($id[2])) { $query .= ", {$id['0']} = {$quote_id}{$id['2']}{$quote_id}"; } $query .= " WHERE {$id['0']} = {$quote_id}{$id['1']}{$quote_id}"; } else { //altrimenti uso "codice" $query .= " WHERE codice = {$quote_id}{$id}{$quote_id}"; } $result = mysqli_query($link, $query); if (!$result) { die("Error gaz_dbi_table_update:<b> {$query} </b>" . mysqli_error($link)); } }
function getDocumentsBill($upd=false) { global $gTables,$admin_aziend; $calc = new Compute; $from = $gTables['tesdoc'].' AS tesdoc LEFT JOIN '.$gTables['pagame'].' AS pay ON tesdoc.pagame=pay.codice LEFT JOIN '.$gTables['clfoco'].' AS customer ON tesdoc.clfoco=customer.codice LEFT JOIN '.$gTables['anagra'].' AS anagraf ON anagraf.id=customer.id_anagra'; $where = "(tippag = 'B' OR tippag = 'T' OR tippag = 'V') AND geneff = '' AND tipdoc LIKE 'FA_'"; $orderby = "datfat ASC, protoc ASC, id_tes ASC"; $result = gaz_dbi_dyn_query('tesdoc.*, pay.tippag,pay.numrat,pay.tipdec,pay.giodec,pay.tiprat,pay.mesesc,pay.giosuc, customer.codice, customer.speban AS addebitospese, CONCAT(anagraf.ragso1,\' \',anagraf.ragso2) AS ragsoc,CONCAT(anagraf.citspe,\' (\',anagraf.prospe,\')\') AS citta', $from,$where,$orderby); $doc=array(); $ctrlp=0; while ($tes = gaz_dbi_fetch_array($result)) { //il numero di protocollo contiene anche l'anno nei primi 4 numeri $year_prot=intval(substr($tes['datfat'],0,4))*1000000+$tes['protoc']; if ($year_prot <> $ctrlp) { // la prima testata della fattura if ($ctrlp>0 && ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $taxstamp >= 0.01 )) { // non è il primo ciclo faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $taxstamp+$calc->pay_taxstamp; } $carry=0; $somma_spese=0; $cast_vat=array(); $totimp_decalc=0.00; $n_vat_decalc=0; $totimpdoc=0; $spese_incasso=$tes['numrat']*$tes['speban']; $taxstamp=0; $rit=0; } else { $spese_incasso=0; } // aggiungo il bollo sugli esenti/esclusi se nel DdT c'è ma non è ancora stato mai aggiunto if ($tes['taxstamp']>=0.01 && $taxstamp<0.01) { $taxstamp=$tes['taxstamp']; } if ($tes['virtual_taxstamp'] == 0 || $tes['virtual_taxstamp'] == 3 ) { // se è a carico dell'emittente non lo aggiungo al castelletto IVA $taxstamp = 0.00; } //recupero i dati righi per creare il castelletto $from = $gTables['rigdoc'].' AS rows LEFT JOIN '.$gTables['aliiva'].' AS vat ON rows.codvat=vat.codice'; $rs_rig = gaz_dbi_dyn_query('rows.*,vat.tipiva AS tipiva',$from, "rows.id_tes = ".$tes['id_tes'],"id_tes DESC"); while ($r = gaz_dbi_fetch_array($rs_rig)) { if ($r['tiprig'] <= 1) {//ma solo se del tipo normale o forfait //calcolo importo rigo $importo = CalcolaImportoRigo($r['quanti'],$r['prelis'],array($r['sconto'],$tes['sconto'])); if ($r['tiprig'] == 1) { $importo = CalcolaImportoRigo(1,$r['prelis'], $tes['sconto']); } //creo il castelletto IVA if (!isset($cast_vat[$r['codvat']]['import'])) { $cast_vat[$r['codvat']]['impcast']=0; $cast_vat[$r['codvat']]['ivacast']=round(($importo*$r['pervat'])/ 100,2);; $cast_vat[$r['codvat']]['import']=0; $cast_vat[$r['codvat']]['periva']=$r['pervat']; $cast_vat[$r['codvat']]['tipiva']=$r['tipiva']; } $cast_vat[$r['codvat']]['impcast']+=$importo; $cast_vat[$r['codvat']]['import']+=$importo; $totimpdoc += $importo; $rit+=round($importo*$r['ritenuta']/100,2); } elseif($r['tiprig'] == 3) { $carry += $r['prelis'] ; } } $doc[$year_prot]['tes']=$tes; $doc[$year_prot]['car']=$carry; $doc[$year_prot]['rit']=$rit; $ctrlp=$year_prot; $somma_spese += $tes['traspo'] + $spese_incasso + $tes['spevar'] ; $calc->add_value_to_VAT_castle($cast_vat,$somma_spese,$tes['expense_vat']); $doc[$ctrlp]['vat']=$calc->castle; // segno l'effetto come generato if ($upd) { gaz_dbi_query ("UPDATE ".$gTables['tesdoc']." SET geneff = 'S' WHERE id_tes = ".$tes['id_tes'].";"); } } if ($doc[$ctrlp]['tes']['stamp'] >= 0.01 || $taxstamp >= 0.01 ) { // a chiusura dei cicli faccio il calcolo dei bolli del pagamento e lo aggiungo ai castelletti $calc->payment_taxstamp($calc->total_imp+$calc->total_vat+$carry-$rit+$taxstamp, $doc[$ctrlp]['tes']['stamp'],$doc[$ctrlp]['tes']['round_stamp']*$doc[$ctrlp]['tes']['numrat']); // aggiungo al castelletto IVA $calc->add_value_to_VAT_castle($doc[$ctrlp]['vat'],$taxstamp+$calc->pay_taxstamp,$admin_aziend['taxstamp_vat']); $doc[$ctrlp]['vat']=$calc->castle; // aggiungo il castelleto conti if (!isset($doc[$ctrlp]['acc'][$admin_aziend['boleff']])) { $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] = 0; } $doc[$ctrlp]['acc'][$admin_aziend['boleff']]['import'] += $doc[$ctrlp]['tes']['taxstamp']+$calc->pay_taxstamp; } return $doc; }
$protocollo_inizio = 0; foreach ($fatture['yes'] as $kt=>$vt) { // rilevamento protocollo iniziale if ($protocollo_inizio == 0){ $protocollo_inizio = $kt; } foreach ($vt['righi'] as $kr=>$vr) { if (isset($vr['id'])) { //vado a modificare la testata cambiando il tipo e introducendo protocollo,numero,data fattura $data['tipdoc']='FAD'; $data['protoc']=$kt; $data['numfat']=$vt['numero']; $data['datfat']=$data_emissione; // questo e' troppo lento: gaz_dbi_table_update('tesdoc', array('id_tes',$vr['id']),$data); gaz_dbi_query ("UPDATE ".$gTables['tesdoc']." SET tipdoc = 'FAD', protoc = ".$kt. ", numfat = '".$vt['numero']. "', datfat = '".$data_emissione."' WHERE id_tes = ".$vr['id'].";"); } } $protocollo_fine = $kt; } //Mando in stampa le fatture generate $locazione = "Location: select_docforprint.php?tipdoc=2&seziva=".$sezione."&proini=".$protocollo_inizio."&profin=".$protocollo_fine; header($locazione); exit; } if (isset($_POST['Return'])) { header("Location:report_docven.php");
} elseif ($form['lis_bas']=='web') { $name_bas='web_price'; } else { $name_bas='preve'.$form['lis_bas']; } if ($form['lis_obj']=='0') { $name_obj='preacq'; } elseif ($form['lis_obj']=='web') { $name_obj='web_price'; } else { $name_obj='preve'.$form['lis_obj']; } while (list($key, $mv) = each($m)) { $new_price=compute_new_price($mv[$name_bas],$mv[$name_obj],$form['valore'],$form['mode'],$form['round_mode']); // questo e' troppo lento: gaz_dbi_put_row($gTables['artico'],'codice',$mv['codice'],$name_obj,$new_price); gaz_dbi_query ("UPDATE ".$gTables['artico']." SET ".$name_obj." = ".$new_price." WHERE codice = '".$mv['codice']."';"); } header("Location:report_artico.php"); exit; } } require("../../library/include/header.php"); $script_transl=HeadMain(); echo "<form method=\"POST\" name=\"select\">\n"; echo "<input type=\"hidden\" value=\"".$form['hidden_req']."\" name=\"hidden_req\" />\n"; echo "<input type=\"hidden\" value=\"".$form['ritorno']."\" name=\"ritorno\" />\n"; $gForm = new magazzForm(); echo "<div align=\"center\" class=\"FacetFormHeaderFont\">".$script_transl['title']; echo "</div>\n";
//controllo i campi if (strcasecmp($form['art_ini'],$form['art_fin'])>0) { $msg .='1+'; } if ($form['cm_ini'] > $form['cm_fin']) { $msg .='2+'; } // fine controlli if (isset($_POST['submit']) && $msg=='') { //Modifico l'aliquota IVA di tutti gli articoli selezionati... $m=getItems($form['rate_obj'],$form['cm_ini'],$form['cm_fin'],$form['art_ini'],$form['art_fin']); if (sizeof($m) > 0) { while (list($key, $mv) = each($m)) { // questo e' troppo lento: gaz_dbi_put_row($gTables['artico'],'codice',$mv['codice'],$name_obj,$new_price); gaz_dbi_query ("UPDATE ".$gTables['artico']." SET aliiva = ".$form['rate_new']." WHERE codice = '".$mv['codice']."';"); } header("Location:report_artico.php"); exit; } } require("../../library/include/header.php"); $script_transl=HeadMain(); echo "<form method=\"POST\" name=\"select\">\n"; echo "<input type=\"hidden\" value=\"".$form['hidden_req']."\" name=\"hidden_req\" />\n"; echo "<input type=\"hidden\" value=\"".$form['ritorno']."\" name=\"ritorno\" />\n"; $gForm = new magazzForm(); echo "<div align=\"center\" class=\"FacetFormHeaderFont\">".$script_transl['title']; echo "</div>\n"; echo "<table class=\"Tsmall\">\n";
function executeQueryFileUpgrade($table_prefix) // funzione dedicata alla gestione delle sottosezioni { global $disable_set_time_limit; if (!$disable_set_time_limit) { set_time_limit (300); } // Luigi Rambaldi 13 Ottobre 2005 // Inizializzazione accumulatore $sql = ""; $currentDbVersion=getDbVersion(); $nextDbVersion = $currentDbVersion + 1; // versione del'upgrade da individuare per l'aggiornamento corrente (contiguità nella numerazione delle versioni). $stopDbVersion = $currentDbVersion + 2; $sqlFile = getNextSqlFileName($currentDbVersion,getSqlFiles()); // trovo l'ultima sottosezione (individuabile a partire dalla versione corrente del Database) // Iterazione per ciascuna linea del file. $lineArray = file($sqlFile); $parsingFlag = False; // flag per individuare ciascuna sottosezione, corrispondente a cisacuna versione del DB $companies=getCompanyNumbers(); $activateWhile = False; // flag per attivare il ciclo while foreach($lineArray as $line) { if (preg_match("/UPDATE[ \n\r\t\x0B]+(`){0,1}gaz_config(`){0,1}[ \n\r\t\x0B]+SET[ \n\r\t\x0B]+(`){0,1}cvalue(`){0,1}[ \n\r\t\x0B]*=[ \n\r\t\x0B]*\'$nextDbVersion\'/i", $line)) { $parsingFlag = True; } if (preg_match("/UPDATE[ \n\r\t\x0B]+(`){0,1}gaz_config(`){0,1}[ \n\r\t\x0B]+SET[ \n\r\t\x0B]+(`){0,1}cvalue(`){0,1}[ \n\r\t\x0B]*=[ \n\r\t\x0B]*\'$stopDbVersion\'/i", $line)) { $parsingFlag = False; break; } if($parsingFlag) { if (preg_match("/START_WHILE/i", $line)) { $activateWhile = True; $line=''; } if (preg_match("/STOP_WHILE/i", $line)) { $activateWhile = False; $line=''; } $sql .= $line; // Il punto e virgola indica la fine di ciascuna istruzione SQL , ciascuna di esse viene accumulata if (!preg_match("/;/", $sql)) { continue;// incremento dell'accumulatore } // Sostituisce il prefisso standard ed elimina il punto e virgola $sql = preg_replace("/gaz_/", $table_prefix.'_', $sql); $sql = preg_replace("/;/", "", $sql); if ($activateWhile){ // Esegue l'istruzione sulle tabelle di tutte le aziende installate. $sql_ori=$sql;; foreach ($companies as $i) { $sql = preg_replace("/XXX/", sprintf('%03d',$i), $sql_ori); if (!gaz_dbi_query($sql)) { // si collega al DB echo "Query Fallita"; echo "$sql <br/>"; exit; } } $sql = "";// ripristino dell'accumulatore } else { // Esegue una singola istruzione. if (!gaz_dbi_query($sql)) { // si collega al DB echo "Query Fallita"; echo "$sql <br/>"; exit; } else { $sql = "";// ripristino dell'accumulatore a seguito dell'istruzione } } } } }
function createRowsAndErrors($partner){ global $gTables,$admin_aziend,$script_transl; if ($partner == 1) { $search_partner = " clfoco LIKE '".$admin_aziend['mascli']."%'"; } else { $search_partner = " clfoco LIKE '".$admin_aziend['masfor']."%'"; } $sqlquery= "SELECT COUNT(".$gTables['rigmoi'].".id_tes) AS numdoc, codiva,".$gTables['aliiva'].".tipiva,SUM(impost - impost*2*((caucon LIKE '_NC') or (caucon LIKE '_FC' ))) AS imposta, SUM(imponi - imponi*2*((caucon LIKE '_NC') or (caucon LIKE '_FC' ))) AS imponibile,clfoco,CONCAT(ragso1,' ',ragso2) AS ragsoc, sedleg,sexper,indspe, citspe,prospe,codfis,pariva,allegato,operat FROM ".$gTables['rigmoi']." LEFT JOIN ".$gTables['tesmov']." ON ".$gTables['rigmoi'].".id_tes = ".$gTables['tesmov'].".id_tes LEFT JOIN ".$gTables['aliiva']." ON ".$gTables['rigmoi'].".codiva = ".$gTables['aliiva'].".codice LEFT JOIN ".$gTables['clfoco']." ON ".$gTables['tesmov'].".clfoco = ".$gTables['clfoco'].".codice LEFT JOIN ".$gTables['anagra']." ON ".$gTables['anagra'].".id = ".$gTables['clfoco'].".id_anagra WHERE allegato = 1 AND YEAR(datdoc) = ".intval($_GET['anno'])." AND $search_partner GROUP BY clfoco, codiva ORDER BY ragso1"; $result = gaz_dbi_query($sqlquery); $castel_partners= array(); $error_partners= array(); $total_column= array(); if (gaz_dbi_num_rows($result) > 0 ) { // inizio creazione array righi ed errori $total_column['operazioni_imponibili'] = 0.00; $total_column['imposte_addebitate'] = 0.00; $total_column['operazioni_esente'] = 0.00; $total_column['operazioni_nonimp'] = 0.00; $progressivo = 0; $ctrl_partner = 0; $value_imponi = 0.00; $value_impost = 0.00; while ($row = gaz_dbi_fetch_array($result)) { if ($row['operat'] == 1) { $value_imponi = $row['imponibile']; $value_impost = $row['imposta']; } elseif ($row['operat'] == 2) { $value_imponi = -$row['imponibile']; $value_impost = -$row['imposta']; } else { $value_imponi = 0; $value_impost = 0; } if ($ctrl_partner != $row['clfoco']) { // inizio controlli su CF e PI $nuw = new check_VATno_TAXcode(); $resultpi = $nuw->check_VAT_reg_no($row['pariva']); if( strlen(trim($row['codfis'])) == 11) { $resultcf = $nuw->check_VAT_reg_no($row['codfis']); if (intval($row['codfis']) == 0) { $error_partners[$row['clfoco']][] = $script_transl[7]; } elseif ($row['sexper'] != 'G') { $error_partners[$row['clfoco']][] = $script_transl[8]; } } else { $resultcf = $nuw->check_TAXcode($row['codfis']); if (empty($row['codfis'])) { $error_partners[$row['clfoco']][] = $script_transl[9]; } elseif ($row['sexper'] == 'G' and empty($resultcf)) { $error_partners[$row['clfoco']][] = $script_transl[10]; } elseif ($row['sexper'] == 'M' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 31 or intval(substr($row['codfis'],9,2)) < 1) ) { $error_partners[$row['clfoco']][] = $script_transl[11]; } elseif ($row['sexper'] == 'F' and empty($resultcf) and (intval(substr($row['codfis'],9,2)) > 71 or intval(substr($row['codfis'],9,2)) < 41) ) { $error_partners[$row['clfoco']][] = $script_transl[12]; } elseif (! empty ($resultcf)) { $error_partners[$row['clfoco']][] = $script_transl[13]; } } if (! empty ($resultpi)) { $error_partners[$row['clfoco']][] = $script_transl[14]; $error_partners['fatal_error'] = ''; } elseif (empty($row['pariva'])) { $error_partners[$row['clfoco']][] = $script_transl[15]; $error_partners['fatal_error'] = ''; } // fine controlli su CF e PI $progressivo ++; $castel_partners[$row['clfoco']] = array( 'Progressivo'=> $progressivo, 'Num_Documenti'=> $row['numdoc'], 'Rag_Sociale'=> $row['ragsoc'], 'Indirizzo'=> $row['indspe'], 'Comune'=> $row['citspe'], 'Provincia'=> $row['prospe'] , 'Partita_IVA'=> $row['pariva'], 'Codice_Fiscale'=> $row['codfis'] ); if ($row['sexper'] == 'G'){ $castel_partners[$row['clfoco']]['persona_fisica'] = ''; } else { $castel_partners[$row['clfoco']]['persona_fisica'] = 'X'; } if (!empty($row['sedleg'])){ if ( preg_match("/([\w\,\.\s]+)([0-9]{5})[\s]+([\w\s\']+)\(([\w]{2})\)/",$row['sedleg'],$regs)) { $castel_partners[$row['clfoco']]['Indirizzo'] = $regs[1]; $castel_partners[$row['clfoco']]['Comune'] = $regs[3]; $castel_partners[$row['clfoco']]['Provincia'] = $regs[4]; } else { $error_partners[$row['clfoco']][] = $script_transl[16]; } } // inizio valorizzazione imponibile,imposta,senza_iva,art8 $castel_partners[$row['clfoco']]['operazioni_imponibili'] = 0; $castel_partners[$row['clfoco']]['imposte_addebitate'] = 0; $castel_partners[$row['clfoco']]['operazioni_esente'] = 0; $castel_partners[$row['clfoco']]['operazioni_nonimp'] = 0; switch ($row['tipiva']) { case 'I': case 'D': $castel_partners[$row['clfoco']]['operazioni_imponibili'] = $value_imponi; $total_column['operazioni_imponibili'] += $value_imponi; $castel_partners[$row['clfoco']]['imposte_addebitate'] = $value_impost; $total_column['imposte_addebitate'] += $value_impost; if ($value_impost == 0){ //se non c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[17]; } break; case 'E': $castel_partners[$row['clfoco']]['operazioni_esente'] = $value_imponi; $total_column['operazioni_esente'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[18]; } break; case 'N': // case 'C': $castel_partners[$row['clfoco']]['operazioni_nonimp'] = $value_imponi; $total_column['operazioni_nonimp'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[18]; } break; } // fine valorizzazione imponibile,imposta,esente,non imponibile } else { //movimenti successivi al primo ma dello stesso cliente/fornitore // inizio addiziona valori imponibile,imposta,esente,non imponibile switch ($row['tipiva']) { case 'I': case 'D': $castel_partners[$row['clfoco']]['operazioni_imponibili'] += $value_imponi; $total_column['operazioni_imponibili'] += $value_imponi; $castel_partners[$row['clfoco']]['imposte_addebitate'] += $value_impost; $total_column['imposte_addebitate'] += $value_impost; if ($value_impost == 0){ //se non c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[17]; } break; case 'E': $castel_partners[$row['clfoco']]['operazioni_esente'] = $value_imponi; $total_column['operazioni_esente'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[18]; } break; case 'N': // case 'C': $castel_partners[$row['clfoco']]['operazioni_nonimp'] = $value_imponi; $total_column['operazioni_nonimp'] += $value_imponi; if ($value_impost != 0){ //se c'è imposta il movimento è sbagliato $error_partners[$row['clfoco']][] = $script_transl[18]; } break; } // fine addiziona valori imponibile,imposta,esente,non imponibile } $ctrl_partner = $row['clfoco']; } } else { $error_partners[0] = $script_transl[21]; } // fine creazione array righi ed errori return array($castel_partners,$error_partners,$total_column); }
// // Rilegge i dati dell'effetto. $effetto = gaz_dbi_get_row($gTables['effett'], "id_tes", intval($_POST['id_tes'])); // elimina subito la registrazione. if ($effetto['id_con'] > 0) { gaz_dbi_del_row($gTables['tesmov'], 'id_tes', $effetto['id_con']); gaz_dbi_del_row($gTables['rigmoc'], 'id_tes', $effetto['id_con']); } $result = gaz_dbi_del_row($gTables['effett'], "id_tes", intval($_POST['id_tes'])); // i dati univoci della fattura che ha originato l'effetto $where = "protoc=$effetto[protoc] AND seziva=$effetto[seziva] AND datfat='$effetto[datfat]'"; // se la fattura non ha altri effetti associati resettiamo il flag geneff $altri_effetti = gaz_dbi_record_count($gTables['effett'], $where); if (!$altri_effetti) { gaz_dbi_query("UPDATE $gTables[tesdoc] SET geneff = '' WHERE $where AND tipdoc LIKE 'F%'"); } header("Location: ".$ritorno); exit; } else { // // Legge i dati dell'effetto di cui è stata richiesta // la cancellazione, assieme a tutto quello che cui // l'effetto da cancellare è collegato. // $form = gaz_dbi_get_row($gTables['effett'], "id_tes", intval($_GET['id_tes'])); $cliente = gaz_dbi_get_row($gTables['clfoco'],"codice",$form['clfoco']); $pagame = gaz_dbi_get_row($gTables['pagame'],"codice",$form['pagame']); $banapp = gaz_dbi_get_row($gTables['banapp'],"codice",$form['banapp']); //
$form['date_fin_Y']=intval($_POST['date_fin_Y']); $form['this_date_Y']=intval($_POST['this_date_Y']); $form['this_date_M']=intval($_POST['this_date_M']); $form['this_date_D']=intval($_POST['this_date_D']); $form['master_ini']=intval($_POST['master_ini']); $form['account_ini']=intval($_POST['account_ini']); $form['master_fin']=intval($_POST['master_fin']); $form['account_fin']=intval($_POST['account_fin']); foreach($_POST['search'] as $k=>$v){ $form['search'][$k]=$v; } if (isset($_POST['selall'])) { $query = 'SELECT MAX(codice) AS max, MIN(codice) AS min '. 'FROM '.$gTables['clfoco']. " WHERE codice NOT LIKE '%000000'"; $rs_extreme_accont = gaz_dbi_query($query); $extreme_account = gaz_dbi_fetch_array($rs_extreme_accont); if ($extreme_account) { $form['master_ini'] = substr($extreme_account['min'],0,3).'000000'; $form['account_ini'] = $extreme_account['min']; $form['master_fin'] = substr($extreme_account['max'],0,3).'000000'; $form['account_fin'] = $extreme_account['max']; } } if (isset($_POST['selfin'])) { $form['master_fin']=$form['master_ini']; $form['account_fin']=$form['account_ini']; } if (isset($_POST['return'])) { header("Location: ".$form['ritorno']); exit;
// Se l'anno è valido, procede. // if ($anno > 0) { $query = "SELECT * FROM " . $gTables['extcon'] . " WHERE year = \"".$anno."\""; $result = gaz_dbi_query ($query); $nrows = gaz_dbi_num_rows ($result); // // Se l'anno non c'è, aggiunge una riga vuota e la rilegge. // if ($nrows == 0) { $query = "INSERT INTO " . $gTables['extcon'] . " (`year`) VALUES (".$anno.")"; $result = gaz_dbi_query ($query); $query = "SELECT * FROM " . $gTables['extcon'] . " WHERE year = \"".$anno."\""; $result = gaz_dbi_query ($query); } $extra = gaz_dbi_fetch_array ($result); // // Sistema i valori nell'array $bil[], adattandoli in proporzione. // $extcon_sum = $extra['cos_serv_ind'] + $extra['cos_serv_amm'] + $extra['cos_serv_com']; if ($extcon_sum != 0) { $bil["eB7__ind"] = round (($extra['cos_serv_ind'] / $extcon_sum) * -$bil["eB007"]); $bil["eB7__amm"] = round (($extra['cos_serv_amm'] / $extcon_sum) * -$bil["eB007"]); $bil["eB7__com"] = round (($extra['cos_serv_com'] / $extcon_sum) * -$bil["eB007"]); } // $extcon_sum = $extra['cos_godb_ind'] + $extra['cos_godb_amm'] + $extra['cos_godb_com']; if ($extcon_sum != 0)