if ($row['art'] == 'DK') { print "<td align={$justering['0']} {$javascript} style='color:{$color}'> (KN) {$linjetext} {$understreg} {$row['ordrenr']}{$hrefslut}</span><br></td>"; } else { print "<td align={$justering['0']} {$javascript} style='color:{$color}'> {$linjetext} {$understreg} {$row['ordrenr']}{$hrefslut}</span><br></td>"; } # print "<td></td>"; $row['ordredato'] = dkdato($row['ordredate']); # print "<td>$ordredato<br></td>"; # $levdato=dkdato($row['levdate']); # print "<td>$levdato<br></td>"; # print"<td></td>"; for ($x = 1; $x < $vis_feltantal; $x++) { print "<td align={$justering[$x]} style='color:{$color}'>"; if ($vis_felt[$x] == "sum" || $vis_felt[$x] == 'sum_m_moms') { if ($genberegn) { $kostpris = genberegn($row['id']); } if ($valutakurs && $valutakurs != 100) { $sum = $sum * $valutakurs / 100; $sum_m_moms = $sum_m_moms * $valutakurs / 100; $kostpris = $kostpris * $valutakurs / 100; # $sum=bidrag($sum, $kostpris,'1'); # print "a".dkdecimal($sum,2); # $tmp=dkdecimal($sum,2); } elseif ($valg != 'faktura') { if ($vis_felt[$x] == "sum") { print dkdecimal($sum, 2); } else { print dkdecimal($sum_m_moms, 2); } }
$id = $row['id']; } } elseif ($id > 0) { if (!$fra_kto) { $fra_kto = 0; } if (!$til_kto) { $til_kto = 0; } if ($r = db_fetch_array(db_select("select id from kontoplan where kontonr = {$kontonr} and regnskabsaar = '{$regnaar}' and id!='{$id}'", __FILE__ . " linje " . __LINE__))) { print "<BODY onLoad=\"javascript:alert('Der findes allerede en konto med nr: {$kontonr}')\">"; } else { db_modify("update kontoplan set kontonr = {$kontonr}, beskrivelse = '{$beskrivelse}', kontotype = '{$kontotype}', moms = '{$moms}', fra_kto = '{$fra_kto}', til_kto = '{$til_kto}', genvej='{$genvej}', lukket = '{$lukket}' where id = '{$id}'", __FILE__ . " linje " . __LINE__); } } genberegn($regnaar); } if ($id > 0) { $query = db_select("select * from kontoplan where id = '{$id}'", __FILE__ . " linje " . __LINE__); if ($row = db_fetch_array($query)) { $id = $row['id']; $kontonr = $row['kontonr'] * 1; $beskrivelse = htmlentities(stripslashes($row['beskrivelse']), ENT_COMPAT, $charset); $kontotype = $row['kontotype']; # $katagori=$row['katagori']; $moms = $row['moms']; $fra_kto = $row['fra_kto']; # $til_kto=$row['til_kto']; $genvej = $row['genvej']; $lukket = $row['lukket']; $saldo = $row['saldo'] * 1;
} db_modify("update kontoplan set saldo='{$saldo[$x]}' where id='{$konto_id[$x]}'", __FILE__ . " linje " . __LINE__); } } $y = date('Y') - 1; $m = date('m'); $d = date('d'); while (!checkdate($m, $d, $y)) { #Skudår ! $d = $d - 1; if ($d < 28) { break 1; } } $tmp = $y . "-" . $m . "-" . $d; $r = db_fetch_array(db_select("select count(id) as transantal from transaktioner where transdate>='{$tmp}'", __FILE__ . " linje " . __LINE__)); $transantal = $r['transantal'] * 1; $logdate = date("Y-m-d"); $logtime = date("H:i:s"); db_modify("update grupper set box7='{$logdate}',box8='{$logtime}' where art='RA' and kodenr='{$regnskabsaar}'", __FILE__ . " linje " . __LINE__); include "../includes/connect.php"; db_modify("update regnskab set posteret='{$transantal}' where id='{$db_id}'", __FILE__ . " linje " . __LINE__); include "../includes/online.php"; } } if (isset($_GET['regnskabsaar']) && ($regnskabsaar = $_GET['regnskabsaar'])) { include "../includes/connect.php"; include "../includes/online.php"; print "Genberegner regnskabsaar {$regnskabsaar}<br>"; genberegn($regnskabsaar); }
function bogfor_nu($id, $kilde) { include "../includes/genberegn.php"; include "../includes/forfaldsdag.php"; global $db; global $regnaar; global $valuta; global $valutakurs; global $difkto; global $title; $kilde == 'on' ? $webservice = 'on' : ($webservice = NULL); /* $r = db_fetch_array(db_select("select box7 from grupper where art = 'DIV' and kodenr = '3'",__FILE__ . " linje " . __LINE__)); $tjek_lagerdiff=$r['box7']; if ($tjek_lagerdiff) { include("../includes/genberegn.php"); include("../includes/lagervaerdi.php"); $pre_stockvalue=lagervaerdi($regnaar); $pre_finans=finanslager($regnaar); $pre_lagerdiff=$pre_finans-$pre_stockvalue; #cho "$pre_lagerdiff=$pre_finans-$pre_stockvalue<br>"; } */ # print "<table><tbody>"; $svar = "OK"; $regnaar = $regnaar * 1; #20130820 --> $x = 0; if ($webservice) { $qtxt = "select distinct(kontonr) as kontonr from kontoplan where (kontotype='D' or kontotype='S')"; } else { $qtxt = "select kontonr from kontoplan where regnskabsaar='{$regnaar}' and (kontotype='D' or kontotype='S')"; } $q = db_select($qtxt, __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { $kontoplan[$x] = $r['kontonr']; $x++; } # <-- 20130820 # $fp=fopen("../temp/bogfor_nu.log","w"); # $linje="select * from ordrer where id = $id"; # fwrite($fp,$qtxt."\n"); $d_kontrol = 0; $k_kontrol = 0; $logdate = date("Y-m-d"); $logtime = date("H:i"); $uxtid = date("U"); $q = db_select("select box1, box2, box3, box4, box5 from grupper where art='RB'", __FILE__ . " linje " . __LINE__); if ($r = db_fetch_array($q)) { if (trim($r['box3']) == "on") { $faktbill = 1; } else { $faktbill = 0; } if (trim($r['box4']) == "on") { $modtbill = 1; } else { $modtbill = 0; } if (trim($r['box5']) == "on") { $no_faktbill = 1; $faktbill = 0; } else { $no_faktbill = 0; } } $projekt = array(); $idliste = array(); if (is_numeric($id)) { $tmp = "id = '" . $id . "'"; } else { $idliste = explode(",", $id); $antal = count($idliste); #cho " id er array<br>"; $tmp = "(id = '" . $idliste[0] . "'"; for ($x = 1; $x < $antal; $x++) { $tmp .= " or id = '" . $idliste[$x] . "'"; } $tmp .= ")"; } $x = 0; $moms = 0; $sum = 0; $modtaget = 0; $modtaget2 = 0; $betaling = array(); #20150518 (Denne og de to næste er flyttet fra "over select * from pos_betalinger") $modtaget = array(); #20150518 $bnr = -1; #20150518 #cho "select * from ordrer where $tmp<br>"; $q = db_select("select * from ordrer where {$tmp}", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { #cho "Sum $r[sum] $r[moms]<br>"; $art = $r['art']; if ($kilde == 'Dagsafslutning') { $art = 'PO'; } $ordre_id = $r['id']; #20120905 $konto_id = $r['konto_id']; $kontonr = str_replace(" ", "", $r['kontonr']); $firmanavn = trim($r['firmanavn']); $modtagelse = $r['modtagelse']; $transdate = $r['fakturadate']; $fakturanr = $r['fakturanr']; $ordrenr = $r['ordrenr']; $momssats = $r['momssats'] * 1; #cho "$firmanavn | $ordrenr<br>"; $valuta = $r['valuta']; $kred_ord_id = $r['kred_ord_id']; if (!$valuta) { $valuta = 'DKK'; } $projekt[0] = $r['projekt']; $betalingsbet = $r['betalingsbet']; $betalingsdage = $r['betalingsdage'] * 1; $betalt = $r['betalt'] * 1; /* if ($art=='PO') { $betaling=$r['felt_1']; $modtaget+=$r['felt_2']; $betaling2=$r['felt_3']; $modtaget2+=$r['felt_4']; $kasse=$r['felt_5']*1; if ($betalingsbet=='Kontant') { $konto_id=0; $kontonr=NULL; } } else $kasse=0; */ if ($art == 'PO') { #20150505 $qtxt = "select * from pos_betalinger where ordre_id='{$ordre_id}' order by betalingstype"; $q2 = db_select($qtxt, __FILE__ . " linje " . __LINE__); while ($r2 = db_fetch_array($q2)) { # for ($c=0;$c<count($betaling);$c++) echo "$bnr | $c | $bnretaling[$c]==$r2[betalingstype] | $r2[amount]<br>"; if (in_array($r2['betalingstype'], $betaling)) { #cho __line__."<br>"; for ($c = 0; $c < count($betaling); $c++) { if ($betaling[$c] == $r2['betalingstype']) { $modtaget[$c] += $r2['amount']; #cho "B $betaling[$c]==$r2[betalingstype] --> $modtaget[$c] -- $r2[amount]<br>"; } } } else { $bnr++; $betaling[$bnr] = $r2['betalingstype']; $modtaget[$bnr] = $r2['amount']; } } $kasse = $r['felt_5'] * 1; if ($betalingsbet == 'Kontant') { $konto_id = 0; $kontonr = NULL; } } else { $kasse = 0; } # $refnr; if ($momssats) { $moms += $r['moms'] * 1; } # else {$moms=afrund($r['sum']*$r['momssats']/100,2);} $sum += $r['sum'] + $r['moms']; $ordreantal = $x; $forfaldsdate = usdate(forfaldsdag($r['fakturadate'], $betalingsbet, $betalingsdage)); if ($art == 'PO') { $r2 = db_fetch_array(db_select("select id, afd from ansatte where initialer = '{$r['ref']}'", __FILE__ . " linje " . __LINE__)); } else { $r2 = db_fetch_array(db_select("select id, afd from ansatte where navn = '{$r['ref']}'", __FILE__ . " linje " . __LINE__)); } $afd = $r2['afd'] * 1; #sikkerhed for at 'afd' har en vaerdi $ansat = $r2['id'] * 1; if ($no_faktbill == 1) { $bilag = '0'; } else { $bilag = trim($fakturanr); } $udlign = 0; } # if ($sum) { /* if ($art=='PO' && $betalt >= $sum) { $kontonr=0; $konto_id=0; } */ if ($art != 'PO') { $r = db_fetch_array(db_select("select gruppe from adresser where id='{$konto_id}'", __FILE__ . " linje " . __LINE__)); $debitorgruppe = $r['gruppe']; $r = db_fetch_array(db_select("select box1 from grupper where art='DG' and kodenr='{$debitorgruppe}'", __FILE__ . " linje " . __LINE__)); $momskode = substr(trim($r['box1']), 1, 1); if ($moms && !$momskode) { return "Debitorgruppe {$debitorgruppe} ikke tilnkyttet en momsgruppe"; } } else { #saa er det en kontantordre # global $kasse; # global $betaling; # global $betaling2; # global $modtaget; # global $modtaget2; $tmparray = array(); $r = db_fetch_array(db_select("select * from grupper where art = 'POS' and kodenr = '1'", __FILE__ . " linje " . __LINE__)); $tmparray = explode(chr(9), $r['box7']); $momskode = $tmparray[$kasse - 1]; if ($moms && !$momskode) { return "Fejl i momskode for kasse {$kasse}!"; } } if (!is_numeric($id) || $betalingsbet == "Kontant" || $betalingsbet == "Kreditkort" || $betalingsbet == "Forud" && $art == 'PO') { #20130820+20150306 $tmp = NULL; $openpost = NULL; $r = db_fetch_array(db_select("select * from grupper where art = 'DIV' and kodenr = '3'", __FILE__ . " linje " . __LINE__)); #cho "select * from grupper where art = 'DIV' and kodenr = '3'<br>"; if ($betalingsbet == "Kontant") { $tmp = $r['box7']; } elseif ($betalingsbet == "Kreditkort") { $tmp = $r['box10']; } #cho "tmp $tmp<br>"; if ($tmp) { if (in_array($tmp, $kontoplan)) { $openpost = NULL; $kontonr = $tmp; } else { $tekst = "Kontonummer for {$betalingsbet} er ikke gyldigt\\nTjek Indstillinger > Diverse >Ordrerelaterede valg"; return $tekst; } } else { $openpost = 1; } } elseif ($art == 'PO' && !$kontonr) { $openpost = NULL; } else { $openpost = 1; } if (substr($art, 1, 1) == 'K' && $openpost && $kred_ord_id) { $beskrivelse = "Kreditnota - " . $fakturanr; $r = db_fetch_array(db_select("select fakturanr,fakturadate from ordrer where id='{$kred_ord_id}'", __FILE__ . " linje " . __LINE__)); $tmp = $sum * -1; if ($r2 = db_fetch_array(db_select("select * from openpost where konto_id='{$konto_id}' and amount='{$tmp}' and faktnr='{$r['fakturanr']}' and transdate='{$r['fakturadate']}' and udlignet != '1'", __FILE__ . " linje " . __LINE__))) { $transdate > $r2['transdate'] ? $udlign_date = $transdate : ($udlign_date = $r2['transdate']); $r2 = db_fetch_array(db_select("select max(udlign_id) as udlign_id from openpost", __FILE__ . " linje " . __LINE__)); $udlign_id = $r2['udlign_id'] + 1; db_modify("update openpost set udlignet='1',udlign_date='{$udlign_date}',udlign_id='{$udlign_id}' where konto_id='{$konto_id}' and amount='{$tmp}' and faktnr='{$r['fakturanr']}' and transdate='{$r['fakturadate']}'", __FILE__ . " linje " . __LINE__); $udlign = 1; } } elseif ($art == 'PO') { is_numeric($id) ? $beskrivelse = "Bon - " . $fakturanr : ($beskrivelse = "Kontantsalg kasse - " . $kasse); if ($kilde == 'Dagsafslutning') { $beskrivelse = $kilde . " - kassenr: " . $kasse; } } elseif ($openpost) { $beskrivelse = "Faktura - " . $fakturanr; } elseif ($betalingsbet == "Kontant") { $beskrivelse = "Kontantsalg: Faktura - " . $fakturanr; } else { $beskrivelse = "Kreditkort salg: Faktura - " . $fakturanr; } # 20120905 - Indsat grundet dobbelt bogforing af ordre id 4207 i regnskab saldi_510 #cho "select id from transaktioner where ordre_id='$ordre_id'<br>"; if ($r = db_fetch_array(db_select("select id,ordre_id from transaktioner where ordre_id='{$ordre_id}'", __FILE__ . " linje " . __LINE__))) { $tekst = "Bogføring afbrudt - tjek kontrolspor (id {$r['id']} oid {$r['ordre_id']})"; print "<BODY onLoad=\"javascript:alert('{$tekst}')\">"; return $tekst; } if ($kontonr && $openpost) { $tmp = $sum; if (db_fetch_array(db_select("select id from openpost where konto_id='{$konto_id}' and konto_nr='{$kontonr}' and faktnr='{$fakturanr}' and amount='{$tmp}' and beskrivelse='{$beskrivelse}' and udlignet='{$udlign}' and transdate='{$transdate}' and kladde_id='{$udlign}' and refnr='{$id}' and valuta='{$valuta}' and valutakurs='{$valutakurs}' and forfaldsdate='{$forfaldsdate}'", __FILE__ . " linje " . __LINE__))) { $tekst = "Bogføring afbrudt - tjek kontrolspor"; print "<BODY onLoad=\"javascript:alert('{$tekst}')\">"; return $tekst; } if ($udlign && $udlign_id && $udlign_date) { db_modify("insert into openpost (konto_id,konto_nr,faktnr,amount,beskrivelse,udlignet,udlign_id,udlign_date,transdate,uxtid,kladde_id,refnr,valuta,valutakurs,forfaldsdate,projekt) values ('{$konto_id}','{$kontonr}','{$fakturanr}','{$tmp}','{$beskrivelse}','{$udlign}','{$udlign_id}','{$udlign_date}','{$transdate}','{$uxtid}','{$udlign}','{$id}','{$valuta}','{$valutakurs}','{$forfaldsdate}','{$projekt['0']}')", __FILE__ . " linje " . __LINE__); } else { db_modify("insert into openpost (konto_id,konto_nr,faktnr,amount,beskrivelse,udlignet,transdate,uxtid,kladde_id,refnr,valuta,valutakurs,forfaldsdate,projekt) values ('{$konto_id}','{$kontonr}','{$fakturanr}','{$tmp}','{$beskrivelse}','{$udlign}','{$transdate}','{$uxtid}','{$udlign}','{$id}','{$valuta}','{$valutakurs}','{$forfaldsdate}','{$projekt['0']}')", __FILE__ . " linje " . __LINE__); } $r = db_fetch_array(db_select("select max(id) as id from openpost where konto_id = '{$konto_id}' and faktnr = '{$fakturanr}' and refnr='{$id}'", __FILE__ . " linje " . __LINE__)); $openpost_id = $r['id']; $r = db_fetch_array(db_select("select gruppe from adresser where id='{$konto_id}'", __FILE__ . " linje " . __LINE__)); $r = db_fetch_array(db_select("select beskrivelse, box2 from grupper where art = 'DG' and kodenr='{$r['gruppe']}'", __FILE__ . " linje " . __LINE__)); $kontonr = $r['box2']; # Kontonr aendres fra at vaere leverandoerkontonr til finanskontonr $tekst = "Kontonummer for Debitorgruppe `{$r['beskrivelse']}` er ikke gyldigt"; if (!$kontonr && $webservice) { return $tekst; } elseif (!$kontonr) { print "<BODY onLoad=\"javascript:alert('{$tekst}')\">"; } } if (!in_array($kontonr, $kontoplan) && $art != 'PO') { $tekst = "Kontonummer {$kontonr} findes ikke i kontoplanen for regnskabsaar {$regnaar}"; return $tekst; exit; } if ($art == 'PO' && $sum) { #saa er det en kontantordre (POS) $retur = $sum; $tmparray = array(); $r = db_fetch_array(db_select("select box6 from grupper where art = 'POS' and kodenr = '2'", __FILE__ . " linje " . __LINE__)); $div_kort_kto = trim($r['box6']); $r = db_fetch_array(db_select("select * from grupper where art = 'POS' and kodenr = '1'", __FILE__ . " linje " . __LINE__)); if (!$konto_id) { #20140616 $tmparray = explode(chr(9), $r['box2']); $kassekto = $tmparray[$kasse - 1]; $kontonr = $kassekto; } #else $tmparray = explode(chr(9), $r['box3']); $afd = $tmparray[$kasse - 1] * 1; $tmparray = explode(chr(9), $r['box5']); $kortantal = $r['box4'] * 1; $korttyper = explode(chr(9), $r['box5']); $kortkonti = explode(chr(9), $r['box6']); $kortnavn = NULL; if ($div_kort_kto) { #20140129 for ($b = 0; $b < count($betaling); $b++) { #20150505 if (strpos($betaling[$b], "|")) { list($betaling[$b], $kortnavn) = explode("|", $betaling[$b]); } } # if (strpos($betaling2,"|")) list($betaling2,$kortnavn)=explode("|",$betaling2); $korttyper[$kortantal] = 'Betalingskort'; $kortkonti[$kortantal] = $div_kort_kto; $kortantal++; } for ($x = 0; $x < $kortantal; $x++) { #20150505 #cho __LINE__." $korttyper[$x] -->"; for ($b = 0; $b < count($betaling); $b++) { #cho __LINE__." $betaling[$b]==$korttyper[$x] -->"; #cho "$modtaget[$b]<br>"; if ($betaling[$b] == $korttyper[$x]) { $kontonr = $kortkonti[$x]; #20150507 $debet = afrund($modtaget[$b], 2); $kredit = '0'; $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $retur = $retur - $modtaget[$b]; $sum = $sum - $modtaget[$b]; if ($debet) { if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$kortkonti[$x]}','{$fakturanr}','{$debet}','{$kredit}','0',{$afd},'{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$kortkonti[$x]}','0','{$debet}','{$kredit}','0',{$afd},'{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','0','{$kasse}')"; } db_modify($qtxt, __FILE__ . " linje " . __LINE__); $qtxt = "update kontoplan set saldo=saldo+'{$debet}' where kontonr='{$kortkonti[$x]}' and regnskabsaar='{$regnaar}'"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); } } #xit; /* if ($betaling2==$korttyper[$x]) { $debet=afrund($modtaget2,2); $kredit='0'; $d_kontrol=$d_kontrol+$debet; $k_kontrol=$k_kontrol+$kredit; $sum=$sum-$modtaget2; if (is_numeric($id)) { $qtxt="insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','$transdate','$beskrivelse','$kortkonti[$x]','$fakturanr','$debet','$kredit','0',$afd,'$logdate','$logtime','$projekt[0]','$ansat','$id','$kasse')"; } else { $qtxt="insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','$transdate','$beskrivelse','$kortkonti[$x]','0','$debet','$kredit','0',$afd,'$logdate','$logtime','$projekt[0]','$ansat','0','$kasse')"; } db_modify($qtxt,__FILE__ . " linje " . __LINE__); $qtxt="update kontoplan set saldo=saldo+'$debet' where kontonr='$kortkonti[$x]' and regnskabsaar='$regnaar'"; db_modify($qtxt,__FILE__ . " linje " . __LINE__); } */ } } #cho __LINE__." $konto_id | $openpost -> $kontonr<br>"; if (!$konto_id) { $kontonr = $kassekto; } #20150518 (Ellers fortsætter den med at bogføre på samme kontonr) #20150521 #cho __LINE__." $konto_id-> $kontonr<br>"; } $sum = afrund($sum, 3); if ($sum) { if ($sum > 0) { $debet = $sum; $kredit = '0'; } else { $debet = '0'; $kredit = $sum * -1; } if ($valutakurs) { $kredit = afrund($kredit * $valutakurs / 100, 3); $debet = afrund($debet * $valutakurs / 100, 3); } # Omregning til DKR. $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$kontonr}','{$fakturanr}','{$debet}','{$kredit}','0',{$afd},'{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$kontonr}','0','{$debet}','{$kredit}','0',{$afd},'{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','0','{$kasse}')"; } #cho __LINE__." $qtxt<br>"; #xit; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; $qtxt = "update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$kontonr}' and regnskabsaar='{$regnaar}'"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); } if ($valutakurs) { $maxdif = 2; } #Der tillades 2 oeres afrundingsdiff $p = 0; $projektliste = ''; if (is_numeric($id)) { $tmp = "ordre_id = '" . $id . "'"; } else { $idliste = explode(",", $id); $antal = count($idliste); $tmp = "(ordre_id = '" . $idliste[0] . "'"; for ($x = 1; $x < $antal; $x++) { $tmp .= " or ordre_id = '" . $idliste[$x] . "'"; } $tmp .= ")"; } db_modify("update ordrelinjer set projekt='' where projekt is NULL and {$tmp}", __FILE__ . " linje " . __LINE__); $q = db_select("select distinct(projekt) from ordrelinjer where {$tmp} and vare_id >'0'", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { # if(trim($r['projekt'])) { $p++; $projekt[$p] = trim($r['projekt']); $projektliste ? $projektliste .= "<br>" . $projekt[$p] : ($projektliste = $projekt[$p]); # } } $p ? $projektantal = $p : ($projektantal = 1); if ($projektliste && $openpost) { db_modify("update openpost set projekt='{$projektliste}' where id='{$openpost_id}'", __FILE__ . " linje " . __LINE__); } # for ($p=1;$p<=$projektantal;$p++) for ($t = 1; $t <= 2; $t++) { for ($p = 1; $p <= $projektantal; $p++) { $y = 0; $tjek = array(); $bogf_konto = array(); if (is_numeric($id)) { $tmp = "ordre_id = '" . $id . "'"; } else { $idliste = explode(",", $id); $antal = count($idliste); $tmp = "(ordre_id = '" . $idliste[0] . "'"; for ($x = 1; $x < $antal; $x++) { $tmp .= " or ordre_id = '" . $idliste[$x] . "'"; } $tmp .= ")"; } if ($t == 1) { $qtxt = "select * from ordrelinjer where {$tmp} and projekt='{$projekt[$p]}' and posnr>='0' order by bogf_konto"; } else { $qtxt = "select * from ordrelinjer where {$tmp} and projekt='{$projekt[$p]}' and posnr<'0' order by bogf_konto"; } #cho __LINE__."$qtxt<br>"; $q = db_select($qtxt, __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { #cho __LINE__." $y<br>"; if ($valutakurs && $valutakurs != 100) { $maxdif = $maxdif + 2; } #Og yderligere 2 pr ordrelinje. if (!in_array($r['bogf_konto'], $bogf_konto)) { $y++; $bogf_konto[$y] = $r['bogf_konto']; if ($r['rabatart'] == 'amount') { # $pris[$y]=$r['pris']*$r['antal']-($r['rabat']*$r['antal']); # remmet 20140424b $linjesum = $r['pris'] * $r['antal'] - $r['rabat'] * $r['antal']; #20140424b $r['procent'] || $r['procent'] != '' ? $pris[$y] = $linjesum * $r['procent'] / 100 : ($pris[$y] = $linjesum); #20140424b } else { # $pris[$y]=$r['pris']*$r['antal']-($r['pris']*$r['antal']*$r['rabat']/100); # remmet 20140424b $linjesum = $r['pris'] * $r['antal'] - $r['pris'] * $r['antal'] * $r['rabat'] / 100; #20140424b $r['procent'] || $r['procent'] != '' ? $pris[$y] = $linjesum * $r['procent'] / 100 : ($pris[$y] = $linjesum); #20140424b if ($art == 'PO') { $pris[$y] = afrund($pris[$y], 3); } else { $pris[$y] = afrund($pris[$y], 3); } #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104 -- 2011.02.07 ændret til 2 decimaler ordre_id 1325 saldi_329 #cho "$pris[$y]<br>"; } } else { for ($a = 1; $a <= $y; $a++) { if ($bogf_konto[$a] == $r['bogf_konto']) { if ($r['rabatart'] == 'amount') { # $pris[$a]+=$r['pris']*$r['antal']-($r['rabat']*$r['antal']); # remmet 20140424b $linjesum = $r['pris'] * $r['antal'] - $r['rabat'] * $r['antal']; #20140424b } else { # $pris[$a]=$pris[$a]+($r['pris']*$r['antal']-($r['pris']*$r['antal']*$r['rabat']/100)); # remmet 20140424b $linjesum = $r['pris'] * $r['antal'] - $r['pris'] * $r['antal'] * $r['rabat'] / 100; #20140424b } $r['procent'] || $r['procent'] != '' ? $pris[$a] += $linjesum * $r['procent'] / 100 : ($pris[$a] += $linjesum); #20140424b if ($art == 'PO') { $pris[$a] = afrund($pris[$a], 3); } else { $pris[$a] = afrund($pris[$a], 3); } #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104 -- 2011.02.07 ændret til 2 decimaler ordre_id 1325 saldi_329 } } } } $ordrelinjer = $y; if ($indbetaling) { $ordrelinjer = 0; } for ($y = 1; $y <= $ordrelinjer; $y++) { if ($bogf_konto[$y] && $pris[$y]) { if ($pris[$y] > 0) { $kredit = $pris[$y]; $debet = 0; } else { $kredit = 0; $debet = $pris[$y] * -1; } if ($t == 1 && $valutakurs) { $kredit = $kredit * $valutakurs / 100; $debet = $debet * $valutakurs / 100; } # Omregning til DKR. $kredit = afrund($kredit, 3); $debet = afrund($debet, 3); $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$bogf_konto[$y]}','{$fakturanr}','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt[$p]}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$bogf_konto[$y]}','0','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt[$p]}','{$ansat}','0','{$kasse}')"; } #cho __LINE__."$qtxt<br>"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; $qtxt = "update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$bogf_konto[$y]}' and regnskabsaar='{$regnaar}'"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); } elseif ($pris[$y]) { $svar = "Fejl i kontoopsætning"; if (!$webservice) { print "<BODY onLoad=\"javascript:alert('{$svar}')\">"; } else { return "{$svar}"; } exit; } } } } #xit; if ($momskode) { $query = db_select("select box1 from grupper where art='SM' and kodenr='{$momskode}'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); if ($box1 = trim($row['box1'])) { # 20150522 if ($moms > 0) { $kredit = $moms; $debet = '0'; } else { $kredit = '0'; $debet = $moms * -1; } if ($valutakurs) { $kredit = afrund($kredit * $valutakurs / 100, 3); $debet = afrund($debet * $valutakurs / 100, 3); } # Omregning til DKR. $kredit = afrund($kredit, 3); $debet = afrund($debet, 3); $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $diff = afrund($d_kontrol - $k_kontrol, 3); $absdiff = abs($diff); if ($moms && $valutakurs && $valutakurs != 100 && $absdiff >= 0.01 && $absdiff <= 0.05) { if ($debet > 0) { $debet = $debet + $diff; $d_kontrol = $d_kontrol + $diff; } elseif ($kredit > 0) { $kredit = $kredit + $diff; $k_kontrol = $k_kontrol + $diff; } } $moms = afrund($moms, 2); if ($moms) { if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id,kasse_nr) values ('0', '{$transdate}', '{$beskrivelse}', '{$box1}', '{$fakturanr}', '{$debet}', '{$kredit}', '0', '{$afd}', '{$logdate}', '{$logtime}', '{$projekt['0']}', '{$ansat}', '{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id,kasse_nr) values ('0', '{$transdate}', '{$beskrivelse}', '{$box1}', '0', '{$debet}', '{$kredit}', '0', '{$afd}', '{$logdate}', '{$logtime}', '{$projekt['0']}', '{$ansat}', '0','{$kasse}')"; } #cho __LINE__." $qtxt<br>"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; $qtxt = "update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$box1}' and regnskabsaar='{$regnaar}'"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); } $valutakurs = $valutakurs * 1; } elseif ($moms) { return "Fejl i momsopsætning"; } } if (is_numeric($id)) { $tmp = "id = '" . $id . "'"; } else { $idliste = explode(",", $id); $antal = count($idliste); $tmp = "(id = '" . $idliste[0] . "'"; for ($x = 1; $x < $antal; $x++) { $tmp .= " or id = '" . $idliste[$x] . "'"; } $tmp .= ")"; } $tidspkt = date("H:i"); db_modify("update ordrer set status='4',valutakurs='{$valutakurs}' where {$tmp}", __FILE__ . " linje " . __LINE__); if (is_numeric($id)) { $tmp = "ordre_id = '" . $id . "'"; } else { $idliste = explode(",", $id); $antal = count($idliste); $tmp = "(ordre_id = '" . $idliste[0] . "'"; for ($x = 1; $x < $antal; $x++) { $tmp .= " or ordre_id = '" . $idliste[$x] . "'"; } $tmp .= ")"; } db_modify("delete from ordrelinjer where {$tmp} and posnr < 0", __FILE__ . " linje " . __LINE__); $d_kontrol = afrund($d_kontrol, 2); $k_kontrol = afrund($k_kontrol, 2); if ($diff = afrund($d_kontrol - $k_kontrol, 2)) { $debet = 0; $kredit = 0; if ($diff < 0) { $debet = $diff * -1; } else { $kredit = $diff; } $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); #cho "$diff > maxdif $maxdif<br>"; if ($art == 'PO') { #20140628 #cho "select box1,box2 from grupper where grupper.art='OreDif'<br>"; $r = db_fetch_array(db_select("select box1,box2 from grupper where grupper.art='OreDif'", __FILE__ . " linje " . __LINE__)); $difkto = $r['box2'] * 1; $maxdif = $r['box1'] * 100; if (!db_fetch_array(db_select("select id from kontoplan where kontonr='{$difkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__))) { return "Kontonr {$difkto} (Øredifferencer) eksisterer ikke"; } $diff = 0; $q = db_select("select debet,kredit from transaktioner where beskrivelse='{$beskrivelse}' and logdate='{$logdate}' and logtime='{$logtime}' and kasse_nr='{$kasse}'", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { $d = afrund($r['debet'], 2); $k = afrund($r['kredit'], 2); #cho "tmp $d $k<br>"; $diff += $d - $k; } if ($diff) { if ($diff < 0) { $debet = $diff * -1; } else { $kredit = $diff; } $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$difkto}','{$fakturanr}','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$difkto}','0','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','0','{$kasse}')"; } #cho __LINE__." $qtxt<br>"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; db_modify("update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$difkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__); } #xit; } elseif ($valuta != 'DKK' && abs($diff) <= $maxdif) { #Der maa max vaere en afvigelse paa 1 oere pr ordrelinje m fremmed valuta; $r = db_fetch_array(db_select("select box3 as difkto from grupper where grupper.art='VK' and grupper.box1='{$valuta}'", __FILE__ . " linje " . __LINE__)); $difkto = $r['difkto'] * 1; if (!db_fetch_array(db_select("select id from kontoplan where kontonr='{$difkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__))) { return "Kontonr {$difkto} (kursdiff) eksisterer ikke"; } if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$difkto}','{$fakturanr}','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$difkto}','0','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','0','{$kasse}')"; } #cho __LINE__."$qtxt<br>"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; db_modify("update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$difkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__); #xit; } elseif (abs($diff) < 0.05) { if ($r = db_fetch_array(db_select("select * from grupper where art = 'OreDif'", __FILE__ . " linje " . __LINE__))) { $oredifkto = $r['box2']; } else { return 'Manglende kontonummer til øredifferencer - Se indstillinger -> diverse -> ørediff'; } $r = db_fetch_array(db_select("select id from kontoplan where kontotype = 'D' and kontonr = '{$oredifkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__)); if ($r['id']) { if (is_numeric($id)) { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$oredifkto}','{$fakturanr}','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','{$id}','{$kasse}')"; } else { $qtxt = "insert into transaktioner (bilag,transdate,beskrivelse,kontonr,faktura,debet,kredit,kladde_id,afd,logdate,logtime,projekt,ansat,ordre_id,kasse_nr) values ('0','{$transdate}','{$beskrivelse}','{$oredifkto}','0','{$debet}','{$kredit}','0','{$afd}','{$logdate}','{$logtime}','{$projekt['0']}','{$ansat}','0','{$kasse}')"; } #cho __LINE__."$qtxt<br>"; db_modify($qtxt, __FILE__ . " linje " . __LINE__); $tmp = $debet - $kredit; db_modify("update kontoplan set saldo=saldo+'{$tmp}' where kontonr='{$oredifkto}' and regnskabsaar='{$regnaar}'", __FILE__ . " linje " . __LINE__); } else { return 'Manglende kontonummer til øredifferencer - Se indstillinger -> diverse -> ørediff'; } } else { $svar = "Der er konstateret en uoverensstemmelse i posteringssummen, ID {$ordre_id} ordre {$ordrenr}, d={$d_kontrol}, k={$k_kontrol} kontakt DANOSOFT på telefon 4690 2208"; if ($art == 'PO') { echo "{$svar}<br>"; } $message = $db . " | Uoverensstemmelse i posteringssum: ordre_id={$id}, d={$d_kontrol}, k={$k_kontrol} | " . __FILE__ . " linje " . __LINE__ . " | " . $brugernavn . " " . date("Y-m-d H:i:s"); $headers = 'From: fejl@saldi.dk' . "\r\n" . 'Reply-To: fejl@saldi.dk' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail('*****@*****.**', 'SALDI Fejl', $message, $headers); return "{$svar}"; #20130506 exit; } } if ($konto_id) { $r = db_fetch_array(db_select("select sum(amount) from openpost where udlignet!='1' and konto_id = '{$konto_id}'", __FILE__ . " linje " . __LINE__)); $saldo = $r['amount'] * 1; db_modify("update adresser set saldo='{$saldo}' where id='{$konto_id}'", __FILE__ . " linje " . __LINE__); } if ($title != "Massefakturering" && !$webservice && $art != 'PO') { genberegn($regnaar); } return $svar; }
function opdat_1_0($under_nr, $lap_nr) { global $version; global $db; global $db_id; global $regnskab; global $regnaar; $s_id = session_id(); if ($lap_nr < 2) { transaktion("begin"); $x = 0; /* $query=db_select("SELECT id FROM formularer where formular = 6",__FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) {$x++;} if ($x<=1) { $fp=fopen("../importfiler/formular.txt","r"); if ($fp) { while (!feof($fp)) { list($formular, $art, $beskrivelse, $justering, $xa, $ya, $xb, $yb, $str, $color, $font, $fed, $kursiv, $side) = split(chr(9), fgets($fp)); if ($formular==6) { $justering=trim($justering); $form=trim($font); $fed=trim($fed); $kursiv=trim($kursiv); $side=trim($side); $xa= $xa*1; $ya= $ya*1; $xb= $xb*1; $yb=$yb*1; $str=$str*1; $color=$color*1; db_modify("insert into formularer (formular, art, beskrivelse, xa, ya, xb, yb, justering, str, color, font, fed, kursiv, side) values ('$formular', '$art', '$beskrivelse', '$xa', '$ya', '$xb', '$yb', '$justering', '$str', '$color', '$font', '$fed', '$kursiv', '$side')",__FILE__ . " linje " . __LINE__); } } } fclose($fp); } */ $query = db_select("SELECT id, box1 FROM grupper where art = 'DG'", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { if (strlen(trim($row['box1'])) == 1) { $box1 = 'S' . trim($row['box1']); db_modify("UPDATE grupper set box1 = '{$box1}' where id = {$row['id']}", __FILE__ . " linje " . __LINE__); } } $query = db_select("SELECT id, box1 FROM grupper where art = 'KG'", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { if (strlen(trim($row['box1'])) == 1) { $box1 = 'K' . trim($row['box1']); db_modify("UPDATE grupper set box1 = '{$box1}' where id = {$row['id']}", __FILE__ . " linje " . __LINE__); } } db_modify("ALTER TABLE kontoplan ADD genvej varchar", __FILE__ . " linje " . __LINE__); $x = 0; $query = db_select("SELECT kodenr FROM grupper where art = 'LG' order by kodenr", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $x++; $lagernr[$x] = $row[kodenr]; } $lagerantal = $x; $x = 0; $query = db_select("SELECT id FROM varer order by id", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $x++; $vare_id[$x] = $row[id]; } $vareantal = $x; for ($y = 1; $y <= $lagerantal; $y++) { for ($x = 1; $x <= $vareantal; $x++) { $z = 0; $query = db_select("SELECT rest FROM batch_kob where vare_id={$vare_id[$x]} and lager={$lagernr[$y]}", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $z = $z + $row[rest]; } db_modify("UPDATE lagerstatus set beholdning={$z} where vare_id = {$x} and lager = {$y}", __FILE__ . " linje " . __LINE__); } } db_modify("UPDATE grupper set box1 = '1.0.2' where art = 'VE'", __FILE__ . " linje " . __LINE__); transaktion("commit"); } if ($lap_nr <= 6) { transaktion("begin"); db_modify("ALTER TABLE adresser ADD kontoansvarlig integer", __FILE__ . " linje " . __LINE__); db_modify("UPDATE grupper set box1 = '1.0.7' where art = 'VE'", __FILE__ . " linje " . __LINE__); transaktion("commit"); } if ($lap_nr <= 7) { include "../includes/connect.php"; include "../includes/online.php"; $filnavn = "../temp/{$db}.sql"; $fp = fopen($filnavn, "w"); fwrite($fp, "CREATE TABLE openpost (id serial NOT NULL, konto_id integer, konto_nr varchar, faktnr varchar, amount numeric, refnr integer, beskrivelse varchar, udlignet varchar, transdate date, kladde_id integer, bilag_id integer,forfaldsdate date,betal_id varchar, PRIMARY KEY (id));\n"); fclose($fp); echo "<br>export PGPASSWORD={$sqpass}\npsql {$db} -h {$sqhost} -U {$squser} < {$filnavn} > ../temp/NULL\n<br>"; system("export PGPASSWORD={$sqpass}\npsql {$db} -h {$sqhost} -U {$squser} < {$filnavn} > ../temp/NULL\n"); transaktion('begin'); db_modify("ALTER TABLE openpost ADD udlign_id integer", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE openpost ADD udlign_date date", __FILE__ . " linje " . __LINE__); db_modify("UPDATE openpost SET udlign_id = '0'", __FILE__ . " linje " . __LINE__); include "../includes/autoudlign.php"; autoudlign('0'); db_modify("UPDATE grupper set box1 = '1.0.8' where art = 'VE'", __FILE__ . " linje " . __LINE__); transaktion('commit'); } if ($lap_nr <= 8) { transaktion('begin'); db_modify("ALTER TABLE grupper ADD box9 varchar", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE grupper ADD box10 varchar", __FILE__ . " linje " . __LINE__); db_modify("CREATE TABLE provision (id serial NOT NULL, gruppe_id integer, ansat_id integer, provision numeric, PRIMARY KEY (id))", __FILE__ . " linje " . __LINE__); db_modify("UPDATE grupper set box1 = '1.0.9' where art = 'VE'", __FILE__ . " linje " . __LINE__); transaktion('commit'); } if ($lap_nr <= 9) { transaktion('begin'); db_modify("ALTER TABLE varer ADD komplementaer varchar", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE varer ADD circulate integer", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE varer ADD operation integer", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ordrelinjer ADD kostpris numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ordrelinjer ADD samlevare varchar", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD materialenr varchar", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD tykkelse numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD kgpris numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD avance numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD enhed varchar", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD opdat_date date", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE materialer ADD opdat_time time", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ansatte ADD nummer integer", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ansatte ADD loen numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ansatte ADD hold integer", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE ansatte ADD lukket varchar", __FILE__ . " linje " . __LINE__); db_modify("UPDATE ansatte set lukket = ''", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md01", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md02", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md03", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md04", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md05", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md06", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md07", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md08", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md09", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md10", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md11", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan DROP md12", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan ADD saldo numeric", __FILE__ . " linje " . __LINE__); db_modify("ALTER TABLE kontoplan ADD overfor_til numeric", __FILE__ . " linje " . __LINE__); db_modify("CREATE TABLE tidsreg (id serial NOT NULL, person integer, ordre integer, pnummer integer, operation integer, materiale integer, tykkelse numeric, laengde numeric, bredde numeric, antal_plader numeric, gaa_hjem integer, tid integer, forbrugt_tid integer, opsummeret_tid integer, beregnet integer, pause integer, antal numeric, faerdig integer, circ_time integer, PRIMARY KEY (id))", __FILE__ . " linje " . __LINE__); db_modify("CREATE TABLE tmpkassekl (id integer, lobenr integer, bilag varchar, transdate varchar, beskrivelse varchar, d_type varchar, debet varchar, k_type varchar, kredit varchar, faktura varchar, amount varchar, kladde_id integer, momsfri varchar, afd varchar)", __FILE__ . " linje " . __LINE__); db_modify("UPDATE grupper set box9 = 'on' where box8 = 'on' and art = 'VG'", __FILE__ . " linje " . __LINE__); include "../includes/genberegn.php"; $query = db_select("SELECT kodenr FROM grupper where art = 'RA' order by kodenr", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { genberegn($row[kodenr]); } db_modify("UPDATE grupper set box1 = '1.1.0' where art = 'VE'", __FILE__ . " linje " . __LINE__); transaktion('commit'); # Husk opret.php.... (internt notat) } db_modify("UPDATE grupper set box1 ='{$version}' where art = 'VE'", __FILE__ . " linje " . __LINE__); }
function bogfor_nu($id, $webservice) { include "../includes/genberegn.php"; include "../includes/forfaldsdag.php"; global $db; global $regnaar; global $valuta; global $valutakurs; global $difkto; global $title; # print "<table><tbody>"; $svar = "OK"; $d_kontrol = 0; $k_kontrol = 0; $logdate = date("Y-m-d"); $logtime = date("H:i"); $q = db_select("select box1, box2, box3, box4, box5 from grupper where art='RB'", __FILE__ . " linje " . __LINE__); if ($r = db_fetch_array($q)) { if (trim($r['box3']) == "on") { $faktbill = 1; } else { $faktbill = 0; } if (trim($r['box4']) == "on") { $modtbill = 1; } else { $modtbill = 0; } if (trim($r['box5']) == "on") { $no_faktbill = 1; $faktbill = 0; } else { $no_faktbill = 0; } } $projekt = array(); $x = 0; $q = db_select("select * from ordrer where id='{$id}'", __FILE__ . " linje " . __LINE__); if ($r = db_fetch_array($q)) { $art = $r['art']; $konto_id = $r['konto_id']; $kontonr = str_replace(" ", "", $r['kontonr']); $firmanavn = trim($r['firmanavn']); $modtagelse = $r['modtagelse']; $transdate = $r['fakturadate']; $fakturanr = $r['fakturanr']; $ordrenr = $r['ordrenr']; #echo "$firmanavn | $ordrenr<br>"; $valuta = $r['valuta']; $kred_ord_id = $r['kred_ord_id']; if (!$valuta) { $valuta = 'DKK'; } $projekt[0] = $r['projekt'] * 1; $betalingsbet = $r['betalingsbet']; $betalingsdage = $r['betalingsdage'] * 1; # $refnr; $moms = $r['moms'] * 1; # else {$moms=afrund($r['sum']*$r['momssats']/100,2);} $sum = $r['sum'] + $moms; #echo "sum $r[sum] + $moms = $sum<br>"; #exit; $ordreantal = $x; $forfaldsdate = usdate(forfaldsdag($r['fakturadate'], $betalingsbet, $betalingsdage)); $r2 = db_fetch_array(db_select("select id, afd from ansatte where navn = '{$r['ref']}'", __FILE__ . " linje " . __LINE__)); $afd = $r2['afd'] * 1; #sikkerhed for at 'afd' har en vaerdi $ansat = $r2['id'] * 1; if ($no_faktbill == 1) { $bilag = '0'; } else { $bilag = trim($fakturanr); } $udlign = 0; if (substr($art, 1, 1) == 'K') { $beskrivelse = "Kreditnota - " . $fakturanr; $r = db_fetch_array(db_select("select fakturanr,fakturadate from ordrer where id='{$kred_ord_id}'", __FILE__ . " linje " . __LINE__)); $tmp = $sum * -1; if (db_fetch_array(db_select("select * from openpost where konto_id='{$konto_id}' and amount='{$tmp}' and faktnr='{$r['fakturanr']}' and transdate='{$r['fakturadate']}' and udlignet != '1'", __FILE__ . " linje " . __LINE__))) { db_modify("update openpost set udlignet = 1 where konto_id='{$konto_id}' and amount='{$tmp}' and faktnr='{$r['fakturanr']}' and transdate='{$r['fakturadate']}'"); $udlign = 1; } } elseif ($art == 'PO') { $beskrivelse = "Bon - " . $fakturanr; } else { $beskrivelse = "Faktura - " . $fakturanr; } if ($art != 'PO') { db_modify("insert into openpost (konto_id, konto_nr, faktnr, amount, beskrivelse, udlignet, transdate, kladde_id, refnr, valuta, valutakurs, forfaldsdate) values ('{$konto_id}', '{$kontonr}', '{$fakturanr}', '{$sum}', '{$beskrivelse}', '{$udlign}', '{$transdate}', '{$udlign}', '{$id}', '{$valuta}', '{$valutakurs}','{$forfaldsdate}')", __FILE__ . " linje " . __LINE__); $r = db_fetch_array(db_select("select gruppe from adresser where id='{$konto_id}'", __FILE__ . " linje " . __LINE__)); $r = db_fetch_array(db_select("select beskrivelse, box2 from grupper where art = 'DG' and kodenr='{$r['gruppe']}'", __FILE__ . " linje " . __LINE__)); $kontonr = $r['box2']; # Kontonr aendres fra at vaere leverandoerkontonr til finanskontonr $tekst = "Kontonummer for Debitorgruppe `{$r['beskrivelse']}` er ikke gyldigt"; if (!$kontonr && $webservice) { return $tekst; } elseif (!$kontonr) { print "<BODY onLoad=\"javascript:alert('{$tekst}')\">"; } } else { $kontonr = "58200"; } # midleritdig kun til brug med POS if ($sum > 0) { $debet = $sum; $kredit = '0'; } else { $debet = '0'; $kredit = $sum * -1; } if ($valutakurs) { $kredit = afrund($kredit * $valutakurs / 100, 3); $debet = afrund($debet * $valutakurs / 100, 3); } # Omregning til DKR. $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); #echo "A insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '$transdate', '$beskrivelse', '$kontonr', '$fakturanr', '$debet', '$kredit', '0', $afd, '$logdate', '$logtime', '$projekt[0]', '$ansat', '$id')<br>"; db_modify("insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '{$transdate}', '{$beskrivelse}', '{$kontonr}', '{$fakturanr}', '{$debet}', '{$kredit}', '0', {$afd}, '{$logdate}', '{$logtime}', '{$projekt['0']}', '{$ansat}', '{$id}')", __FILE__ . " linje " . __LINE__); if ($valutakurs) { $maxdif = 2; } #Der tillades 2 oeres afrundingsdiff $p = 0; $q = db_select("select distinct(projekt) from ordrelinjer where ordre_id={$id} and vare_id >\t'0'", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { $p++; $projekt[$p] = $r['projekt'] * 1; } $projektantal = $p; for ($t = 1; $t <= 2; $t++) { for ($p = 1; $p <= $projektantal; $p++) { $y = 0; $tjek = array(); $bogf_konto = array(); if ($t == 1) { #echo "select * from ordrelinjer where ordre_id='$id' and projekt='$projekt[$p]' and posnr>=0<br>"; $q = db_select("select * from ordrelinjer where ordre_id='{$id}' and projekt='{$projekt[$p]}' and posnr>=0", __FILE__ . " linje " . __LINE__); } else { #echo "select * from ordrelinjer where ordre_id='$id' and projekt='$projekt[$p]' and posnr<0<br>"; $q = db_select("select * from ordrelinjer where ordre_id='{$id}' and projekt='{$projekt[$p]}' and posnr<0", __FILE__ . " linje " . __LINE__); } while ($r = db_fetch_array($q)) { if ($valutakurs) { $maxdif = $maxdif + 2; } #Og yderligere 2 pr ordrelinje. $tmp = $projekt[$p] . ":" . $r['bogf_konto']; if (!in_array($r['bogf_konto'], $bogf_konto)) { $y++; $bogf_konto[$y] = $r['bogf_konto']; $pris[$y] = $r['pris'] * $r['antal'] - $r['pris'] * $r['antal'] * $r['rabat'] / 100; $pris[$y] = afrund($pris[$y], 3); #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104 } else { for ($a = 1; $a <= $y; $a++) { if ($bogf_konto[$a] == $r['bogf_konto']) { $pris[$a] = $pris[$a] + ($r['pris'] * $r['antal'] - $r['pris'] * $r['antal'] * $r['rabat'] / 100); $pris[$a] = afrund($pris[$a], 3); #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104 } } } } $ordrelinjer = $y; #echo "ol $ordrelinjer<br>"; for ($y = 1; $y <= $ordrelinjer; $y++) { if ($bogf_konto[$y]) { if ($pris[$y] > 0) { $kredit = $pris[$y]; $debet = 0; } else { $kredit = 0; $debet = $pris[$y] * -1; } if ($t == 1 && $valutakurs) { $kredit = $kredit * $valutakurs / 100; $debet = $debet * $valutakurs / 100; } # Omregning til DKR. $kredit = afrund($kredit, 3); $debet = afrund($debet, 3); $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); #echo "B insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '$transdate', '$beskrivelse', '$bogf_konto[$y]', '$fakturanr', '$debet', '$kredit', '0','$afd', '$logdate', '$logtime', '$projekt[$p]', '$ansat', '$id')<br>"; db_modify("insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '{$transdate}', '{$beskrivelse}', '{$bogf_konto[$y]}', '{$fakturanr}', '{$debet}', '{$kredit}', '0','{$afd}', '{$logdate}', '{$logtime}', '{$projekt[$p]}', '{$ansat}', '{$id}')", __FILE__ . " linje " . __LINE__); } } } } $query = db_select("select gruppe from adresser where id='{$konto_id}';", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); $query = db_select("select box1 from grupper where art='DG' and kodenr='{$row['gruppe']}';", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); $box1 = substr(trim($row[box1]), 1, 1); $query = db_select("select box1 from grupper where art='SM' and kodenr='{$box1}'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); $box1 = trim($row['box1']); if ($moms > 0) { $kredit = $moms; $debet = '0'; } else { $kredit = '0'; $debet = $moms * -1; } if ($valutakurs) { $kredit = afrund($kredit * $valutakurs / 100, 3); $debet = afrund($debet * $valutakurs / 100, 3); } # Omregning til DKR. $kredit = afrund($kredit, 3); $debet = afrund($debet, 3); $d_kontrol = $d_kontrol + $debet; $k_kontrol = $k_kontrol + $kredit; $diff = afrund($d_kontrol - $k_kontrol, 3); $absdiff = abs($diff); if ($moms && $valutakurs && $valutakurs != 100 && $absdiff >= 0.01 && $absdiff <= 0.05) { if ($debet > 0) { $debet = $debet + $diff; $d_kontrol = $d_kontrol + $diff; } elseif ($kredit > 0) { $kredit = $kredit + $diff; $k_kontrol = $k_kontrol + $diff; } } #echo "moms $moms<br>"; $moms = afrund($moms, 2); #echo "C insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '$transdate', '$beskrivelse', '$box1', '$fakturanr', '$debet', '$kredit', '0', '$afd', '$logdate', '$logtime', '$projekt[0]', '$ansat', '$id')<br>"; if ($moms) { db_modify("insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '{$transdate}', '{$beskrivelse}', '{$box1}', '{$fakturanr}', '{$debet}', '{$kredit}', '0', '{$afd}', '{$logdate}', '{$logtime}', '{$projekt['0']}', '{$ansat}', '{$id}')", __FILE__ . " linje " . __LINE__); } $valutakurs = $valutakurs * 1; #echo "update ordrer set status=4, valutakurs=$valutakurs where id=$id<br>"; db_modify("update ordrer set status=4, valutakurs={$valutakurs} where id={$id}", __FILE__ . " linje " . __LINE__); db_modify("delete from ordrelinjer where ordre_id={$id} and posnr < 0", __FILE__ . " linje " . __LINE__); } $d_kontrol = afrund($d_kontrol, 2); $k_kontrol = afrund($k_kontrol, 2); #echo "$d_kontrol $k_kontrol<br>"; if ($diff = afrund($d_kontrol - $k_kontrol)) { if ($valuta != 'DKK' && abs($diff) <= $maxdif) { #Der maa max vaere en afvigelse paa 1 oere pr ordrelinje m fremmed valuta; $debet = 0; $kredit = 0; if ($diff < 0) { $debet = $diff * -1; } else { $kredit = $diff; } $debet = afrund($debet, 2); $kredit = afrund($kredit, 2); #echo "D insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '$transdate', '$beskrivelse', '$difkto', '$fakturanr', '$debet', '$kredit', '0', '$afd', '$logdate', '$logtime', '$projekt[0]', '$ansat', '$id')<br>"; db_modify("insert into transaktioner (bilag, transdate, beskrivelse, kontonr, faktura, debet, kredit, kladde_id, afd, logdate, logtime, projekt, ansat, ordre_id) values ('0', '{$transdate}', '{$beskrivelse}', '{$difkto}', '{$fakturanr}', '{$debet}', '{$kredit}', '0', '{$afd}', '{$logdate}', '{$logtime}', '{$projekt['0']}', '{$ansat}', '{$id}')", __FILE__ . " linje " . __LINE__); } else { # echo "Id $id<br>"; # echo "D $d_kontrol K $k_kontrol<br>"; $message = $db . " | Uoverensstemmelse i posteringssum: ordre_id={$id}, d={$d_kontrol}, k={$k_kontrol} | " . __FILE__ . " linje " . __LINE__ . " | " . $brugernavn . " " . date("Y-m-d H:i:s"); $headers = 'From: fejl@saldi.dk' . "\r\n" . 'Reply-To: fejl@saldi.dk' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail('*****@*****.**', 'SALDI Fejl', $message, $headers); if (!$webservice) { print "<BODY onLoad=\"javascript:alert('Der er konstateret en uoverensstemmelse i posteringssummen, ordre {$ordrenr}, kontakt DANOSOFT på telefon 4690 2208')\">"; } else { return "Der er konstateret en uoverensstemmelse i posteringssummen, ordre {$ordrenr}, kontakt DANOSOFT på telefon 4690 2208' debet {$debet} != kredit {$kredit}"; } # print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id=$id\">"; exit; } } if ($title != "Massefakturering" && !$webservice) { genberegn($regnaar); } return $svar; }
} if (!$row['overfor_til']) { $row['overfor_til'] = '0'; } db_modify("insert into kontoplan(kontonr,beskrivelse,kontotype,moms,fra_kto,til_kto,lukket,primo,regnskabsaar,overfor_til,genvej)values('{$row['kontonr']}','" . db_escape_string($row['beskrivelse']) . "','{$row['kontotype']}','{$row['moms']}','{$row['fra_kto']}','{$row['til_kto']}','{$row['lukket']}','{$belob}','{$kodenr}','{$row['overfor_til']}','{$row['genvej']}')", __FILE__ . " linje " . __LINE__); } } } } transaktion("commit"); } } if ($id > 0) { $query = db_select("select * from grupper where id = '{$id}' and art = 'RA'", __FILE__ . " linje " . __LINE__); if ($row = db_fetch_array($query)) { genberegn($row['kodenr']); if ($row['kodenr'] == 1) { aar_1($row['id'], $row['kodenr'], $row['beskrivelse'], $row['box1'], $row['box2'], $row['box3'], $row['box4'], $row['box5']); } else { aar_x($row['id'], $row['kodenr'], $row['beskrivelse'], $row['box1'], $row['box2'], $row['box3'], $row['box4'], $row['box5']); } } } else { # Print "<BODY onLoad=\"javascript:alert('$tekst')\">"; # print "<BODY onLoad=\"javascript:velkommen=window.open('velkommen.html','velkommen','".$jsvars."';) velkommen.focus();\";" print "<BODY onLoad=\"javascript:docChange = true;\">"; $x = 0; $q = db_select("select * from grupper where art = 'RA' order by kodenr desc", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { if ($x <= $r['kodenr']) { $x = $r['kodenr'];