function batch_salg($id) { global $fakturadate; global $valutakurs; global $version; global $regnaar; $r = db_fetch_array(db_select("select art,cvrnr from ordrer where id = '{$id}'", __FILE__ . " linje " . __LINE__)); $cvrnr = $r['cvrnr']; $art = $r['art']; $r = db_fetch_array(db_select("select box6 from grupper where art = 'DIV' and kodenr = '3'", __FILE__ . " linje " . __LINE__)); $fifo = $r['box6']; $x = 0; $query = db_select("select * from batch_salg where ordre_id = '{$id}'", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $x++; $batch_id[$x] = $row['id']; $vare_id[$x] = $row['vare_id']; $antal[$x] = $row['antal']; $serienr[$x] = $row['serienr']; $batch_kob_id[$x] = $row['batch_kob_id']; $batch_linje_id[$x] = $row['linje_id']; # Indsat 20101129 - Der bliver undertiden oprettet batch_salg linjer uden tilhorende ordrelinje hvilket giver fejl. Aarsag skal findes. if (!db_fetch_array(db_select("select id from ordrelinjer where id = '{$batch_linje_id[$x]}'", __FILE__ . " linje " . __LINE__))) { db_modify("delete from batch_salg where id='{$batch_id[$x]}'", __FILE__ . " linje " . __LINE__); $x--; } } $linjeantal = $x; for ($x = 1; $x <= $linjeantal; $x++) { $kostpris = 0; $query = db_select("select id,pris,rabat,projekt,bogf_konto,kostpris,samlevare,saet,procent from ordrelinjer where id = '{$batch_linje_id[$x]}'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); $ordre_linje_id = $row['id']; $pris = $row['pris'] - $row['pris'] * $row['rabat'] / 100; if ($row['procent'] || $row['procent'] == '0') { $pris *= $row['procent'] / 100; } #20150817 $linjekostpris = $row['kostpris'] * 1; $projekt = $row['projekt']; $bogf_konto = $row['bogf_konto']; $fast_db = $row['fast_db']; $samlevare = $row['samlevare']; $saet = $row['saet']; if ($valutakurs) { $pris = afrund($pris * $valutakurs / 100, 3); $linjekostpris = afrund($linjekostpris * $valutakurs / 100, 3); } db_modify("update batch_salg set pris={$pris}, fakturadate='{$fakturadate}' where id='{$batch_id[$x]}'", __FILE__ . " linje " . __LINE__); if ($batch_kob_id[$x]) { $query = db_select("select pris, ordre_id from batch_kob where id = '{$batch_kob_id[$x]}'", __FILE__ . " linje " . __LINE__); if ($row = db_fetch_array($query)) { $kostpris = $row['pris']; if ($row['ordre_id']) { $query = db_select("select status from ordrer where id = '{$row['ordre_id']}'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); if ($row['status']) { $kobsstatus = $row['status']; } } else { $kobsstatus = 0; } } } $query2 = db_select("select gruppe from varer where id = {$vare_id[$x]}", __FILE__ . " linje " . __LINE__); $row2 = db_fetch_array($query2); $gruppe = $row2['gruppe']; $query2 = db_select("select * from grupper where art='VG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__); $row2 = db_fetch_array($query2); $box1 = trim($row2['box1']); $box2 = trim($row2['box2']); $box3 = trim($row2['box3']); $box4 = trim($row2['box4']); $box8 = trim($row2['box8']); $box9 = trim($row2['box9']); $box12 = trim($row2['box12']); $box14 = trim($row2['box14']); if ($box12 && cvrnr_omr(cvrnr_land($cvrnr)) == "EU") { $bf_kto = $box12; } elseif ($box14 && cvrnr_omr(cvrnr_land($cvrnr)) == "UD") { $bf_kto = $box14; } elseif ($bogf_konto) { $bf_kto = $bogf_konto; } else { $bf_kto = $box4; } $r = db_fetch_array(db_select("select box2 from grupper where kodenr='{$regnaar}' and art='RA'", __FILE__ . " linje " . __LINE__)); $r['box2'] >= '2015' ? $aut_lager = 'on' : ($aut_lager = NULL); # if ($bogf_konto) $box4=$bogf_konto; if (!$version) { include "../includes/version.php"; } if ($version < "3.0.6") { $projekt = $projekt * 1; } #xit; db_modify("update ordrelinjer set bogf_konto='{$bf_kto}',projekt='{$projekt}' where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__); #cho"Fifo $fifo<br>"; if ($fifo && !$box9) { $y = 0; $mangler = $antal[$x]; $kostsum = 0; $qtxt = "select * from batch_kob where rest>'0' and vare_id='{$vare_id[$x]}' and ordre_id!= '{$id}' order by fakturadate,id"; $q = db_select($qtxt, __FILE__ . " linje " . __LINE__); while ($mangler && ($r = db_fetch_array($q))) { $rest = $r['rest']; if ($mangler && $rest >= $mangler) { $kostsum += $mangler * $r['pris']; $rest = $rest - $mangler; $mangler = 0; } elseif ($mangler && $rest < $mangler) { $kostsum += $r['rest'] * $r['pris']; $mangler = $mangler - $rest; $rest = 0; } db_modify("update batch_kob set rest='{$rest}' where id='{$r['id']}'", __FILE__ . " linje " . __LINE__); $y++; } if ($y == 0) { $qtxt = "select kostpris from varer where id='{$vare_id[$x]}'"; $r = db_fetch_array(db_select($qtxt, __FILE__ . " linje " . __LINE__)); $kostpris = $r['kostpris'] * 1; $kostsum = $kostpris * $mangler; } if ($antal[$x] - $mangler) { $kostpris = $kostsum / ($antal[$x] - $mangler); # -mangler tilfojet 20120607 grundet fejl i lager->varekob v. negativt lager (saldi_444) $kostpris *= 1; db_modify("update ordrelinjer set kostpris='{$kostpris}' where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__); } if ($mangler) { #så bliver lagerbeholdningen negativ #cho "update ordrelinjer set kostpris='$kostpris' where id='$ordre_linje_id'<br>"; db_modify("update ordrelinjer set kostpris='{$kostpris}' where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__); } } if ($box9 == 'on') { # box 9 betyder at der anvendes batch styring if ($antal[$x] > 0) { if (!$batch_kob_id[$x]) { # saa er varen ikke paa lager, dvs at indkobsordren skal findes i tabellen reservation $query = db_select("select linje_id, lager from reservation where batch_salg_id = '{$batch_id[$x]}'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); $res_antal = $res_antal + $row['antal']; $res_linje_id = $row['linje_id']; $lager = $row['lager']; $r1 = db_fetch_array(db_select("select ordre_id, pris, rabat, projekt from ordrelinjer where id = '{$res_linje_id}'", __FILE__ . " linje " . __LINE__)); $kob_ordre_id = $r1['ordre_id']; $projekt = $r1['projekt']; $r2 = db_fetch_array(db_select("select valutakurs from ordrer where id = '{$kob_ordre_id}'", __FILE__ . " linje " . __LINE__)); #cho "$r1['pris']-($r1['pris']*$r1['rabat']/100))*$r2['valutakurs']/100<br>"; $kostpris = ($r1['pris'] - $r1['pris'] * $r1['rabat'] / 100) * $r2['valutakurs'] / 100; if ($valutakurs && $valutakurs != 100) { $kostpris *= 100 / $valutakurs; } db_modify("update ordrelinjer set kostpris = '{$kostpris}' where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__); # Hvis levering er sket i flere omgange vil der vaere flere batch_salg linjer paa samme kobs linje, derfor nedenstaende. if ($row = db_fetch_array(db_select("select id from batch_kob where linje_id='{$res_linje_id}' and vare_id='{$vare_id[$x]}' and ordre_id='{$kob_ordre_id}'", __FILE__ . " linje " . __LINE__))) { $batch_kob_id[$x] = $row['id']; } else { db_modify("insert into batch_kob (linje_id, vare_id, ordre_id, pris, lager) values ('{$res_linje_id}','{$vare_id[$x]}','{$kob_ordre_id}','{$kostpris}','{$lager}')", __FILE__ . " linje " . __LINE__); #Antal indsaettes ikke - dette styres i "reservation" $row = db_fetch_array(db_select("select id from batch_kob where linje_id='{$res_linje_id}' and vare_id='{$vare_id[$x]}' and ordre_id='{$kob_ordre_id}'", __FILE__ . " linje " . __LINE__)); $batch_kob_id[$x] = $row['id']; } db_modify("update reservation set batch_kob_id='{$batch_kob_id[$x]}' where linje_id = '{$res_linje_id}'", __FILE__ . " linje " . __LINE__); #cho "update batch_salg set batch_kob_id='$batch_kob_id[$x]' where id='$batch_id[$x]'<br>"; db_modify("update batch_salg set batch_kob_id='{$batch_kob_id[$x]}' where id='{$batch_id[$x]}'", __FILE__ . " linje " . __LINE__); } # Nedenstående er muligvis overflødig - skal testes. # 20120730 Remmet folgende 3 linjer da de giver forkert lagertræk v. salg før køb. $row = db_fetch_array(db_select("select pris,fakturadate from batch_kob where id='{$batch_kob_id[$x]}'", __FILE__ . " linje " . __LINE__)); # kostprisen findes.. if ($row['fakturadate']) { $kostpris = $row['pris'] * 1; } else { $kostpris = $linjekostpris; } $row = db_fetch_array(db_select("select kostpris from varer where id={$vare_id[$x]}", __FILE__ . " linje " . __LINE__)); $kostpris = $row['kostpris'] * 1; } if (!$aut_lager && $box1 && $box2 && $kostpris) { #kostvaerdien flyttes fra "afgang varelager" til "varekob".- hvis der ikke bogfoeres direkte paa varekobs kontoen # if ($valutakurs) $pris=$pris*100/$valutakurs; #cho " insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt) values ('-1','$antal[$x]', '$kostpris', 0, '$id', '$box2','$projekt')<br>"; db_modify("insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt) values ('-1','{$antal[$x]}', '{$kostpris}', 0, '{$id}', '{$box2}','{$projekt}','0')", __FILE__ . " linje " . __LINE__); $kostpris = $kostpris * -1; #cho "insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt) values ('-1','$antal[$x]', '$kostpris', 0, '$id', '$box3','$projekt')"; db_modify("insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt) values ('-1','{$antal[$x]}', '{$kostpris}', 0, '{$id}', '{$box3}','{$projekt}','0')", __FILE__ . " linje " . __LINE__); } #xit; } elseif ($box8 == 'on') { # hvis box8 er 'on' er varen lagerfoert $r = db_fetch_array(db_select("select pris,fast_db from ordrelinjer where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__)); $fast_db = $r['fast_db'] * 1; if ($fast_db) { $kostpris = $r['pris'] * $fast_db; } else { if ($samlevare && $saet) { $kostpris = 0; } else { $r = db_fetch_array(db_select("select kostpris from varer where id='{$vare_id[$x]}'", __FILE__ . " linje " . __LINE__)); $kostpris = $r['kostpris'] * 1; } } if (!$fifo) { # if ($valutakurs) $kostpris=$kostpris*100/$valutakurs; db_modify("update ordrelinjer set kostpris = '{$kostpris}' where id='{$ordre_linje_id}'", __FILE__ . " linje " . __LINE__); } #cho "$box1 && $box2 && $kostpris<br>"; if (!$aut_lager && $box1 && $box2 && ($kostpris || $linjekostpris)) { #cho "$kostpris=$linjekostpris<br>"; if (!$kostpris) { $kostpris = $linjekostpris; } db_modify("insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt,saet) values ('-1','{$antal[$x]}', '{$kostpris}', '0', '{$id}', '{$box2}','{$projekt}','0')", __FILE__ . " linje " . __LINE__); $kostpris = $kostpris * -1; db_modify("insert into ordrelinjer (posnr, antal, pris, rabat, ordre_id, bogf_konto, projekt,saet) values ('-1','{$antal[$x]}', '{$kostpris}', '0', '{$id}', '{$box3}','{$projekt}','0')", __FILE__ . " linje " . __LINE__); } } #cho "C select * from ordrer where id='$id'<br>"; $q = db_select("select * from ordrer where id='{$id}'", __FILE__ . " linje " . __LINE__); $r = db_fetch_array($q); #cho "Sum $r[sum] $r[moms]<br>"; } #xit; }
if ($aut_lager) { $box1 = $box3; $box2 = $box4; } else { if (!$box1 && $box3) { $box1 = $box3; } #20131108 if (!$box2 && $box4) { $box2 = $box4; } #20141117 } if ($box11 && cvrnr_omr(cvrnr_land($cvrnr)) == "EU") { $bf_kto = $box11; } elseif ($box13 && cvrnr_omr(cvrnr_land($cvrnr)) == "UD") { $bf_kto = $box13; } else { $bf_kto = $box3; } #cho "cvr $cvrnr box11 $box11 box13 $box13 bf_kto $bf_kto<br>"; if ($box8 != 'on') { #cho "update ordrelinjer set bogf_konto='$bf_kto' where id='$linje_id[$x]'<br>"; db_modify("update ordrelinjer set bogf_konto='{$bf_kto}' where id='{$linje_id[$x]}'", __FILE__ . " linje " . __LINE__); db_modify("update batch_kob set pris = '{$dkpris[$x]}', fakturadate='{$levdate}' where linje_id={$linje_id[$x]}", __FILE__ . " linje " . __LINE__); } else { if ($box1) { #Box 1 er konto for lagertilgang, #cho "update ordrelinjer set bogf_konto='$box1' where id='$linje_id[$x]'<br>"; db_modify("update ordrelinjer set bogf_konto='{$box1}' where id='{$linje_id[$x]}'", __FILE__ . " linje " . __LINE__); } else {
#$query=db_select("select * from grupper where art = 'RA' order by box2 desc",__FILE__ . " linje " . __LINE__); #$x=0; #while ($row = db_fetch_array($query)) { #} #$regnaar[0]= $datafil = "0," . $egetcvrnr . ",LISTE,,,,,,"; $eu_debitorgrp[0] = 2; $totalsumdkk = 0; $antal_poster = 0; $query = db_select("select id, cvrnr from adresser where art = 'D'", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $varesumdkk = 0; $ydelsessumdkk = 0; $fakturaer = 0; $debitorcvrnr = $row[cvrnr]; if (cvrnr_omr(cvrnr_land($debitorcvrnr)) == "EU") { echo "<!-- <p>Hvis i EU </p> -->\n"; } else { continue; } $debughtml .= "<p>Debitor: " . $row[id] . "</p>\n"; $debughtml .= "\n<table>\n"; $debughtml .= "<tr><th>Dato</th><th>Cvrnr.</th><th>Beløb</th><th>Valuta</th></tr>\n"; #cho "select id, fakturadate, kontonr, sum, cvrnr, valuta, valutakurs from ordrer where konto_id = '$row[id]' and fakturadate >= '$kvartal_startdato' and fakturadate <= '$kvartal_slutdato' and status = '4' order by cvrnr<br>"; $q = db_select("select id, fakturadate, kontonr, sum, cvrnr, valuta, valutakurs from ordrer where konto_id = '{$row['id']}' and fakturadate >= '{$liste_startdato}' and fakturadate <= '{$liste_slutdato}' and status = '4' order by cvrnr", __FILE__ . " linje " . __LINE__); # 20140729 afsnit 2 while ($r = db_fetch_array($q)) { $fakturaer++; if ($r[cvrnr]) { $modtagercvrnr = $r['cvrnr']; } else {