function linjeopdat($id, $gruppe, $linje_id, $beholdning, $vare_id, $antal, $pris, $nettopris, $rabat, $samlevare, $linje_nr, $posnr, $serienr, $kred_linje_id, $bogf_konto, $variant_id, $lager) { # Denne funktion finder de kontonumre fra kontoplanen som de elkelte ordrelinjer skal bogføres på, og tilføjer dem på ordrelinjen # Kaldes fra funktionen levering - #cho "Linjeopdat: $id - $linje_id - $kred_linje_id<br>"; global $fp; global $levdate; global $fakturadate; global $sn_id; global $art; global $ref; global $lev_nr; $antal *= 1; $query = db_select("select * from grupper where art='VG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__); #VG = Varegruppe if ($row = db_fetch_array($query)) { $box1 = trim($row['box1']); $box2 = trim($row['box2']); $box3 = trim($row['box3']); $box4 = trim($row['box4']); $box8 = trim($row['box8']); $box9 = trim($row['box9']); } else { $r = db_fetch_array(db_select("select posnr from ordrelinjer where id = '{$linje_id}'", __FILE__ . " linje " . __LINE__)); print "<BODY onLoad=\"javascript:alert('Varegruppe ikke opsat korrekt, pos nr {$r['posnr']}')\">"; print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">"; } if (!$box3 || !$box4) { # box3 & box4 er kontonumre for varekøb og varesalg $fejltekst = "Varegruppe {$gruppe} mangler kontonummer for varekøb og/eller varesalg (Indstillinger -> Varegrp)"; print "<BODY onLoad=\"javascript:alert('{$fejltekst}')\">"; print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">"; } if ($box8 != 'on') { #box 8 angiver om vare(gruppen) er lagerført #20130408 if ($bogf_konto) { $box4 = $bogf_konto; } # hvis funktionen kaldes med en bogføringskonto overruler denne box4 db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); # if ($art=='DK' || $antal < 0) { # $tmp=$antal*-1; # db_modify("insert into batch_kob(vare_id, linje_id, kobsdate, ordre_id, antal,rest) values ('$vare_id', '$linje_id', '$levdate', '$id','$tmp','$tmp')",__FILE__ . " linje " . __LINE__); # } else db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, '$vare_id', '$linje_id', '$levdate', '$id', '$antal', '$pris', '$lev_nr')",__FILE__ . " linje " . __LINE__); if ($antal) { db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values (0, '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$antal}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__); } } else { $r = db_fetch_array(db_select("select fast_db from ordrelinjer where id='{$linje_id}'", __FILE__ . " linje " . __LINE__)); $fast_db = $r['fast_db']; if ($bogf_konto) { $box4 = $bogf_konto; } db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); db_modify("update varer set beholdning={$beholdning} where id='{$vare_id}'", __FILE__ . " linje " . __LINE__); if ($variant_id) { db_modify("update variant_varer set variant_beholdning=variant_beholdning-{$antal} where id='{$variant_id}'", __FILE__ . " linje " . __LINE__); } #cho "box9 $box9<br>"; if ($box9 == 'on') { # #box 9 angiver om vare(gruppen) er underlagt batchkontrol if ($antal < 0) { krediter($id, $levdate, $beholdning, $vare_id, $antal * -1, $pris, $linje_id, $serienr, $kred_linje_id); } else { batch_salg_lev($id, $levdate, $fakturadate, $beholdning, $vare_id, $antal, $pris, $nettopris, $linje_id, $linje_n, $posnr, $serienr, $lager); } } else { if ($bogf_konto) { $box4 = $bogf_konto; } db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); # if ($art=='DK' || $antal < 0) { # $tmp=$antal*-1; # db_modify("insert into batch_kob(vare_id, linje_id, kobsdate, ordre_id, antal,rest) values ('$vare_id', '$linje_id', '$levdate', '$id','$tmp','$tmp')",__FILE__ . " linje " . __LINE__); # } else db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, '$vare_id', '$linje_id', '$levdate', '$id', '$antal', '$pris', '$lev_nr')",__FILE__ . " linje " . __LINE__); if ($art == 'DK' || $antal < 0) { $tmp = $antal * -1; #cho "select * from batch_kob where linje_id = '$kred_linje_id' order by id desc<br>"; if ($kred_linje_id) { $bk_id = 0; #cho "select * from batch_kob where linje_id = '$kred_linje_id' order by id desc<br>"; $q = db_select("select * from batch_kob where linje_id = '{$kred_linje_id}' order by id desc", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { $bk_id = $r['id']; $tmp2 = $r['antal'] - $r['rest']; #$tmp2 er det antal det kan lægges tilbage på linjen. $ny_rest = $r['rest']; if ($tmp && $tmp2) { if ($tmp2 >= $tmp) { #Så kan alle være på samme linje $ny_rest = $r['rest'] + $tmp; $tmp = 0; } elseif ($tmp2) { #alle kan ikke være på samme linje så vi lægger det vi kan og går videre til næste linje. $ny_rest = $r['antal']; $tmp -= $tmp2; } #cho "update batch_kob set rest='$ny_rest' where id = '$r[id]'<br>"; db_modify("update batch_kob set rest='{$ny_rest}' where id = '{$r['id']}'", __FILE__ . " linje " . __LINE__); } } $bk_id *= 1; $tmp2 = $tmp * -1; #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$bk_id', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp2', '$pris', '$lev_nr')<br>"; db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('{$bk_id}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp2}', '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__); $tmp = 0; } if ($tmp) { # F.eks negativt salg uden købsreference $r = db_fetch_array(db_select("select kostpris from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__)); $kostpris = $r['kostpris'] * 1; $tmp2 = $tmp * -1; db_modify("update ordrelinjer set kostpris='{$kostpris}' where id ='{$linje_id}'", __FILE__ . " linje " . __LINE__); #cho "insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris) values ('$vare_id', '0', '0','0','$tmp',$kostpris)<br>"; db_modify("insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris,lager) values ('{$vare_id}', '0', '0','0','{$tmp}','{$kostpris}','{$lager}')", __FILE__ . " linje " . __LINE__); $r = db_fetch_array(db_select("select max(id) as id from batch_kob where vare_id='{$vare_id}' and linje_id='0'", __FILE__ . " linje " . __LINE__)); #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp2', '$pris', '$lev_nr')<br>"; db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('0', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp2}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__); } } else { $tmp = $antal; #cho "select * from batch_kob where vare_id = '$vare_id' and rest > 0 order by id<br>"; $q = db_select("select * from batch_kob where vare_id = '{$vare_id}' and rest > '0' and lager = '{$lager}' order by id", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { $ny_rest = $r['rest']; if ($tmp && $ny_rest) { if ($ny_rest >= $tmp) { #Så kan alle være på samme linje #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>"; $ny_rest = $ny_rest - $tmp; #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>"; # 20141008 #cho __LINE__." insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp', '$pris', '$lev_nr')<br>"; db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__); $tmp = 0; #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>"; } else { #alle kan ikke være på samme linje så vi lægger det vi kan og går videre til næste linje. if ($ny_rest) { #cho __LINE__." insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$ny_rest', '$pris', '$lev_nr')<br>"; db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$ny_rest}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__); } #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>"; $tmp -= $ny_rest; $ny_rest = 0; #cho __LINE__." tmp $tmp ny_rest $ny_rest<br>"; } } #cho __LINE__." update batch_kob set rest='$ny_rest' where id = '$r[id]'<br>"; db_modify("update batch_kob set rest='{$ny_rest}' where id = '{$r['id']}'", __FILE__ . " linje " . __LINE__); } if ($tmp) { $r = db_fetch_array(db_select("select kostpris from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__)); $kostpris = $r['kostpris'] * 1; db_modify("update ordrelinjer set kostpris='{$kostpris}' where id ='{$linje_id}'", __FILE__ . " linje " . __LINE__); $tmp2 = $tmp * -1; #cho "insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris) values ('$vare_id', '0', '0','0','$tmp2',$kostpris)<br>"; db_modify("insert into batch_kob(vare_id, linje_id, ordre_id, antal,rest,pris,lager) values ('{$vare_id}', '0', '0','0','{$tmp2}','{$kostpris}','{$lager}')", __FILE__ . " linje " . __LINE__); $r = db_fetch_array(db_select("select max(id) as id from batch_kob where vare_id='{$vare_id}' and linje_id=0", __FILE__ . " linje " . __LINE__)); #cho "insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values ('$r[id]', '$vare_id', '$linje_id', '$levdate', '$id', '$tmp', '$pris', '$lev_nr')<br>"; db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr,lager) values ('{$r['id']}', '{$vare_id}', '{$linje_id}', '{$levdate}', '{$id}', '{$tmp}', '{$pris}', '{$lev_nr}','{$lager}')", __FILE__ . " linje " . __LINE__); } } } # if ($box1 && $box2) bogfor_levering($id,$gruppe,$linje_id,$antal,$box1,$box2,$box3,$box4); } $r = db_fetch_array(db_select("select box2 from grupper where art = 'DIV' and kodenr = '5' ", __FILE__ . " linje " . __LINE__)); $shopurl = trim($r['box2']); if (strlen($shopurl) > 1) { #20130813 + 20131001 global $db_id; $r = db_fetch_array(db_select("select beholdning,publiceret from varer where id = '{$vare_id}'", __FILE__ . " linje " . __LINE__)); if ($r['publiceret']) { $shop_beholdning = $r['beholdning']; $r = db_fetch_array(db_select("select sum(ordrelinjer.antal-ordrelinjer.leveret) as antal from ordrer,ordrelinjer where ordrelinjer.vare_id = '{$vare_id}' and ordrelinjer.ordre_id = ordrer.id and (ordrer.art='DO' or ordrer.art='DK') and (ordrer.status='1' or ordrer.status='2') and ordrer.id!='{$id}'", __FILE__ . " linje " . __LINE__)); $shop_beholdning -= $r['antal']; $r = db_fetch_array($q = db_select("select shop_id from shop_varer where saldi_id='{$vare_id}'", __FILE__ . " linje " . __LINE__)); $shop_id = $r['shop_id']; if (strpos($shopurl, '/?')) { $saldiurl = "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if ($_SERVER['HTTPS']) { $saldiurl = "s" . $saldiurl; } $saldiurl = "http" . $saldiurl; $url = str_replace("/?", "/opdat_behold.php?vare_id={$vare_id}&saldiurl={$saldiurl}&shop_id={$shop_id}&beholdning={$shop_beholdning}&", $shopurl); } else { $url = $shopurl . "/opdat_beholdning.php?vare_id={$vare_id}&shop_id={$shop_id}&beholdning={$shop_beholdning}"; } print "<body onload=\"javascript:window.open('{$url}','opdat:beholdning');\">"; } } #xit; db_modify("update ordrelinjer set leveret = leveret+{$antal},leveres=0 where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); }
function linjeopdat($id, $gruppe, $linje_id, $beholdning, $vare_id, $antal, $pris, $nettopris, $rabat, $samlevare, $linje_nr, $posnr, $serienr, $kred_linje_id) { global $fp; global $levdate; global $fakturadate; global $sn_id; global $art; global $ref; global $lev_nr; $query = db_select("select * from grupper where art='VG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__); if ($row = db_fetch_array($query)) { $box1 = trim($row[box1]); $box2 = trim($row[box2]); $box3 = trim($row[box3]); $box4 = trim($row[box4]); $box8 = trim($row[box8]); $box9 = trim($row[box9]); } else { $r = db_fetch_array(db_select("select posnr from ordrelinjer where id = '{$linje_id}'", __FILE__ . " linje " . __LINE__)); print "<BODY onLoad=\"javascript:alert('Varegruppe ikke opsat korrekt, pos nr {$r['posnr']}')\">"; print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">"; } if (!$box3 || !$box4) { $fejltekst = "Varegruppe {$gruppe} mangler kontonummer for varekøb og/eller varesalg (Indstillinger -> Varegrp)"; print "<BODY onLoad=\"javascript:alert('{$fejltekst}')\">"; print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id={$id}\">"; } if ($box8 != 'on' || $samlevare == 'on') { db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, {$vare_id}, {$linje_id}, '{$levdate}', {$id}, {$antal}, '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__); } else { db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); db_modify("update varer set beholdning={$beholdning} where id='{$vare_id}'", __FILE__ . " linje " . __LINE__); if ($box9 == 'on') { if ($antal < 0) { krediter($id, $levdate, $beholdning, $vare_id, $antal * -1, $pris, $linje_id, $serienr, $kred_linje_id); } else { batch_salg_lev($id, $levdate, $fakturadate, $beholdning, $vare_id, $antal, $pris, $nettopris, $linje_id, $linje_n, $posnr, $serienr, $lager); } } else { db_modify("update ordrelinjer set bogf_konto={$box4} where id='{$linje_id}'", __FILE__ . " linje " . __LINE__); db_modify("insert into batch_salg(batch_kob_id, vare_id, linje_id, salgsdate, ordre_id, antal, pris, lev_nr) values (0, {$vare_id}, {$linje_id}, '{$levdate}', {$id}, {$antal}, '{$pris}', '{$lev_nr}')", __FILE__ . " linje " . __LINE__); } } }