예제 #1
0
             $z_kredit = $z;
             if ($kredit) {
                 skriv($str[$z], "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", dkdecimal($kredit), "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
             }
         }
         if ($variabel[$z] == "saldo") {
             $z_saldo = $z;
             $dksaldo = dkdecimal($saldo);
             if (!$dksaldo) {
                 $dksaldo = "0,00";
             }
             skriv($str[$z], "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$dksaldo}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
         }
         if (strstr($variabel[$z], "bel") && $belob) {
             $z_belob = $z;
             skriv($str[$z], "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", $belob, "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
         }
     }
     $y = $y - 4;
     if ($y <= $Opkt) {
         formulartekst($konto_id[$q], $formular, $formularsprog);
         $ialt = dkdecimal($forfalden);
         find_form_tekst("{$konto_id[$q]}", "S", "{$formular}", "0", "{$linjeafstand}", "");
         bundtekst($konto_id[$q]);
         $udskrevet = $side - 1;
         #20150410
     }
     #cho "$udskrevet!=$side<br>";
 }
 if ($udskrevet != $side) {
     formulartekst($konto_id[$q], $formular, $formularsprog);
예제 #2
0
 function formularprint($id, $formular, $lev_nr, $charset, $udskriv_alle_til)
 {
     print "<!--function formularprint start-->";
     include "../includes/std_func.php";
     include "../includes/var2str.php";
     global $db;
     global $db_id;
     global $dkdato;
     global $form_id;
     global $charset;
     global $formularsprog;
     global $fp;
     global $gebyr;
     global $ialt;
     #	global $id;
     global $lev_nr;
     global $linjeafstand;
     global $logo;
     global $logoart;
     global $moms;
     global $momsgrundlag;
     global $momssats;
     global $nextside;
     global $printerid;
     global $ref;
     global $side;
     global $subtotal;
     global $sum;
     global $transportsum;
     global $y;
     global $ya;
     global $mailantal;
     global $bruger_id;
     global $sprog_id;
     global $exec_path;
     global $vis_saet;
     global $brugsamletpris;
     $fp1 = NULL;
     $kommentarprint = NULL;
     $skjul_nul_lin = NULL;
     $folgeseddel = 0;
     $mailantal = 0;
     $nomailantal = 0;
     $side_x = 210;
     $side_y = 297;
     $side_x = afrund($side_x * 2.86, 0);
     $side_y = afrund($side_y * 2.86, 0);
     $preview = NULL;
     $initext = "%!\n%%Creator: Saldi\n%%Pages: 1\n%%BoundingBox: 0 0 {$side_x} {$side_y}\n%%EndComments\n<< /PageSize [{$side_x} {$side_y}] >> setpagedevice\n";
     #$initext="%!\n%%Creator: Saldi\n%%Pages: 1\n%%EndComments\n";
     $form = array();
     $q = db_SELECT("select box2,box14 from grupper where art = 'DIV' and kodenr = '3'", __FILE__ . " linje " . __LINE__);
     $r = db_fetch_array($q);
     $rabatvare_id = $r['box2'] * 1;
     $brugsamletpris = $r['box14'];
     if ($vis_saet) {
         $brugsamletpris = 'on';
     }
     if ($id == -1) {
         # Saa er der flere fakturaer
         $ordre_antal = $_GET['ordre_antal'];
         $ordre_id = explode(",", $_GET['skriv']);
         if (strpos($formular, ",")) {
             list($formular, $folgeseddel) = explode(",", $formular);
         }
     } elseif (!is_numeric($id)) {
         $preview = 1;
         $ordre_id[0] = 0;
         $ordre_antal = 1;
     } else {
         $ordre_id[0] = $id;
         $ordre_antal = 1;
     }
     if ($formular == 3) {
         $folgeseddel = 1;
     }
     if ($formular != 3 && $folgeseddel) {
         for ($q = 0; $q < $ordre_antal; $q++) {
             $form[$q] = $formular;
             $r = db_fetch_array(db_select("select lev_addr1,lev_postnr from ordrer where id = {$ordre_id[$q]}", __FILE__ . " linje " . __LINE__));
             if ($r['lev_addr1'] && $r['lev_postnr']) {
                 $form[$q] = 3;
                 $ordre_antal++;
                 for ($z = $ordre_antal; $z > $q; $z--) {
                     $ordre_id[$z] = $ordre_id[$z - 1];
                 }
                 $q++;
                 $form[$q] = $formular;
             }
         }
     }
     $r = db_fetch_array(db_select("select box6,box12 from grupper where art = 'POS' and kodenr = '2'", __FILE__ . " linje " . __LINE__));
     $vis_saet = trim($r['box12']);
     if ($vis_saet) {
         $brugsamletpris = 'on';
     }
     $r = db_fetch_array(db_select("select * from grupper where art='DIV' and kodenr='3'", __FILE__ . " linje " . __LINE__));
     $incl_moms = $r['box1'];
     if ($folgeseddel) {
         $kommentarprint = $r['box3'];
         $skjul_nul_lin = $r['box8'];
     }
     $fsize = filesize("../includes/faktinit.ps");
     $initfil = fopen("../includes/faktinit.ps", "r");
     $initext = $initext . fread($initfil, $fsize);
     fclose($initfil);
     if (!file_exists("../temp/{$db}")) {
         mkdir("../temp/{$db}", 0775);
     }
     $mappe = "../temp/{$db}/{$bruger_id}" . "_*";
     system("rm -r {$mappe}");
     $mappe = "../temp/{$db}/" . abs($bruger_id) . "_" . date("his");
     mkdir("{$mappe}", 0775);
     if ($ordre_antal > 1) {
         $printfilnavn = 'udskrift';
         if ($formular <= 1) {
             $printfilnavn = "tilbud";
         }
         if ($formular == 2) {
             $printfilnavn = "ordrebek";
         }
         if ($formular == 3) {
             $printfilnavn = "flg_seddel";
         }
         if ($formular == 4) {
             $printfilnavn = "faktura";
         }
         if ($formular == 9) {
             $printfilnavn = "plukliste";
         }
         if ($formular == 12) {
             $printfilnavn = "forslag";
         }
         if ($formular == 13) {
             $printfilnavn = "rekvisition";
         }
         if ($formular == 14) {
             $printfilnavn = "lev_fakt";
         }
         $fp1 = fopen("{$mappe}/{$printfilnavn}", "w");
     }
     for ($o = 0; $o < $ordre_antal; $o++) {
         $fp = $fp1;
         if (isset($form[$o])) {
             $formular = $form[$o];
         }
         $varenr = array();
         $lev_varenr = array();
         $leveres = array();
         $vare_id = array();
         $linje_id = array();
         $antal = array();
         $tidl_lev = array();
         $rest = array();
         $enhed = array();
         $rabat = array();
         $momssats = array();
         $pris = array();
         $l_sum = array();
         $linjesum = array();
         $sum = '';
         $transportsum = 0;
         if ($preview) {
             $ref = 'Egen ref';
             $ordrenr = 'Ordrenummer';
             $fakturanr = 'Fakturanummer';
             $mail_fakt = '';
             $email[0] = 'Kundens email';
             $pbs = '';
         } else {
             $query = db_select("select afd,status,email,ordrenr,fakturanr,mail_fakt,pbs,art,ref,sprog,udskriv_til,mail_subj,mail_text,dokument,procenttillag from ordrer where id = '{$ordre_id[$o]}'", __FILE__ . " linje " . __LINE__);
             $row = db_fetch_array($query);
             $status = $row['status'];
             $afd = $row['afd'];
             $art = $row['art'];
             $ref = $row['ref'];
             $ordrenr = $row['ordrenr'];
             if (!$udskriv_alle_til) {
                 $udskriv_til = $row['udskriv_til'];
             } else {
                 $udskriv_til = $udskriv_alle_til;
             }
             $fakturanr = $row['fakturanr'];
             $mail_fakt = $row['mail_fakt'];
             $email[0] = $row['email'];
             $pbs = $row['pbs'];
             $mail_subj = $row['mail_subj'];
             $mail_text = $row['mail_text'];
             $mail_bilag = $row['dokument'];
             $procenttillag = $row['procenttillag'] * 1;
             #	$ordresum=$row['sum'];
             #	$ordremomssum=$row['moms'];
             $formularsprog = strtolower($row['sprog']);
             if (!$formularsprog) {
                 $formularsprog = "dansk";
             }
             if ($formular == 4 || $formular == 5) {
                 if (!$fakturanr) {
                     #20130508
                     return "Fakturering afbrudt (Fakturanr mangler)";
                 } elseif ($row['status'] < 3) {
                     #20130508
                     return "Fakturering afbrudt (Status ikke opdateret)";
                 } elseif ($row['art'] == "DK") {
                     $formular = 5;
                 } else {
                     $formular = 4;
                 }
             }
             $y = 185;
             $antal_ordrelinjer = 25;
             $x = 0;
             $r = db_fetch_array(db_SELECT("select adresser.gruppe,ordrer.procenttillag from ordrer,adresser where ordrer.id = '{$ordre_id[$o]}' and adresser.id=ordrer.konto_id", __FILE__ . " linje " . __LINE__));
             $gruppe = $r['gruppe'];
             $procenttillag = $r['procenttillag'];
             $r = db_fetch_array(db_select("select box8 from grupper where art='DG' and kodenr='{$gruppe}'", __FILE__ . " linje " . __LINE__));
             $b2b = $r['box8'];
         }
         $bgr = "bg";
         if ($formular == 5 && file_exists("../logolib/{$db_id}/kreditnota_bg.pdf")) {
             $bgr = "kreditnota_bg";
         } elseif ($formular >= 3 && file_exists("../logolib/{$db_id}/faktura_bg.pdf")) {
             $bgr = "faktura_bg";
         } elseif ($formular == 2 && file_exists("../logolib/{$db_id}/ordrer_bg.pdf")) {
             $bgr = "ordrer_bg";
         } elseif ($formular <= 1 && file_exists("../logolib/{$db_id}/tilbud_bg.pdf")) {
             $bgr = "tilbud_bg";
         }
         #cho "formular: $formular bg: $bgr<br>";
         #exit();
         print "<!-- kommentar for at skjule uddata til siden \n";
         if (!file_exists("../logolib/{$db_id}")) {
             mkdir("../logolib/{$db_id}");
         }
         if (system("which pdftk") && file_exists("../logolib/{$db_id}/{$bgr}.pdf")) {
             $logoart = 'PDF';
         } elseif ($udskriv_til == 'PDF-tekst') {
             $logoart = 'PDF';
         } elseif (file_exists("../logolib/{$db_id}/{$formular}.ps")) {
             $logo = "../logolib/{$db_id}/{$formular}.ps";
             $logoart = 'PS';
         } elseif (file_exists("../logolib/{$db_id}/{$bgr}.ps")) {
             $logo = "../logolib/{$db_id}/{$bgr}.ps";
             $logoart = 'PS';
         } else {
             $query = db_select("select * from formularer where formular = '{$formular}' and art = '1' and beskrivelse = 'LOGO' and lower(sprog)='{$formularsprog}'", __FILE__ . " linje " . __LINE__);
             if ($row = db_fetch_array($query)) {
                 $logo_X = $row['xa'] * 2.86;
                 $logo_Y = $row['ya'] * 2.86;
             } else {
                 $logo_X = 430;
                 $logo_Y = 758;
             }
             if (file_exists("../logolib/logo_{$db_id}.eps")) {
                 $logo = "../logolib/logo_{$db_id}.eps";
             } else {
                 $logo = "../logolib/logo.eps";
             }
             $logoart = 'EPS';
         }
         print "-->\n";
         if ($logoart != 'PDF') {
             $fsize = filesize($logo);
             $logofil = fopen($logo, "r");
             $translate = 0;
             $logo = "";
             while (!feof($logofil)) {
                 $linje = fgets($logofil);
                 if ($logoart == 'EPS') {
                     if (substr($linje, 0, 2) != "%!") {
                         if (strstr($linje, "translate") && !$translate) {
                             $linje = "{$logo_X} {$logo_Y} translate \n";
                             $translate = 1;
                         }
                         $logo = $logo . $linje;
                     }
                 } else {
                     if (strstr($linje, 'showpage')) {
                         $linje = '';
                     }
                     if (strstr($linje, '%%PageTrailer')) {
                         $linje = '';
                     }
                     if (strstr($linje, '%%Trailer')) {
                         $linje = '';
                     }
                     if (strstr($linje, '%%Pages:')) {
                         $linje = '';
                     }
                     if (strstr($linje, '%%EOF')) {
                         $linje = '';
                     }
                     $logo = $logo . $linje;
                 }
             }
             fclose($logofil);
         }
         #cho "select * from formularer where formular = '$formular' and art = '3' and lower(sprog)='$formularsprog'<br>";
         $query = db_select("select * from formularer where formular = '{$formular}' and art = '3' and lower(sprog)='{$formularsprog}'", __FILE__ . " linje " . __LINE__);
         while ($row = db_fetch_array($query)) {
             if ($row['beskrivelse'] == 'generelt') {
                 $antal_ordrelinjer = $row['xa'];
                 $ya = $row['ya'];
                 $linjeafstand = $row['xb'];
                 #		$Opkt=$y-($antal_ordrelinjer*$linjeafstand);
             } else {
                 $x++;
                 $variabel[$x] = $row['beskrivelse'];
                 $justering[$x] = $row['justering'];
                 $xa[$x] = $row['xa'];
                 $str[$x] = $row['str'];
                 $laengde[$x] = $row['xb'];
                 $color[$x] = $row['color'];
                 $fed[$x] = $row['fed'];
                 $kursiv[$x] = $row['kursiv'];
                 $form_font[$x] = $row['font'];
             }
             $var_antal = $x;
         }
         if ($formular == 3 && !$lev_nr) {
             $r2 = db_fetch_array(db_select("select MAX(lev_nr) as lev_nr from batch_salg where ordre_id = {$ordre_id[$o]}", __FILE__ . " linje " . __LINE__));
             $lev_nr = $r2['lev_nr'] * 1;
         }
         if ($formular == 3 || $formular == 9) {
             $udskriv_til = 'PDF';
         }
         if ($mail_fakt && $formular != 3 && $udskriv_til != 'PDF') {
             $mailantal++;
             if ($formular <= 1) {
                 $pfnavn = "tilbud" . $ordrenr;
             }
             if ($formular == 2) {
                 $pfnavn = "ordrebek" . $ordrenr;
             }
             if ($formular == 4) {
                 $pfnavn = "fakt" . $fakturanr;
             }
             if ($formular == 5) {
                 $pfnavn = "kn" . $fakturanr;
             }
             if ($formular == 9) {
                 $pfnavn = "plukliste" . $ordrenr;
             }
             if ($formular == 12) {
                 $printfilnavn = "forslag" . $ordrenr;
             }
             if ($formular == 13) {
                 $printfilnavn = "rekvisition.{$ordrenr}";
             }
             if ($formular == 14) {
                 $printfilnavn = "lev_fakt.{$ordrenr}";
             }
             $email[$mailantal] = $email[0];
             $mailsprog[$mailantal] = $formularsprog;
             $form_nr[$mailantal] = $formular;
             $pfliste[$mailantal] = $pfnavn;
             $pfnavn = $mappe . "/" . $pfnavn;
             $fp2 = fopen("{$pfnavn}", "w");
             $fp = $fp2;
         } else {
             $nomailantal++;
             if ($ordre_antal <= 1) {
                 #mere sige navn til udskrifter.
                 if ($formular <= 1) {
                     $printfilnavn = "tilbud" . $ordrenr;
                 }
                 if ($formular == 2) {
                     $printfilnavn = "ordrebek" . $ordrenr;
                 }
                 if ($formular == 3) {
                     $printfilnavn = "flgs" . $ordrenr . "_" . $lev_nr;
                 }
                 if ($formular == 4) {
                     $printfilnavn = "fakt" . $fakturanr;
                 }
                 if ($formular == 5) {
                     $printfilnavn = "kn" . $fakturanr;
                 }
                 if ($formular == 9) {
                     $printfilnavn = "plukliste" . $ordrenr;
                 }
                 if ($formular == 12) {
                     $printfilnavn = "forslag" . $ordrenr;
                 }
                 if ($formular == 13) {
                     $printfilnavn = "rekvisition.{$ordrenr}";
                 }
                 if ($formular == 14) {
                     $printfilnavn = "lev_fakt.{$ordrenr}";
                 }
                 $pfnavn = $mappe . "/" . $printfilnavn;
                 $fp = fopen("{$pfnavn}", "w");
             }
         }
         $side = 1;
         if ($logoart == 'PS') {
             fwrite($fp, $logo);
         }
         fwrite($fp, $initext);
         $rabat[0] = formulartekst($ordre_id[$o], $formular, $formularsprog);
         if ($ordre_id[$o]) {
             $id = $ordre_id[$o];
             $x = 0;
             $sum = 0;
             $moms = 0;
             $momssum = 0;
             $tmp = 0;
             $saetnr = 0;
             #cho "$formular<br>";
             #xit;
             if ($preview) {
                 for ($x = 1; $x <= 22; $x++) {
                     $posnr[$x] = $x;
                     $varenr[$x] = utf8_iso8859('Varenr') . $x;
                     $projekt[$x] = utf8_iso8859('Projektnr');
                     $beskrivelse[$x] = utf8_iso8859('Eksempel på en linjetekst');
                 }
             } else {
                 if ($brugsamletpris) {
                     $r = db_fetch_array(db_select("select varenr from ordrelinjer where ordre_id = {$ordre_id[$o]} and vare_id='{$rabatvare_id}'", __FILE__ . " linje " . __LINE__));
                     if ($r['varenr']) {
                         $rabatvarenr = $r['varenr'];
                         $rvnr = 1;
                     } else {
                         $rvnr = 0;
                     }
                 }
                 #		if ($rvnr) $qtxt="select * from ordrelinjer where ordre_id = '$ordre_id[$o]' order by saet,posnr";
                 #		else
                 #20150302
                 if ($brugsamletpris && $formular == 3) {
                     $qtxt = "select * from ordrelinjer where ordre_id = '{$ordre_id[$o]}' and samlevare != 'on' and varenr != '{$rabatvarenr}' order by posnr";
                 } else {
                     $qtxt = "select * from ordrelinjer where ordre_id = '{$ordre_id[$o]}' order by posnr";
                 }
                 $q = db_select($qtxt, __FILE__ . " linje " . __LINE__);
                 while ($row = db_fetch_array($q)) {
                     if ($row['posnr'] > 0 && (!$row['samlevare'] || !is_numeric($row['samlevare'])) && (!in_array($row['posnr'], $posnr) || $formular != 3)) {
                         #					if ($x>=1 && $row['saet'] && !$saet[$x]) {
                         #						$x++;
                         #						$beskrivelse[$x]=" ";
                         #						$saet[$x]=0;
                         #						$samlevare[$x]=0;
                         #					} elseif ($x>=1 && $saet[$x] && $samlevare[$x]) {
                         #						$x--;
                         #					}
                         $x++;
                         $posnr[$x] = trim($row['posnr']);
                         $varenr[$x] = trim($row['varenr']);
                         $lev_varenr[$x] = trim($row['lev_varenr']);
                         $projekt[$x] = $row['projekt'];
                         $beskrivelse[$x] = stripslashes(trim($row['beskrivelse']));
                         if ($varenr[$x]) {
                             $vare_id[$x] = $row['vare_id'];
                             $linje_id[$x] = $row['id'];
                             $antal[$x] = $row['antal'] * 1;
                             $leveres[$x] = $row['leveres'] * 1;
                             $dkantal[$x] = str_replace(".", ",", $antal[$x]);
                             $momsfri[$x] = $row['momsfri'];
                             $omvbet[$x] = $row['omvbet'];
                             $saet[$x] = $row['saet'];
                             $samlevare[$x] = $row['samlevare'];
                             #cho "$posnr[$x] $saet[$x] $samlevare[$x]<br>";
                             $varemomssats[$x] = $row['momssats'] * 1;
                             if (!$momsfri[$x] && !$varemomssats[$x]) {
                                 $varemomssats[$x] = $momssats;
                             }
                             if ($varemomssats[$x] > $momssats) {
                                 $varemomssats[$x] = $momssats;
                             }
                             list($a, $b) = explode(",", $dkantal[$x]);
                             if ($b) {
                                 $dkantal[$x] = "{$a},{$b}";
                             } else {
                                 $dkantal[$x] = $a;
                             }
                             if ($formular == 5) {
                                 $antal[$x] = $antal[$x] * -1;
                                 $dkantal[$x] = str_replace("-", "", $dkantal[$x]);
                             }
                             if ($formular == 3 || $formular == 9) {
                                 if (in_array('lokation', $variabel)) {
                                     $r2 = db_fetch_array(db_select("select location from varer where id='{$vare_id[$x]}'", __FILE__ . " linje " . __LINE__));
                                     if ($r2['location']) {
                                         if ($afd && strstr($r2['location'], "|")) {
                                             # 20150417 Ændret strpos til strstr
                                             $lokation = array();
                                             $lokation = explode("|", $r2['location']);
                                             $beskrivelse[$x] .= chr(9) . $lokation[$afd - 1];
                                         } else {
                                             $beskrivelse[$x] .= chr(9) . $r2['location'];
                                         }
                                     }
                                 }
                                 $lev_nr *= 1;
                                 $lev_antal[$x] = 0;
                                 $q2 = db_select("select antal from batch_salg where linje_id = {$linje_id[$x]} and lev_nr = {$lev_nr}", __FILE__ . " linje " . __LINE__);
                                 while ($r2 = db_fetch_array($q2)) {
                                     $lev_antal[$x] = $lev_antal[$x] + $r2['antal'];
                                 }
                                 $tidl_lev[$x] = 0;
                                 $q2 = db_select("select antal from batch_salg where linje_id = {$linje_id[$x]} and lev_nr < {$lev_nr}", __FILE__ . " linje " . __LINE__);
                                 while ($r2 = db_fetch_array($q2)) {
                                     $tidl_lev[$x] = $tidl_lev[$x] + $r2['antal'];
                                 }
                                 $rest[$x] = $antal[$x] - $lev_antal[$x] - $tidl_lev[$x];
                             }
                             $enhed[$x] = $row['enhed'];
                             $pris[$x] = $row['pris'];
                             #						if ($rvnr) {
                             #							if ($varenr[$x]=='R') list($pris[$x])=explode("|",$row['lev_varenr']);
                             #							$rabat[$x]=0;
                             #						} else {
                             $rabat[$x] = $row['rabat'];
                             #						}
                             $procent[$x] = $row['procent'];
                             $row['rabat'] != 0 ? $m_rabat[$x] = 0 : ($m_rabat[$x] = $row['m_rabat'] * 1);
                             $rabatart[$x] = $row['rabatart'];
                             if ($rabatart[$x] == "amount") {
                                 $l_sum[$x] = afrund(($pris[$x] - $rabat[$x]) * $antal[$x], 2);
                                 $linjesum[$x] = ($pris[$x] - $rabat[$x]) * $antal[$x];
                                 $linjemoms[$x] = $varemomssats[$x] / 100 * (($pris[$x] - $rabat[$x]) * $antal[$x]);
                             } else {
                                 $l_sum[$x] = afrund($row['pris'] * $antal[$x] - $pris[$x] * $antal[$x] * $rabat[$x] / 100, 2);
                                 #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104
                                 $linjesum[$x] = $row['pris'] * $antal[$x] - $pris[$x] * $antal[$x] * $rabat[$x] / 100;
                                 $linjemoms[$x] = $varemomssats[$x] / 100 * ($pris[$x] * $antal[$x] - $row['pris'] * $antal[$x] * $rabat[$x] / 100);
                             }
                             if ($momsfri[$x] == 'on' || $omvbet[$x]) {
                                 $linjemoms[$x] = 0;
                             }
                             if ($procent[$x] || $procent[$x] == '0') {
                                 $l_sum[$x] = afrund($l_sum[$x] - $l_sum[$x] * (100 - $procent[$x]) / 100, 2);
                                 $linjesum[$x] = afrund($linjesum[$x] - $linjesum[$x] * (100 - $procent[$x]) / 100, 2);
                                 $linjemoms[$x] = afrund($linjemoms[$x] - $linjemoms[$x] * (100 - $procent[$x]) / 100, 2);
                             }
                             $sum += $linjesum[$x];
                             if ($momsfri[$x] != 'on' && !$omvbet[$x]) {
                                 $moms += afrund($l_sum[$x] * $varemomssats[$x] / 100, 3);
                                 #Decimaltal aendret til 3 2010.12.17 grundet momsdiff (0,01 kr) i ordre id 371 i saldi_297
                                 $momssum += afrund($linjesum[$x], 2);
                                 #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104
                                 if ($incl_moms && !$b2b) {
                                     $tmp = afrund($pris[$x] + $pris[$x] * $varemomssats[$x] / 100, 2);
                                     if ($rabatart[$x] == "amount") {
                                         $linjesum[$x] = ($tmp - $rabat[$x]) * $antal[$x];
                                     } else {
                                         $linjesum[$x] = $tmp * $antal[$x] - $tmp * $antal[$x] * $rabat[$x] / 100;
                                     }
                                     $pris[$x] = $tmp;
                                 }
                             }
                             if ($rvnr) {
                                 if ($varenr[$x] == $rabatvarenr) {
                                     list($pris[$x]) = explode("|", $row['lev_varenr']);
                                 }
                                 $rabat[$x] = 0;
                                 $linjesum[$x] = ($pris[$x] - $rabat[$x]) * $antal[$x];
                             }
                         } else {
                             $dkantal[$x] = NULL;
                             $varemomssats[$x] = NULL;
                         }
                         $beskrivelse[$x] = var2str($beskrivelse[$x], $ordre_id[$o], $posnr[$x], $varenr[$x], $dkantal[$x], $enhed[$x], $pris[$x], $procent[$x], $serienr[$x], $varemomssats[$x], $rabat[$x]);
                         if ($formular == 3 && $skjul_nul_lin && !$lev_antal[$x]) {
                             $varenr[$x] = NULL;
                         }
                         #
                     } else {
                         $dkantal[$x] = NULL;
                     }
                     if ($saet[$x]) {
                         if ($lev_varenr[$x]) {
                             list($linjesum[$x]) = explode("|", $lev_varenr[$x], 2);
                             $dkantal[$x] = '';
                         } else {
                             $linjesum[$x] = '';
                         }
                         $pris[$x] = '';
                         /*
                         					if ($saetnr && $saetnr!=$saet[$x]) {
                         						$r=db_fetch_array(db_select("select beskrivelse from varer where id = '$svid'",__FILE__ . " linje " . __LINE__));
                         						$beskrivelse[$x]=$r['beskrivelse'];
                         						$linjesum[$x]=$saetpris;
                         						$saet[$x]=0;
                         						$saetpris=0;
                         						$saetpris=afrund($linjesum[$x-1],2);
                         					} else $saetpris+=afrund($linjesum[$x],2);
                         					$saetnr=$saet[$x];
                         */
                     }
                 }
                 /*
                 			if ($saet[$x] && $saetnr) {
                 				$x++;
                 				$r=db_fetch_array(db_select("select beskrivelse from varer where id = '$svid'",__FILE__ . " linje " . __LINE__));
                 				$beskrivelse[$x]=$r['beskrivelse'];
                 				$linjesum[$x]=$saetpris;
                 				$saetpris=0;
                 			}  
                 */
                 $tmp = $row['rabat'] * 1;
                 if ($x > 0 && $formular < 4 && !$tmp && $m_rabat[$x] && $status < 3) {
                     $y = $x;
                     $x++;
                     $posnr[$x] = $posnr[$y];
                     $vare_id[$x] = $vare_id[$y];
                     $varenr[$x] = $varenr[$y];
                     $lev_varenr[$x] = $lev_varenr[$y];
                     $antal[$x] = $antal[$y];
                     $projekt[$x] = $projekt[$y];
                     #				$beskrivelse[$x]=findtekst(366,$sprog_id);
                     $dkantal[$x] = $dkantal[$y];
                     $lev_antal[$x] = $lev_antal[$y];
                     $leveres[$x] = $leveres[$y];
                     $tidl_lev[$x] = $tidl_lev[$y];
                     $rest[$x] = $rest[$y];
                     $enhed[$x] = '';
                     $rabat[$x] = $rabat[$y];
                     $incl_moms && !$b2b ? $tmp = $m_rabat[$y] + $m_rabat[$y] * $varemomssats[$y] / 100 : ($tmp = $m_rabat[$y]);
                     $pris[$x] = $tmp * -1;
                     $rabatpct = afrund($tmp * 100 / usdecimal($pris[$y]), 2);
                     $l_sum[$x] = afrund($tmp * -$antal[$x], 3);
                     $linjesum[$x] = $l_sum[$x];
                     #				$linjesum[$x]=dkdecimal($l_sum[$x]);
                     if ($varemomssats[$y] > 0) {
                         $linjemoms[$x] = $varemomssats[$y] * $linjesum[$x] * 0.01;
                     } else {
                         $linjemoms[$x] = $varemomssats[$y] * $linjesum[$x];
                     }
                     $sum += $l_sum[$x];
                     if ($momsfri[$y] != 'on' && !$omvbet[$x]) {
                         $moms += afrund($m_rabat[$y] * $antal[$x] * $varemomssats[$y] / -100, 3);
                         $momssum = $momssum + afrund($m_rabat[$y] * -$antal[$x], 2);
                     }
                     $rabatart[$x] == 'amount' ? $beskrivelse[$x] = findtekst(466, $sprog_id) : ($beskrivelse[$x] = findtekst(467, $sprog_id));
                     $beskrivelse[$x] = str_replace('$rabatpct', $rabatpct, $beskrivelse[$x]);
                 }
                 $linjeantal = $x;
             }
             if ($status < 3 && $procenttillag > 0) {
                 $r = db_fetch_array(db_select("select box13 from grupper where art = 'DIV' and kodenr = '3'", __FILE__ . " linje " . __LINE__));
                 list($tmp, $procentvare) = explode(chr(9), $r['box13']);
                 if ($procentvare && ($r = db_fetch_array(db_select("select beskrivelse from varer where varenr='{$procentvare}'", __FILE__ . " linje " . __LINE__)))) {
                     $x++;
                     $linjeantal++;
                     $posnr[$x] = $posnr[$x - 1] + 1;
                     $varenr[$x] = $procentvare;
                     $beskrivelse[$x] = $r['beskrivelse'];
                     $procent[$x] = $r['procent'];
                     $dkantal[$x] = 1;
                     $linjesum[$x] = $sum * $procenttillag / 100;
                     if ($momssats) {
                         $momssum += $linjesum[$x];
                     }
                     $linjemoms[$x] = $linjesum[$x] / 100 * $momssats;
                     $sum += $sum * $procenttillag / 100;
                     $moms += $linjemoms[$x];
                     $pris[$x] = $linjesum[$x];
                 }
             }
             $y = $ya;
             $y_tjek = $y;
             $Opkt = $y - $antal_ordrelinjer * $linjeafstand;
             for ($x = 1; $x <= $linjeantal; $x++) {
                 $beskrivelse[$x] = str_replace('$procenttillæg;', dkdecimal($procenttillag), $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$procenttillæg', dkdecimal($procenttillag), $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$antal;', $dkantal[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$pris;', $pris[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$linjesum;', $linjesum[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$varenr;', $varenr[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$rabat;', $rabat[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$procent;', $procent[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$antal', $dkantal[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$pris', $pris[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$linjesum', $linjesum[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$varenr', $varenr[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$rabat', $rabat[$x], $beskrivelse[$x]);
                 $beskrivelse[$x] = str_replace('$procent', $procent[$x], $beskrivelse[$x]);
                 if ($charset == "utf-8") {
                     $varenr[$x] = utf8_iso8859($varenr[$x]);
                     $lev_varenr[$x] = utf8_iso8859($lev_varenr[$x]);
                     $beskrivelse[$x] = utf8_iso8859($beskrivelse[$x]);
                 }
                 /*
                 			if ($saet[$x]) {
                 				$linjesum[$x]='';
                 				$linjemoms[$x]='';
                 				$pris[$x]='';
                 				$rabat[$x]='';
                 				$procent[$x]='';
                 			} else {
                 */
                 $linjesum[$x] = dkdecimal($linjesum[$x]);
                 $linjemoms[$x] = dkdecimal($linjemoms[$x]);
                 $pris[$x] = dkdecimal($pris[$x]);
                 $rabat[$x] = dkdecimal($rabat[$x]);
                 $procent[$x] = dkdecimal($procent[$x]);
                 #			}
                 $transportsum = $transportsum + $l_sum[$x - 1];
                 $skriv = 0;
                 if ($kommentarprint == 'on' || $formular != 3 || $varenr[$x]) {
                     $skriv = 1;
                 }
                 #Fordi tekst uden varenr ikke skal med paa foelgesedlen med mindre det er angivet i "formularprint";
                 #			if ($saet[$x] && $samlevare[$x]) $skriv=0; #Fordi tekst uden varenr ikke skal med paa foelgesedlen med mindre det er angivet i "formularprint";
                 if ($skriv) {
                     for ($z = 1; $z <= $var_antal; $z++) {
                         if (substr($variabel[$z], 0, 8) == "fritekst") {
                             $tmp = substr($variabel[$z], 9);
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$tmp}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         }
                         if ($y_tjek != $y) {
                             #Det først skrevne felt på en linje bliver "ædt" ved sideskift. Derfor dette dummy felt.
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                             $y_tjek = $y;
                         }
                         if ($variabel[$z] == "posnr") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$posnr[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "varenr") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$varenr[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "lev_varenr") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$lev_varenr[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "leveres") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$leveres[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "projekt") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$projekt[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "antal") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$dkantal[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "lev_antal") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$lev_antal[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "tidl_lev") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$tidl_lev[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "lev_rest") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$rest[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "pris") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$pris[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "enhed") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$enhed[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "momssats") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$varemomssats[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "rabat") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$rabat[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "procent") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$procent[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "linjemoms") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$linjemoms[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "varemomssats") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$varemomssats[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "linjesum") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$linjesum[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] != "beskrivelse" && $variabel[$z] != "lokation") {
                             $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$variabel[$z]}", "fritekst_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                         } elseif ($variabel[$z] == "beskrivelse") {
                             $skriv_beskriv[$x] = $z;
                         }
                     }
                     if ($z = $skriv_beskriv[$x]) {
                         $y2 = ombryd("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$beskrivelse[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", $laengde[$z], $formular, $linjeafstand);
                     }
                     $y = $y2;
                     if ($y == 0) {
                         $y = $ya;
                     }
                     $y = $y - $linjeafstand;
                 }
             }
             if ($brugsamletpris) {
                 $r = db_fetch_array(db_select("select sum,moms from ordrer where id = '{$id}'"));
                 $sum = $r['sum'];
                 $moms = $r['moms'];
             }
             $momssum = afrund($momssum, 2);
             $sum = afrund($sum, 2);
             $ialt = dkdecimal($sum + $moms);
             $momsgrundlag = dkdecimal($momssum);
             $moms = dkdecimal($moms);
             $sum = dkdecimal($sum);
         }
         if ($id) {
             find_form_tekst($id, 'S', $formular, 0, $linjeafstand, "");
         }
         # Sum paa sidste side.
         if ($ordre_id[$o]) {
             bundtekst($ordre_id[$o]);
         }
         # Uden denne skrives kun  side 1
         if ($mail_fakt) {
             fclose($fp2);
         }
         #cho "$o A $ordre_id[$o] $mappe/$pfliste[$o]<br>";
     }
     fclose($fp);
     #cho "$mailantal -> $nomailantal<br>";
     #xit;
     if ($mailantal > 0) {
         ini_set("include_path", ".:../phpmailer");
         require "class.phpmailer.php";
         if (!isset($exec_path)) {
             $exec_path = "/usr/bin";
         }
         for ($x = 1; $x <= $mailantal; $x++) {
             #cho "$x B $ordre_id[$x] $mappe/$pfliste[$x]<br>";
             print "<!-- kommentar for at skjule uddata til siden \n";
             system("{$exec_path}/ps2pdf {$mappe}/{$pfliste[$x]} {$mappe}/{$pfliste[$x]}.pdf");
             print "--> \n";
             if ($logoart == 'PDF') {
                 print "<!-- kommentar for at skjule uddata til siden \n";
                 $out = $mappe . "/" . $pfliste[$x] . "x.pdf";
                 system("{$exec_path}/pdftk {$mappe}/{$pfliste[$x]}.pdf background ../logolib/{$db_id}/{$bgr}.pdf output {$out}");
                 #			unlink ("$mappe/$pfliste[$x].pdf");
                 system("mv {$out} {$mappe}/{$pfliste[$x]}.pdf");
                 print "--> \n";
             }
             $o = $x - 1;
             $svar = send_mails("{$ordre_id[$o]}", "{$mappe}/{$pfliste[$x]}.pdf", $email[$x], $mailsprog[$x], $form_nr[$x], "{$mail_subj}", "{$mail_text}", "{$mail_bilag}", $x);
             #		return($svar);
         }
     }
     #if ($mailantal>0) include("mail_faktura.php");
     if ($nomailantal > 0) {
         print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/udskriv.php?ps_fil={$mappe}/{$printfilnavn}&amp;id={$id}&amp;udskriv_til={$udskriv_til}&amp;art={$art}&amp;bgr={$bgr}\">";
     } elseif ($popup) {
         print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/luk.php\">";
     }
     #else print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id=$id\">";
     return 'OK';
     print "<!--function formularprint s**t-->";
 }
예제 #3
0
function formularprint($id, $formular, $lev_nr, $charset)
{
    include "../includes/std_func.php";
    include "../includes/formfunk.php";
    include "../includes/var2str.php";
    global $db;
    global $db_id;
    global $dkdato;
    global $form_id;
    #	global $formular;
    global $formularsprog;
    global $fp;
    global $gebyr;
    global $ialt;
    #	global $id;
    global $lev_nr;
    global $linjeafstand;
    global $logo;
    global $moms;
    global $momsgrundlag;
    global $momssats;
    global $nextside;
    global $printerid;
    global $ref;
    global $side;
    global $subtotal;
    global $sum;
    global $transportsum;
    global $y;
    global $ya;
    $fp1 = NULL;
    $kommentarprint = NULL;
    $skjul_nul_lin = NULL;
    $folgeseddel = 0;
    $mailantal = 0;
    $nomailantal = 0;
    $form = array();
    if ($id == -1) {
        # Saa er der flere fakturaer
        $ordre_antal = $_GET['ordre_antal'];
        $ordre_id = explode(",", $_GET['skriv']);
        if (strpos($formular, ",")) {
            list($formular, $folgeseddel) = split(",", $formular);
        }
    } else {
        $ordre_id[0] = $id;
        $ordre_antal = 1;
    }
    if ($formular == 3) {
        $folgeseddel = 1;
    }
    if ($formular != 3 && $folgeseddel) {
        for ($q = 0; $q < $ordre_antal; $q++) {
            $form[$q] = $formular;
            $r = db_fetch_array(db_select("select lev_addr1, lev_postnr from ordrer where id = {$ordre_id[$q]}", __FILE__ . " linje " . __LINE__));
            if ($r['lev_addr1'] && $r['lev_postnr']) {
                $form[$q] = 3;
                $ordre_antal++;
                for ($z = $ordre_antal; $z > $q; $z--) {
                    $ordre_id[$z] = $ordre_id[$z - 1];
                }
                $q++;
                $form[$q] = $formular;
            }
        }
    }
    $r = db_fetch_array(db_select("select * from grupper where art='DIV' and kodenr='3'", __FILE__ . " linje " . __LINE__));
    $incl_moms = $r['box1'];
    if ($folgeseddel) {
        $kommentarprint = $r['box3'];
        $skjul_nul_lin = $r['box8'];
    }
    $fsize = filesize("../includes/faktinit.ps");
    $initfil = fopen("../includes/faktinit.ps", "r");
    $initext = fread($initfil, $fsize);
    fclose($initfil);
    if (!file_exists("../temp/{$db}")) {
        mkdir("../temp/{$db}", 0775);
    }
    if ($ordre_antal > 1) {
        if ($formular <= 1) {
            $printfilnavn = "tilbud";
        }
        if ($formular == 2) {
            $printfilnavn = "ordrebek";
        }
        if ($formular == 3) {
            $printfilnavn = "flg_seddel";
        }
        if ($formular == 4) {
            $printfilnavn = "faktura";
        }
        if (!($fp = fopen("../temp/{$db}/{$printfilnavn}", "w"))) {
            return "kan ikke skrive til {$pfnavn}";
        }
    }
    for ($q = 0; $q < $ordre_antal; $q++) {
        $fp = $fp1;
        if (isset($form[$q])) {
            $formular = $form[$q];
        }
        $varenr = array();
        $vare_id = array();
        $linje_id = array();
        $antal = array();
        $tidl_lev = array();
        $rest = array();
        $enhed = array();
        $rabat = array();
        $pris = array();
        $l_sum = array();
        $linjesum = array();
        $sum = '';
        $transportsum = 0;
        $query = db_select("select email,ordrenr,fakturanr,mail_fakt,pbs,art,ref,sprog from ordrer where id = '{$ordre_id[$q]}'", __FILE__ . " linje " . __LINE__);
        $row = db_fetch_array($query);
        $ref = $row['ref'];
        $ordrenr = $row['ordrenr'];
        $fakturanr = $row['fakturanr'];
        $mail_fakt = $row['mail_fakt'];
        $email[0] = $row['email'];
        $pbs = $row['pbs'];
        $formularsprog = strtolower($row['sprog']);
        if (!$formularsprog) {
            $formularsprog = "dansk";
        }
        if ($formular == 4 || $formular == 5) {
            if ($row['art'] == "DK") {
                $formular = 5;
            } else {
                $formular = 4;
            }
        }
        $y = 185;
        $antal_ordrelinjer = 25;
        $x = 0;
        $query = db_select("select * from formularer where formular = '{$formular}' and art = '1' and beskrivelse = 'LOGO' and lower(sprog)='{$formularsprog}'", __FILE__ . " linje " . __LINE__);
        if ($row = db_fetch_array($query)) {
            $logo_X = $row['xa'] * 2.86;
            $logo_Y = $row['ya'] * 2.86;
        } else {
            $logo_X = 430;
            $logo_Y = 758;
        }
        if (file_exists("../logolib/logo_{$db_id}.eps")) {
            $logo = "../logolib/logo_{$db_id}.eps";
        } else {
            $logo = "../logolib/logo.eps";
        }
        $fsize = filesize($logo);
        $logofil = fopen($logo, "r");
        $translate = 0;
        $logo = "";
        while (!feof($logofil)) {
            $linje = fgets($logofil);
            if (substr($linje, 0, 2) != "%!") {
                if (strstr($linje, "translate") && !$translate) {
                    $linje = "{$logo_X} {$logo_Y} translate \n";
                    $translate = 1;
                }
                $logo = $logo . $linje;
            }
        }
        fclose($logofil);
        $query = db_select("select * from formularer where formular = '{$formular}' and art = '3' and lower(sprog)='{$formularsprog}'", __FILE__ . " linje " . __LINE__);
        while ($row = db_fetch_array($query)) {
            if ($row['beskrivelse'] == 'generelt') {
                $antal_ordrelinjer = $row['xa'];
                $ya = $row['ya'];
                $linjeafstand = $row['xb'];
                #		$Opkt=$y-($antal_ordrelinjer*$linjeafstand);
            } else {
                $x++;
                $variabel[$x] = $row['beskrivelse'];
                $justering[$x] = $row['justering'];
                $xa[$x] = $row['xa'];
                $str[$x] = $row['str'];
                $laengde[$x] = $row['xb'];
                $color[$x] = $row['color'];
                $fed[$x] = $row['fed'];
                $kursiv[$x] = $row['kursiv'];
                $form_font[$x] = $row['font'];
            }
            $var_antal = $x;
        }
        if ($formular == 3 && !$lev_nr) {
            $r2 = db_fetch_array(db_select("select MAX(lev_nr) as lev_nr from batch_salg where ordre_id = {$ordre_id[$q]}", __FILE__ . " linje " . __LINE__));
            $lev_nr = $r2['lev_nr'] * 1;
        }
        if ($mail_fakt && $formular != 3) {
            $mailantal++;
            if ($formular <= 1) {
                $pfnavn = "tilbud" . $ordrenr;
            }
            if ($formular == 2) {
                $pfnavn = "ordrebek" . $ordrenr;
            }
            if ($formular == 4) {
                $pfnavn = "fakt" . $fakturanr;
            }
            if ($formular == 5) {
                $pfnavn = "kn" . $fakturanr;
            }
            $email[$mailantal] = $email[0];
            $mailsprog[$mailantal] = $formularsprog;
            $form_nr[$mailantal] = $formular;
            $pfliste[$mailantal] = $pfnavn;
            $pfnavn = "../temp/" . $db . "/" . $pfnavn;
            if (!($fp = fopen("{$pfnavn}", "w"))) {
                return "kan ikke skrive til {$pfnavn}";
            }
            $fp = $fp2;
        } else {
            $nomailantal++;
            if ($ordre_antal <= 1) {
                #mere sige navn til udskrifter.
                if ($formular <= 1) {
                    $printfilnavn = "tilbud" . $ordrenr;
                }
                if ($formular == 2) {
                    $printfilnavn = "ordrebek" . $ordrenr;
                }
                if ($formular == 3) {
                    $printfilnavn = "flgs" . $ordrenr . "_" . $lev_nr;
                }
                if ($formular == 4) {
                    $printfilnavn = "fakt" . $fakturanr;
                }
                if ($formular == 5) {
                    $printfilnavn = "kn" . $fakturanr;
                }
                $pfnavn = "../temp/" . $db . "/" . $printfilnavn;
                if (!($fp = fopen("{$pfnavn}", "w"))) {
                    return "kan ikke skrive til {$pfnavn}";
                }
            }
        }
        $side = 1;
        fwrite($fp, $initext);
        $rabat[0] = formulartekst($ordre_id[$q], $formular, $formularsprog);
        if ($ordre_id[$q]) {
            $id = $ordre_id[$q];
            $x = 0;
            $sum = 0;
            $momssum = 0;
            $tmp = 0;
            $query = db_select("select * from ordrelinjer where ordre_id = {$ordre_id[$q]} order by posnr", __FILE__ . " linje " . __LINE__);
            while ($row = db_fetch_array($query)) {
                if ($row[posnr] > 0) {
                    $x++;
                    $varenr[$x] = trim($row['varenr']);
                    $projekt[$x] = $row['projekt'];
                    $beskrivelse[$x] = stripslashes(trim($row['beskrivelse']));
                    if ($charset == "utf-8") {
                        $varenr[$x] = utf8_decode($varenr[$x]);
                        $beskrivelse[$x] = utf8_decode($beskrivelse[$x]);
                    }
                    if (strpos($beskrivelse[$x], "\$ultimo") || strpos($beskrivelse[$x], "\$maaned") || strpos($beskrivelse[$x], "\$aar")) {
                        $beskrivelse[$x] = var2str($beskrivelse[$x], $ordre_id[$q]);
                    }
                    if ($varenr[$x]) {
                        $vare_id[$x] = $row['vare_id'];
                        $linje_id[$x] = $row[id];
                        $antal[$x] = $row['antal'] * 1;
                        $dkantal[$x] = str_replace(".", ",", $antal[$x]);
                        list($a, $b) = split(",", $dkantal[$x]);
                        $b = $b * 1;
                        if ($b) {
                            $dkantal[$x] = "{$a},{$b}";
                        } else {
                            $dkantal[$x] = $a;
                        }
                        if ($formular == 5) {
                            $antal[$x] = $antal[$x] * -1;
                        }
                        if ($formular == 3) {
                            $lev_antal[$x] = 0;
                            $q2 = db_select("select antal from batch_salg where linje_id = {$linje_id[$x]} and lev_nr = {$lev_nr}", __FILE__ . " linje " . __LINE__);
                            while ($r2 = db_fetch_array($q2)) {
                                $lev_antal[$x] = $lev_antal[$x] + $r2['antal'];
                            }
                            $tidl_lev[$x] = 0;
                            $q2 = db_select("select antal from batch_salg where linje_id = {$linje_id[$x]} and lev_nr < {$lev_nr}", __FILE__ . " linje " . __LINE__);
                            while ($r2 = db_fetch_array($q2)) {
                                $tidl_lev[$x] = $tidl_lev[$x] + $r2['antal'];
                            }
                            $rest[$x] = $antal[$x] - $lev_antal[$x] - $tidl_lev[$x];
                        }
                        $enhed[$x] = $row['enhed'];
                        $pris[$x] = dkdecimal($row['pris']);
                        $rabat[$x] = dkdecimal($row['rabat']);
                        $l_sum[$x] = round($row['pris'] * $antal[$x] - $row['pris'] * $antal[$x] * $row[rabat] / 100 + 0.0001, 2);
                        #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104
                        $linjesum[$x] = dkdecimal($row['pris'] * $antal[$x] - $row['pris'] * $antal[$x] * $row[rabat] / 100);
                        if ($row[momsfri] != 'on') {
                            $momssum = $momssum + round($row['pris'] * $antal[$x] - $row['pris'] * $antal[$x] * $row[rabat] / 100 + 0.0001, 2);
                            #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104
                            if ($incl_moms) {
                                $tmp = round($row['pris'] + $row['pris'] * $momssats / 100 + 0.0001, 2);
                                $pris[$x] = dkdecimal($tmp);
                                $linjesum[$x] = dkdecimal($tmp * $antal[$x] - $tmp * $antal[$x] * $row[rabat] / 100);
                            }
                        }
                        $sum = $sum + round($row['pris'] * $antal[$x] - $row['pris'] * $antal[$x] * $row[rabat] / 100 + 0.0001, 2);
                        #Afrunding tilfoejet 2009.01.26 grundet diff i ordre 98 i saldi_104
                        if ($formular == 3 && $skjul_nul_lin && !$lev_antal[$x]) {
                            $varenr[$x] = NULL;
                        }
                        #
                    }
                }
                $linjeantal = $x;
            }
            $y = $ya;
            $Opkt = $y - $antal_ordrelinjer * $linjeafstand;
            for ($x = 1; $x <= $linjeantal; $x++) {
                $transportsum = $transportsum + $l_sum[$x - 1];
                if ($kommentarprint == 'on' || $formular != 3 || $varenr[$x]) {
                    #Fordi tekst uden varenr ikke skal med paa foelgesedlen med mindre det er angivet i "formularprint";
                    for ($z = 1; $z <= $var_antal; $z++) {
                        if ($variabel[$z] == "varenr") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        # ellers kommer varenummer ikke med paa 1. linje paa side 2 . og 3
                        if ($variabel[$z] == "varenr") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$varenr[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "projekt") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$projekt[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "antal") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$dkantal[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "antal") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$dkantal[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        #ellers kommer antal ikke med paa 1. linje paa side 2 . og 3
                        if ($variabel[$z] == "lev_antal") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$lev_antal[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "tidl_lev") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$tidl_lev[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "lev_rest") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$rest[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "pris") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$pris[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "enhed") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$enhed[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "rabat") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$rabat[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "linjesum") {
                            $svar = skriv("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$linjesum[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", "{$formular}");
                        }
                        if ($variabel[$z] == "beskrivelse") {
                            $skriv_beskriv[$x] = $z;
                        }
                    }
                    if ($z = $skriv_beskriv[$x]) {
                        $y2 = ombryd("{$str[$z]}", "{$fed[$z]}", "{$kursiv[$z]}", "{$color[$z]}", "{$beskrivelse[$x]}", "ordrelinjer_" . $Opkt, "{$xa[$z]}", "{$y}", "{$justering[$z]}", "{$form_font[$z]}", $laengde[$z]);
                    }
                    $y = $y2;
                    if ($y == 0) {
                        $y = $ya;
                    }
                    $y = $y - 4;
                }
            }
            $moms = dkdecimal($momssum * $momssats / 100);
            $momsgrundlag = dkdecimal($momssum);
            $momssum = round($momssum + 0.0001, 2);
            $sum = round($sum + 0.0001, 2);
            $ialt = dkdecimal($sum + $momssum * $momssats / 100);
            $sum = dkdecimal($sum);
        }
        find_form_tekst($id, 'S', $formular);
        # Sum paa sidste side.
        bundtekst($ordre_id[$q]);
        # Uden denne skrives kun  side 1
        if ($mail_fakt) {
            fclose($fp2);
        }
    }
    fclose($fp);
    #exit;
    if ($mailantal > 0) {
        ini_set("include_path", ".:../phpmailer");
        require "class.phpmailer.php";
        for ($x = 1; $x <= $mailantal; $x++) {
            system("/usr/bin/ps2pdf ../temp/{$db}/{$pfliste[$x]} ../temp/{$db}/{$pfliste[$x]}.pdf");
            $svar = send_mails("../temp/{$db}/{$pfliste[$x]}.pdf", $email[$x], $mailsprog[$x], $form_nr[$x], $charset);
            return $svar;
        }
    }
    #if ($mailantal>0) include("mail_faktura.php");
    #if ($nomailantal>0) print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/udskriv.php?ps_fil=$db/$printfilnavn&id=$id\">";
    #elseif ($popup) print "<meta http-equiv=\"refresh\" content=\"0;URL=../includes/luk.php\">";
    #else print "<meta http-equiv=\"refresh\" content=\"0;URL=ordre.php?id=$id\">";
    return $svar;
}