function regnskab($regnaar, $maaned_fra, $maaned_til, $aar_fra, $aar_til, $dato_fra, $dato_til, $konto_fra, $konto_til, $rapportart, $ansat_fra, $ansat_til, $afd, $projekt_fra, $projekt_til, $simulering, $lagerbev) { print "<!--Function regnskab start-->\n"; global $connection; global $top_bund; global $md; global $ansatte; global $ansatte_id; global $afd_navn; global $prj_navn_fra; global $prj_navn_til; global $bgcolor; global $bgcolor4; global $bgcolor5; global $menu; $periodesum = array(); $kto_periode = array(); #cho "942 $projekt_fra $prj_navn_fra - $projekt_til $prj_navn_til<br>"; if ($rapportart == 'budget') { $budget = 1; $cols1 = 2; $cols2 = 3; $cols3 = 4; $cols4 = 5; $cols5 = 6; $cols6 = 7; } else { $budget = 0; $cols1 = 1; $cols2 = 2; $cols3 = 3; $cols4 = 4; $cols5 = 5; $cols6 = 6; } if ($row = db_fetch_array(db_select("select firmanavn from adresser where art='S'", __FILE__ . " linje " . __LINE__))) { $firmanavn = $row['firmanavn']; } if ($afd && ($row = db_fetch_array(db_select("select beskrivelse from grupper where art='AFD' and kodenr='{$afd}'", __FILE__ . " linje " . __LINE__)))) { $afd_navn = $row['beskrivelse']; } $regnaar = $regnaar * 1; #fordi den er i tekstformat og skal vaere numerisk $maaned_fra = trim($maaned_fra); $maaned_til = trim($maaned_til); $konto_fra = trim($konto_fra); $konto_til = trim($konto_til); $mf = $maaned_fra; $mt = $maaned_til; for ($x = 1; $x <= 12; $x++) { if ($maaned_fra == $md[$x]) { $maaned_fra = $x; } if ($maaned_til == $md[$x]) { $maaned_til = $x; } if (strlen($maaned_fra) == 1) { $maaned_fra = "0" . $maaned_fra; } if (strlen($maaned_til) == 1) { $maaned_til = "0" . $maaned_til; } if (strlen($dato_fra) == 1) { $dato_fra = "0" . $dato_fra; } if (strlen($dato_til) == 1) { $dato_til = "0" . $dato_til; } } $query = db_select("select * from grupper where kodenr='{$regnaar}' and art='RA'", __FILE__ . " linje " . __LINE__); $row = db_fetch_array($query); # $regnaar=$row[kodenr]; $startmaaned = $row['box1'] * 1; $startaar = $row['box2'] * 1; $slutmaaned = $row['box3'] * 1; $slutaar = $row['box4'] * 1; $slutdato = 31; if ($rapportart == 'budget') { $startmd = $maaned_fra - $startmaaned + 1; $slutmd = $maaned_til - $startmaaned + 1; if ($slutaar > $startaar && $maaned_fra > $maaned_til) { $slutmd = $slutmd + 12; } } if (strlen($startmaaned) == 1) { $startmaaned = "0" . $startmaaned; } if (strlen($slutmaaned) == 1) { $slutmaaned = "0" . $slutmaaned; } $regnaarstart = $startaar . "-" . $startmaaned . "-" . '01'; if ($maaned_fra) { $startmaaned = $maaned_fra; } if ($maaned_til) { $slutmaaned = $maaned_til; } if ($dato_fra) { $startdato = $dato_fra; } if ($dato_til) { $slutdato = $dato_til; } while (!checkdate($startmaaned, $startdato, $startaar)) { $startdato = $startdato - 1; if ($startdato < 28) { break 1; } } while (!checkdate($slutmaaned, $slutdato, $slutaar)) { $slutdato = $slutdato - 1; if ($slutdato < 28) { break 1; } } #cho "1008 $projekt_fra $prj_navn_fra - $projekt_til $prj_navn_til<br>"; $regnstart = $aar_fra . "-" . $startmaaned . "-" . $startdato; $regnslut = $aar_til . "-" . $slutmaaned . "-" . $slutdato; $startaar >= '2015' ? $aut_lager = 'on' : ($aut_lager = NULL); if ($aut_lager && $lagerbev) { $x = 0; $varekob = array(); $q = db_select("select box1,box2,box3 from grupper where art = 'VG' and box8 = 'on'", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { if ($r['box1'] && $r['box2'] && !in_array($r['box3'], $varekob)) { $varelager_i[$x] = $r['box1']; $varelager_u[$x] = $r['box2']; #cho "VL $varelager_u[$x]<br>"; $varekob[$x] = $r['box3']; #cho "VK $varekob[$x]<br>"; $x++; } } } $x = 0; $valdate = array(); $valkode = array(); $q = db_select("select * from valuta order by gruppe,valdate desc"); while ($r = db_fetch_array($q)) { $y = $x - 1; if (!$x || $r['gruppe'] != $valkode[$x] || $valdate[$x] >= $regnstart) { $valkode[$x] = $r['gruppe']; $valkurs[$x] = $r['kurs']; $valdate[$x] = $r['valdate']; $x++; } } print "<table width = 100% cellpadding=\"1\" cellspacing=\"1\" border=\"0\"><tbody>"; if ($menu == 'T') { $leftbutton = "<a title=\"Klik her for at komme til forsiden af rapporter\" href=\"rapport.php?rapportart=kontokort®naar={$regnaar}&dato_fra={$startdato}&maaned_fra={$mf}&aar_fra={$aar_fra}&dato_til={$slutdato}&maaned_til={$mt}&aar_til={$aar_til}&konto_fra={$konto_fra}&konto_til={$konto_til}&ansat_fra={$ansat_fra}&ansat_til={$ansat_til}&afd={$afd}&projekt_fra={$projekt_fra}&projekt_til={$projekt_til}&simulering={$simulering}&lagerbev={$lagerbev}\" accesskey=\"L\">LUK</a>"; $rightbutton = ""; include "../includes/topmenu.php"; } elseif ($menu == 'S') { include "../includes/sidemenu.php"; } else { print "<tr><td colspan=\"{$cols6}\" height=\"8\">"; print "<table width=\"100%\" align=\"center\" border=\"0\" cellspacing=\"3\" cellpadding=\"0\"><tbody>"; #B print "<td width=\"10%\" {$top_bund}><a accesskey=L href=\"rapport.php?rapportart={$rapportart}®naar={$regnaar}&dato_fra={$startdato}&maaned_fra={$mf}&aar_fra={$aar_fra}&dato_til={$slutdato}&maaned_til={$mt}&aar_til={$aar_til}&konto_fra={$konto_fra}&konto_til={$konto_til}&ansat_fra={$ansat_fra}&ansat_til={$ansat_til}&afd={$afd}&projekt_fra={$projekt_fra}&projekt_til={$projekt_til}&simulering={$simulering}&lagerbev={$lagerbev}\">Luk</a></td>"; print "<td width=\"80%\" {$top_bund}> Rapport - {$rapportart} </td>"; print "<td width=\"10%\" {$top_bund}><br></td>"; print "</tbody></table>"; #B s**t print "</td></tr>"; } if ($rapportart == 'resultat') { $simulering ? $tmp = "Simuleret resultat" : ($tmp = "Resultat"); } elseif ($rapportart == 'budget') { $simulering ? $tmp = "Simuleret resultat/budget" : ($tmp = "Resultat/budget"); } else { $simulering ? $tmp = "Simuleret Balance" : ($tmp = "Balance"); } print "<tr><td colspan=\"{$cols4}\"><big><big>{$tmp}</span></big></big></td>"; print "<td colspan=\"{$cols2}\" align=right><table style=\"text-align: left; width: 100%;\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tbody><tr>"; if ($afd) { print "<td>Afdeling</span></td>"; print "<td>{$afd}: {$afd_navn}</span></td></tr>"; } print "<td>Regnskabsår</span></td>"; print "<td>{$regnaar}.</span></td></tr>"; print "<tr><td>Periode</span></td>"; if ($startdato < 10) { $startdato = "0" . $startdato * 1; } print "<td>Fra " . $startdato . ". {$mf} {$aar_fra}<br />Til " . $slutdato . ". {$mt} {$aar_til}</span></td></tr>"; if ($ansat_fra) { if (!$ansat_til || $ansat_fra == $ansat_til) { print "<tr><td>Medarbejder</span></td><td>{$ansatte}</span></td></tr>"; } else { print "<tr><td>Medarbejdere</span></td><td>{$ansatte}</span></td></tr>"; } } if ($afd) { print "<tr><td>Afdeling</span></td><td>{$afd_navn}</span></td></tr>"; } if ($projekt_fra) { print "<td>Projekt:</td><td>"; # print "<tr><td>Projekt $prj_navn_fra</td>"; if (!strstr($projekt_fra, "?")) { if ($projekt_til && $projekt_fra != $projekt_til) { print "Fra: {$projekt_fra}, {$prj_navn_fra}<br>Til : {$projekt_til}, {$prj_navn_til}"; } else { print "{$projekt_fra}, {$prj_navn_fra}"; } } else { print "{$projekt_fra}, {$prj_navn_fra}"; } print "</td></tr>"; } print "</tbody></table></td></tr>"; print "<tr><td colspan=\"4\"><big><b>{$firmanavn}</b></big></td>"; print "<td align=right> Perioden </td>"; if ($rapportart == 'budget') { print "<td align=right> Budget </td><td align=right> Afvigelse </td></tr>"; } else { print "<td align=right> År til dato </td></tr>"; } print "<tr><td colspan=\"{$cols6}\"><hr></td></tr>"; $x = 0; $query = db_select("select * from kontoplan where regnskabsaar='{$regnaar}' order by kontonr", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $x++; $kontonr[$x] = $row['kontonr'] * 1; $ktonr[$x] = $kontonr[$x]; $kontobeskrivelse[$x] = $row['beskrivelse']; $kontotype[$x] = $row['kontotype']; $fra_kto[$x] = $row['fra_kto'] * 1; $primo[$x] = afrund($row['primo'], 2); $saldo[$x] = $row['saldo'] * 1; $lukket[$x] = $row['lukket']; #20120927 $aarsum[$x] = 0; $kto_aar[$x] = 0; $kto_periode[$x] = 0; $vis_kto[$x] = 0; $kontovaluta[$x] = $row['valuta']; $kontokurs[$x] = $row['valutakurs']; if (!$dim && $kontotype[$x] == "S") { $primo[$x] = afrund($row['primo'], 2); } else { $primo[$x] = 0; } if ($primo[$x] && $kontovaluta[$x]) { for ($y = 0; $y <= count($valkode); $y++) { if ($valkode[$y] == $kontovaluta[$x] && $valdate[$y] <= $slutdato) { $kontokurs[$x] = $valkurs[$y]; break 1; } } } else { $primokurs[$x] = 100; } } $kontoantal = $x; $dim = ''; if (($afd || $ansat_fra || $projekt_fra) && $rapportart != 'budget') { if ($afd) { $dim = "and afd = '{$afd}' "; } if ($ansat_fra && $ansat_til) { $tmp = str_replace(",", " or ansat=", $ansatte_id); $dim = $dim . " and (ansat={$tmp}) "; } elseif ($ansat_fra) { $dim = $dim . "and ansat = '{$ansat_fra}' "; } $projekt_fra = str2low($projekt_fra); $projekt_til = str2low($projekt_til); if ($projekt_fra && $projekt_til && $projekt_fra != $projekt_til) { $dim = $dim . " and lower(projekt) >= '{$projekt_fra}' and lower(projekt) <= '{$projekt_til}' "; } elseif ($projekt_fra) { $tmp = str_replace("?", "_", $projekt_fra); if (substr($tmp, -1) == '_') { while (substr($tmp, -1) == '_') { $tmp = substr($tmp, 0, strlen($tmp) - 1); } $tmp = str2low($tmp) . "%"; } $dim = $dim . "and lower(projekt) LIKE '{$tmp}' "; } } $x = 0; for ($x = 1; $x <= $kontoantal; $x++) { if ($r = db_fetch_array(db_select("select * from transaktioner where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' {$dim} and kontonr={$ktonr[$x]}", __FILE__ . " linje " . __LINE__))) { $vis_kto[$x] = 1; } if (db_fetch_array(db_select("select * from transaktioner where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' and kontonr='{$ktonr[$x]}' {$dim}", __FILE__ . " linje " . __LINE__))) { $vis_kto[$x] = 1; } if ($simulering) { if ($r = db_fetch_array(db_select("select * from simulering where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' {$dim} and kontonr={$ktonr[$x]}", __FILE__ . " linje " . __LINE__))) { $vis_kto[$x] = 1; } if (db_fetch_array(db_select("select * from simulering where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' and kontonr='{$ktonr[$x]}' {$dim}", __FILE__ . " linje " . __LINE__))) { $vis_kto[$x] = 1; } } if ($aut_lager && $lagerbev) { if (in_array($kontonr[$x], $varekob)) { $vis_kto[$x] = 1; } if (in_array($kontonr[$x], $varelager_i)) { $vis_kto[$x] = 1; } if (in_array($kontonr[$x], $varelager_u)) { $vis_kto[$x] = 1; } } if ($kontotype[$x] == 'R') { $vis_kto[$x] = 1; } } if ($rapportart == 'budget') { for ($x = 1; $x <= $kontoantal; $x++) { if (!$lukket[$x]) { #20120927 if ($r = db_fetch_array(db_select("select sum(amount) as amount from budget where regnaar='{$regnaar}' and kontonr='{$ktonr[$x]}' and md >= '{$startmd}' and md <= '{$slutmd}'", __FILE__ . " linje " . __LINE__))) { $vis_kto[$x] = 1; } } } } for ($x = 1; $x <= $kontoantal; $x++) { $kto_aar[$x] = 0; $kto_periode[$x] = 0; # Herunder tilfoejes primovaerdi. if ($rapportart == 'balance' && !$afd && !$projekt_fra && !$ansat_fra && ($r2 = db_fetch_array(db_select("select primo from kontoplan where regnskabsaar='{$regnaar}' and kontonr={$ktonr[$x]} and kontotype='S'", __FILE__ . " linje " . __LINE__)))) { $kto_aar[$x] = afrund($r2['primo'], 2); } $query = db_select("select * from transaktioner where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' and kontonr='{$ktonr[$x]}' {$dim}", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { if ($row['transdate'] >= $regnstart) { $kto_periode[$x] = $kto_periode[$x] + afrund($row['debet'], 2) - afrund($row['kredit'], 2); } if ($rapportart != 'budget') { $kto_aar[$x] = $kto_aar[$x] + afrund($row['debet'], 2) - afrund($row['kredit'], 2); } } if ($simulering) { $query = db_select("select * from simulering where transdate>='{$regnaarstart}' and transdate<='{$regnslut}' and kontonr='{$ktonr[$x]}' {$dim}", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { #cho "$kto_periode[$x] --> "; if ($row['transdate'] >= $regnstart) { $kto_periode[$x] = $kto_periode[$x] + afrund($row['debet'], 2) - afrund($row['kredit'], 2); } #cho "$kto_periode[$x]<br>"; if ($rapportart != 'budget') { $kto_aar[$x] = $kto_aar[$x] + afrund($row['debet'], 2) - afrund($row['kredit'], 2); } } } if ($aut_lager && $lagerbev) { if (in_array($ktonr[$x], $varekob)) { $l_a_primo[$x] = find_lagervaerdi($ktonr[$x], $regnaarstart, 'start'); $l_a_sum[$x] = find_lagervaerdi($ktonr[$x], $regnslut, 's**t'); $l_p_primo[$x] = find_lagervaerdi($ktonr[$x], $regnstart, 'start'); #cho "LAP $l_a_primo[$x] $l_a_sum[$x] $ktonr[$x]<br>"; # Varekøb (debet) debiteres lager primo og krediteres lager saldo. Dvs tallet mindskes hvis lager øges $kto_aar[$x] += $l_a_primo[$x]; $kto_aar[$x] -= $l_a_sum[$x]; $kto_periode[$x] += $l_p_primo[$x]; $kto_periode[$x] -= $l_a_sum[$x]; } if (in_array($ktonr[$x], $varelager_i) || in_array($ktonr[$x], $varelager_u)) { $l_a_primo[$x] = find_lagervaerdi($ktonr[$x], $regnaarstart, 'start'); $l_a_sum[$x] = find_lagervaerdi($ktonr[$x], $regnslut, 's**t'); $l_p_primo[$x] = find_lagervaerdi($ktonr[$x], $regnstart, 'start'); #cho "LAP $l_a_primo[$x] $l_a_sum[$x] $ktonr[$x]<br>"; # Varelager (debet) krediteres lager primo og og debiteres lager saldo. Dvs tallet øges hvis lager øges $kto_aar[$x] -= $l_a_primo[$x]; #20150125 + næste 3 linjer $kto_aar[$x] += $l_a_sum[$x]; $kto_periode[$x] -= $l_p_primo[$x]; $kto_periode[$x] += $l_a_sum[$x]; } } } if ($rapportart == 'budget') { for ($x = 1; $x <= $kontoantal; $x++) { if ($vis_kto[$x]) { #20120927 $r2 = db_fetch_array(db_select("select sum(amount) as amount from budget where regnaar='{$regnaar}' and kontonr='{$ktonr[$x]}' and md >= '{$startmd}' and md <= '{$slutmd}'", __FILE__ . " linje " . __LINE__)); $kto_aar[$x] = afrund($r2['amount'], 2); } } } #else $kto_aar[$x]=$kto_aar[$x]+afrund($row['debet'],2)-afrund($row['kredit'],2); $kto_antal = $kontoantal; for ($x = 1; $x <= $kontoantal; $x++) { # Her fanges konti med primovaerdi og ingen bevaegelser i perioden. if (!in_array($kontonr[$x], $ktonr) && !$afd && !$projekt_fra && !$ansat_fra) { if ($primo[$x]) { $kto_antal++; $ktonr[$kto_antal] = $kontonr[$x]; $kto_aar[$kto_antal] = $primo[$x]; # if (in_array($ktonr[$kto_antal],$varekob)) { # $l_a_primo[$kto_antal]=find_lagervaerdi($ktonr[$kto_antal],$varekob,$regnstart); # $l_a_sum[$kto_antal]=find_lagervaerdi($ktonr[$kto_antal],$varekob,$regnslut); # $l_p_primo[$x]=find_lagervaerdi($kontonr[$x],$varekob,$regnaarstart); # $kto_aar[$kto_antal]-=$l_a_primo[$kto_antal]; # $kto_aar[$kto_antal]+=$l_a_sum[$kto_antal]; # $periodesum[$x]-=$l_p_primo[$x]; # $periodesum[$x]+=$l_a_sum[$x]; # } } } } for ($x = 1; $x <= $kontoantal; $x++) { # Her fanges konti med lagerrelation & primovaerdi og ingen bevaegelser i perioden. if (in_array($kontonr[$x], $varelager_i) || in_array($kontonr[$x], $varelager_u)) { if (in_array($kontonr[$x], $ktonr)) { $kto_antal++; $ktonr[$kto_antal] = $kontonr[$x]; $kto_aar[$kto_antal] = 0; } } } for ($x = 1; $x <= $kontoantal; $x++) { if ($kontotype[$x] == 'R') { for ($y = 1; $y <= $kontoantal; $y++) { #20140825 if ($ktonr[$y] == $fra_kto[$x]) { $aarsum[$x] = $aarsum[$y]; $periodesum[$x] = $periodesum[$y]; $kto_aar[$x] = $aarsum[$x]; #20140909 rettet fra = $kto_aar[$y] $kto_periode[$x] = $periodesum[$x]; #20140909 rettet fra = $kto_periode[$y] } } # $aarsum[$x]=$saldo[$x]; # $periodesum[$x]=$saldo[$x]; # $kto_aar[$x]=$saldo[$x]; # $kto_periode[$x]=$saldo[$x]; } if (!isset($periodesum[$x])) { $periodesum[$x] = 0; } for ($y = 1; $y <= $kto_antal; $y++) { if (!isset($kto_periode[$y])) { $kto_periode[$y] = 0; } if ($kontotype[$x] == 'D' || $kontotype[$x] == 'S') { if ($kontonr[$x] == $ktonr[$y]) { $aarsum[$x] = $aarsum[$x] + $kto_aar[$y]; $periodesum[$x] = $periodesum[$x] + $kto_periode[$y]; } } elseif ($kontotype[$x] == 'Z') { if ($fra_kto[$x] <= $ktonr[$y] && $kontonr[$x] >= $ktonr[$y] && $kontonr[$x] != $ktonr[$y]) { $aarsum[$x] = $aarsum[$x] + $kto_aar[$y]; $periodesum[$x] = $periodesum[$x] + $kto_periode[$y]; } } } } for ($x = 1; $x <= $kontoantal; $x++) { if ($kontonr[$x] >= $konto_fra && $kontonr[$x] <= $konto_til && ($aarsum[$x] || $periodesum[$x] || $kontotype[$x] == 'H' || $kontotype[$x] == 'R')) { if ($kontotype[$x] == 'H') { $linjebg = $bgcolor; print "<tr><td><br></td></tr>"; $tmp = kontobemaerkning($kontobeskrivelse[$x]); print "<tr bgcolor=\"{$bgcolor5}\"><td {$tmp} colspan=\"{$cols6}\"><b>{$kontobeskrivelse[$x]}</b></td>"; print "<tr><td colspan=\"{$cols6}\"><hr></td></tr>"; } elseif ($kontotype[$x] == 'Z') { print "<tr><td colspan=\"{$cols6}\"><hr></td></tr>"; $tmp = kontobemaerkning($kontobeskrivelse[$x]); if (!$budget) { print "<td><br></td>"; } print "<td {$tmp} colspan=\"{$cols3}\"><b> {$kontobeskrivelse[$x]} </b></td>"; if ($kontovaluta[$x]) { for ($y = 0; $y <= count($valkode); $y++) { if ($valkode[$y] == $kontovaluta[$x] && $valdate[$y] <= $slutdate) { $transkurs[$x] = $valkurs[$y]; break 1; } } $tmp = $periodesum[$x] * 100 / $kontokurs[$y]; $title = "DKK " . dkdecimal($periodesum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } else { $tmp = $periodesum[$x]; $title = NULL; } print "<td align=\"right\" title=\"{$title}\"><b>" . dkdecimal($tmp) . "</b></td>"; if ($kontovaluta[$x]) { $tmp = $aarsum[$x] * 100 / $kontokurs[$x]; $title = "DKK " . dkdecimal($aarsum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } else { $tmp = $aarsum[$x]; $title = NULL; } print "<td align=\"right\" title=\"{$title}\"><b>" . dkdecimal($tmp) . "</b></td>"; if ($rapportart == 'budget') { if ($kontovaluta[$x]) { $tmp = $aarsum[$x] * 100 / $kontokurs[$x]; $title = "DKK " . dkdecimal($aarsum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } else { if ($aarsum[$x]) { $tmp = ($periodesum[$x] - $aarsum[$x]) * 100 / $aarsum[$x]; } else { $tmp = "--"; } $title = NULL; } print "<td align=\"right\" title=\"{$title}\"><b> {$tmp}%</b></td>"; } print "<tr><td colspan=\"{$cols6}\"><hr></td></tr>"; } else { if (in_array($kontonr[$x], $varekob)) { $title = "Heraf på lager: " . dkdecimal($l_a_sum[$x] - $l_p_primo[$x]); } else { $title = ''; } $linjebg != $bgcolor5 ? $linjebg = $bgcolor5 : ($linjebg = $bgcolor); print "<tr bgcolor=\"{$linjebg}\"><td>{$kontonr[$x]}</td>"; $tmp = kontobemaerkning($kontobeskrivelse[$x]); print "<td {$tmp} colspan=\"3\">{$kontobeskrivelse[$x]}</td>"; if ($kontovaluta[$x]) { $tmp = $periodesum[$x] * 100 / $kontokurs[$x]; $title = "DKK " . dkdecimal($periodesum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } else { $tmp = $periodesum[$x]; $title = NULL; } print "<td align=\"right\" title=\"{$title}\">" . dkdecimal($tmp) . "</td>"; if ($kontovaluta[$x]) { $tmp = $aarsum[$x] * 100 / $kontokurs[$x]; $title = "DKK " . dkdecimal($aarsum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } else { $tmp = $aarsum[$x]; $title = NULL; } #$tmp=dkdecimal($aarsum[$x]); #aar til dato print "<td align=\"right\" title=\"{$title}\">" . dkdecimal($tmp) . "</td>"; if ($rapportart == 'budget') { if ($kontovaluta[$x] && $aarsum[$x]) { $tmp = ($periodesum[$x] - $aarsum[$x]) * 100 / $aarsum[$x] * 100 / $kontokurs[$x]; $title = "DKK " . dkdecimal($periodesum[$x]) . " Kurs: " . dkdecimal($kontokurs[$x]); } elseif ($aarsum[$x]) { $tmp = ($periodesum[$x] - $aarsum[$x]) * 100 / $aarsum[$x]; $title = NULL; } else { $tmp = "--"; } print "<td align=\"right\">" . dkdecimal($tmp) . "%</td>"; #afvigelse fra budget } print "</tr>"; } } } print "<tr><td colspan=\"{$cols6}\"><hr></td></tr>"; print "</tbody></table>"; print "<!--Function regnskab s**t-->\n"; }
function aar_x($id, $kodenr, $beskrivelse, $startmd, $startaar, $slutmd, $slutaar, $aaben) { global $overfor_til; $r = db_fetch_array(db_select("select max(kodenr) as max_aar from grupper where art = 'RA'", __FILE__ . " linje " . __LINE__)); $max_aar = $r['max_aar']; $pre_regnaar = $kodenr - 1; $query = db_select("select * from grupper where art = 'RA' and kodenr = '{$pre_regnaar}'", __FILE__ . " linje " . __LINE__); if ($row = db_fetch_array($query)) { $pre_startmd = $row['box1']; $pre_startaar = $row['box2']; $pre_slutmd = $row['box3']; $pre_slutaar = $row['box4']; } $pre_slutdato = 31; while (!checkdate($pre_slutmd, $pre_slutdato, $pre_slutaar)) { $pre_slutdato = $pre_slutdato - 1; if ($pre_slutdato < 28) { break 1; } } $pre_regnstart = $pre_startaar . "-" . $pre_startmd . "-" . '01'; $pre_regnslut = $pre_slutaar . "-" . $pre_slutmd . "-" . $pre_slutdato; print "<form name=aar_1 action=regnskabskort.php method=post>"; if ($id) { print "<tr><td colspan=5 align = center><big><b>Ret {$kodenr}. regnskabsår: {$beskrivelse}</td></tr>\n"; } else { print "<tr><td colspan=5 align = center><big><b>Opret {$kodenr}. regnskabsår: {$beskrivelse}</td></tr>\n"; } print "<tr><td colspan=5 align=center><table width=100% border=0><tbody><tr>"; ###########################table 8d start print "<tr><td></td><td align=center>Start</td><td align=center>Start</td><td align=center>S**t</td><td align=center>S**t</td><td align=center>Bogføring</td></tr>\n"; print "<tr><td align=center>Beskrivelse</td><td align=center>måned</td><td align=center>år</td><td align=center>måned</td><td align=center>år</td><td align=center>tilladt</td></tr>\n"; print "<tr><input type=hidden name=kodenr value={$kodenr}><input type=hidden name=id value='{$id}'\t>"; print "<td align=center><input type=text size=30 name=beskrivelse value=\"{$beskrivelse}\" onchange=\"javascript:docChange = true;\"></td>"; print "<td align=center><input readonly=readonly style=\"text-align:right\" size=2 name=startmd value={$startmd}></td>"; print "<td align=center><input readonly=readonly style=\"text-align:right\" size=4 name=startaar value={$startaar}></td>"; print "<td align=center><input type=text style=\"text-align:right\" size=2 name=slutmd value={$slutmd} onchange=\"javascript:docChange = true;\"></td>"; print "<td align=center><input type=text style=\"text-align:right\" size=4 name=slutaar value={$slutaar} onchange=\"javascript:docChange = true;\"></td>"; strstr($aaben, 'on') ? $checked = 'checked' : ($checked = NULL); if (!$id) { $checked = 'checked'; } print "<td align=center><input type=checkbox name=aaben {$checked} onchange=\"javascript:docChange = true;\"></td>"; print "</tr>\n</tbody></table></td></tr>\n"; #####################################################table 8d s**t print "<tr><td colspan=2 align=center> Primotal for {$kodenr}. regnskabsår:</td><td align = center> saldo</td><td align = center> overfør til</td><td align = center> ny primo</td></tr>\n"; $tmp = $kodenr; $kontoantal = 0; while ($kontoantal < 1 && $tmp > 0) { #Hvis der ikke er oprettet konti for indevaerende regsskabsaar, hentes konti fra forrige. $query = db_select("select primo, kontonr, beskrivelse from kontoplan where kontotype='S' and regnskabsaar='{$tmp}' order by kontonr", __FILE__ . " linje " . __LINE__); while ($row = db_fetch_array($query)) { $kontoantal++; $primo[$kontoantal] = $row['primo']; $kontonr[$kontoantal] = $row['kontonr']; } $tmp--; } $pre_regnaar = $kodenr - 1; $r = db_fetch_array(db_select("select box2 from grupper where kodenr='{$pre_regnaar}' and art='RA'", __FILE__ . " linje " . __LINE__)); $r['box2'] >= '2015' ? $aut_lager = 'on' : ($aut_lager = NULL); if (!$pre_regnaar) { echo "regnaar mangler"; exit; } if ($aut_lager) { $x = 0; $varekob = array(); $q = db_select("select box1,box2,box3 from grupper where art = 'VG' and box8 = 'on'", __FILE__ . " linje " . __LINE__); while ($r = db_fetch_array($q)) { if ($r['box1'] && !in_array($r['box3'], $varekob)) { $varelager_i[$x] = $r['box1']; $varelager_u[$x] = $r['box2']; $varekob[$x] = $r['box3']; $x++; } } } $ny_sum = 0; $resultat = 0; $q = db_select("select * from kontoplan where kontotype='D' and regnskabsaar={$pre_regnaar} order by kontonr", __FILE__ . " linje " . __LINE__); $y = 0; while ($r = db_fetch_array($q)) { $resultat += afrund($r['primo'], 2); $q2 = db_select("select * from transaktioner where transdate>='{$pre_regnstart}' and transdate<='{$pre_regnslut}' and kontonr='{$r['kontonr']}'", __FILE__ . " linje " . __LINE__); while ($r2 = db_fetch_array($q2)) { $resultat += afrund($r2['debet'] - $r2['kredit'], 2); } if ($aut_lager) { if (in_array($r['kontonr'], $varekob)) { $l_a_primo[$x] = find_lagervaerdi($r['kontonr'], $pre_regnstart); $l_a_sum[$x] = find_lagervaerdi($r['kontonr'], $pre_regnslut); # Varekøb (debet) debiteres lager primo og krediteres lager saldo. Dvs tallet mindskes hvis lager øges $resultat += $l_a_primo[$x]; $resultat -= $l_a_sum[$x]; } if (in_array($r['kontonr'], $varelager_i) || in_array($r['kontonr'], $varelager_u)) { $l_a_primo[$x] = find_lagervaerdi($r['kontonr'], $pre_regnstart); $l_a_sum[$x] = find_lagervaerdi($r['kontonr'], $pre_regnslut); # Varelager (debet) krediteres lager primo og og debiteres lager saldo. Dvs tallet øges hvis lager øges $resultat -= $l_a_primo[$x]; $resultat += $l_a_sum[$x]; } } } $resultat = afrund($resultat, 2); $r = db_fetch_array(db_select("select * from kontoplan where kontotype='X' and regnskabsaar={$pre_regnaar}", __FILE__ . " linje " . __LINE__)); $sideskift = $r['kontonr'] * 1; if ($sideskift) { $q2 = db_select("select * from transaktioner where transdate>='{$pre_regnstart}' and transdate<='{$pre_regnslut}' and kontonr='{$sideskift}'", __FILE__ . " linje " . __LINE__); while ($r2 = db_fetch_array($q2)) { $resultat += afrund($r2['debet'] - $r2['kredit'], 2); } $saldosum = $resultat; print "<td><br /></td>"; print "<td>Resultat</td>"; print "<input type=hidden name=kontonr[0] value={$sideskift}>"; print "<td width=10 align=right><input type=hidden name=saldo[0] value={$resultat}>" . dkdecimal($resultat) . "</td>"; print "<td><SELECT NAME=overfor_til[0]>"; if ($r['overfor_til']) { print "<option>{$r['overfor_til']}</option>"; } print "<option>{$kontonr[$y]}</option>"; for ($x = 1; $x <= $kontoantal; $x++) { print "<option>{$kontonr[$x]}</option>"; } print "</SELECT></td>"; print "<td width=10><br /></td></tr>\n"; $ny_sum += $ny_primo[$y]; } #cho "select * from kontoplan where kontotype='S' and regnskabsaar='$pre_regnaar' order by kontonr<br>"; $query = db_select("select * from kontoplan where kontotype='S' and regnskabsaar='{$pre_regnaar}' order by kontonr", __FILE__ . " linje " . __LINE__); $y = 0; while ($row = db_fetch_array($query)) { $y++; $ny_primo[$y] = 0; for ($x = 1; $x <= $kontoantal; $x++) { if ($kontonr[$x] == $row['kontonr']) { $ny_primo[$y] = $primo[$x]; # $overfor_til[$y]=$row['overfor_til']; } } $belob = 0; $belob = $row['primo']; print "<tr><input type=hidden name=kontonr[{$y}] value={$row['kontonr']}>"; $q2 = db_select("select * from transaktioner where transdate>='{$pre_regnstart}' and transdate<='{$pre_regnslut}' and kontonr='{$row['kontonr']}'", __FILE__ . " linje " . __LINE__); while ($r2 = db_fetch_array($q2)) { $belob += afrund($r2['debet'] - $r2['kredit'], 2); } if ($aut_lager) { if (in_array($row['kontonr'], $varekob)) { $l_a_primo[$x] = find_lagervaerdi($row['kontonr'], $pre_regnstart); $l_a_sum[$x] = find_lagervaerdi($row['kontonr'], $pre_regnslut); # Varekøb (debet) debiteres lager primo og krediteres lager saldo. Dvs tallet mindskes hvis lager øges $belob += $l_a_primo[$x]; $belob -= $l_a_sum[$x]; } if (in_array($row['kontonr'], $varelager_i) || in_array($row['kontonr'], $varelager_u)) { $l_a_primo[$x] = find_lagervaerdi($row['kontonr'], $pre_regnstart); $l_a_sum[$x] = find_lagervaerdi($row['kontonr'], $pre_regnslut); # Varelager (debet) krediteres lager primo og og debiteres lager saldo. Dvs tallet øges hvis lager øges $belob -= $l_a_primo[$x]; $belob += $l_a_sum[$x]; } } $saldosum = $saldosum + $belob; print "<td>{$row['kontonr']}</td>"; print "<td>{$row['beskrivelse']}</td>"; print "<td width=10 align=right><input type=hidden name=saldo[{$y}] value={$belob}>" . dkdecimal($belob) . "</td>"; print "<td><SELECT NAME=overfor_til[{$y}]>"; if ($row['overfor_til'] && in_array($row['overfor_til'], $kontonr)) { print "<option>{$row['overfor_til']}</option>"; } elseif (in_array($row['kontonr'], $kontonr)) { print "<option>{$row['kontonr']}</option>"; } else { print "<option></option>"; } for ($x = 1; $x <= $kontoantal; $x++) { print "<option>{$kontonr[$x]}</option>"; } print "</SELECT></td>"; print "<td width=10 align=right><input type=hidden name=ny_primo[{$y}] value={$ny_primo[$y]}>" . dkdecimal($ny_primo[$y]) . "</td></tr>\n"; $ny_sum = $ny_sum + $ny_primo[$y]; } print "<td></td><td></td><td align=right>" . dkdecimal($saldosum) . "</td><td></td><td align=right>" . dkdecimal($ny_sum) . "</td></tr>\n"; if ($debetsum - $kreditsum != 0) { print "<BODY onLoad=\"javascript:alert('Konti er ikke i balance')\">"; } # print "<tr><td colspan = 3> Overfr �ningsbalance</td><td align=center><input type=checkbox name=primotal checked></td></tr>\n"; print "<input type=hidden name=kontoantal value={$y}>"; print "<tr><td colspan = 5 align = center><input type=submit accesskey=\"g\" value=\"Gem/opdatér\" name=\"submit\" onclick=\"javascript:docChange = false;\">"; if ($regnaar == $max_aar) { print "<input type=submit value=\"Slet\" name=\"submit\" onclick=\"javascript:docChange = false;\">"; } print "</td></tr>\n"; print "</form>"; exit; }