BillPDF

(let ((format-currency-de (lambda (x) x))) (let listposten ((nl (select-elements (children (node-list-first (xsl-variable "rechnung"))) 'posten)) (nr 1) (gnetto 0) (gust 0) (gtotal 0)) (if (node-list-empty? nl) (make element gi:'Total (make element gi:'Netto (literal (format-currency-de gnetto))) (make element gi:'Ust (literal (format-currency-de gust))) (make element gi:'Gesamt (literal (format-currency-de gtotal))) (make element gi:'Gesamt-dm (literal (format-currency-de (/ (round (* gtotal 195.583)) 100.0))))) (let* ((row (children (node-list-first nl))) (text (data (select-elements row 'text))) (menge (data (select-elements row 'menge))) (preis (data (select-elements row 'preis))) (nmenge (string->number menge)) (npreis (string->number preis)) (netto (* npreis nmenge)) (ust (exact->inexact (/ (round (* netto 16)) 100))) (total (+ netto ust))) (node-list (make element gi:'Posten (make element gi:'Pos-Nr (literal (number->string nr))) (make element gi:'Bez (literal text)) (make element gi:'Netto-E (literal (format-currency-de npreis))) (make element gi:'Menge (literal menge)) (make element gi:'Netto (literal (format-currency-de netto))) (make element gi:'Ust (literal (format-currency-de ust))) (make element gi:'Gesamt (literal (format-currency-de total)))) (listposten (node-list-rest nl) (+ nr 1) (+ gnetto netto) (+ gust ust) (+ gtotal total)))))))

 







 

 

Ihr Zeichen Unser Zeichen

(data (select-elements (children (xsl-variable "rechnung")) 'betreff)) Nummer: (data (select-elements (children (xsl-variable "rechnung")) 'rechnungsnr))



wir erlauben uns, Ihnen folgende Positionen in Rechnung zu stellen:



Pos.Nr.

Bezeichnung

Netto/E

EUR

Menge

Netto

EUR

16% Ust.

EUR

Gesamt

EUR




Bitte zahlen Sie den Betrag von  EUR (entspricht  DM) bis zum     auf unser Konto.

Bis zur vollständigen Bezahlung bleibt die Ware unser Eigentum.

Wir wünschen weiterhin gute Zusammenarbeit.



Mit freundlichen Grüssen






Telefon:

Telefax:

E-Mail:

St.-Nr.

Ust-ID

Bankverbindung

Blz.

Kto.-Nr.


 

Gesamt


Source code:

<xsl:variable xmlns:d="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="computed" xml:space="default">
 <d:copy-of select="#CONTENT">
          (let ((format-currency-de (lambda (x) x)))
          (let listposten ((nl   (select-elements 
                                   (children (node-list-first (xsl-variable "rechnung")))
                                   'posten))
                           (nr     1)
                           (gnetto 0)
                           (gust  0)
                           (gtotal 0)) 
           (if (node-list-empty? nl)
            (make element  gi:'Total
             (make element gi:'Netto  (literal (format-currency-de gnetto))) 
             (make element gi:'Ust   (literal (format-currency-de gust))) 
             (make element gi:'Gesamt (literal (format-currency-de gtotal)))
             (make element gi:'Gesamt-dm
                  (literal (format-currency-de
                             (/ (round (* gtotal 195.583)) 100.0)))))
 
           (let* ((row    (children (node-list-first nl)))
                  (text   (data (select-elements row 'text)))
                  (menge  (data (select-elements row 'menge)))
                  (preis  (data (select-elements row 'preis)))
                  (nmenge (string-&gt;number menge))
                  (npreis (string-&gt;number preis))
                  (netto  (* npreis nmenge))
                  (ust   (exact-&gt;inexact (/ (round (* netto 16)) 100)))
                  (total  (+ netto ust)))
            (node-list 
             (make element gi:'Posten
              (make element gi:'Pos-Nr  (literal (number-&gt;string nr))) 
              (make element gi:'Bez     (literal text))
              (make element gi:'Netto-E (literal (format-currency-de npreis)))
              (make element gi:'Menge   (literal menge))
              (make element gi:'Netto   (literal (format-currency-de netto))) 
              (make element gi:'Ust     (literal (format-currency-de ust))) 
              (make element gi:'Gesamt  (literal (format-currency-de total)))) 

             (listposten (node-list-rest nl)
                         (+ nr     1)
                         (+ gnetto netto)
                         (+ gust  ust)
                         (+ gtotal total)))))))
        </d:copy-of>
</xsl:variable>
<xsl:variable xmlns:d="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="rechnung-voll">
 <rechnung>
  <d:copy-of select="(children (xsl-variable &quot;rechnung&quot;))"></d:copy-of>
  <d:copy-of select="(xsl-variable &quot;computed&quot;)"></d:copy-of>
 </rechnung>
</xsl:variable>
<xsl:variable xmlns:d="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:nu="nu" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="html">
 <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <style rel="stylesheet" type="text/css">
    <xsl:comment>
       a:link    { color:black; text-decoration:underline}
       a:visited { color:black; text-decoration:underline}
       a:hover   { color:#FFAA00; text-decoration:underline; cursor:default}
       a:active  { color:#FFAA00; text-decoration:none }

      h1   { font-size:10pt;
             line-height:16pt; 
             font-family:Helvetica,Arial;
             font-weight:bold;
             color:#E9E9E9; }
       h2  { font-size:8pt;
             line-height:9pt; 
             font-family:Helvetica,Arial;
             color:#E9E9E9;
             font-weight:normal; }
       h3  { font-size:14pt;
             line-height:18pt; 
             font-family:Helvetica,Arial;
             font-weight:normal;
             color:#E9E9E9; }
       p,li{ font-size:9pt;
             line-height:14pt; 
             font-family:Helvetica,Arial;
             color:#000000; }
       BODY{ scrollbar-face-color: silver; 
             scrollbar-highlight-color: white; 
             scrollbar-shadow-color: grey; 
             scrollbar-3dlight-color: grey; 
             scrollbar-arrow-color: rgb(C0C0C0); 
             scrollbar-track-color: silver; 
             scrollbar-darkshadow-color: darkgrey; }
     .SelBox{ background-color:silver; 
              layer-background-color:silver;}
     .Button{ background-color:silver;
              layer-background-color:silver;}
     .TextArea{ font-size:9pt;
                line-height:14pt; 
                font-family:Helvetica,Arial;
                color:#000000; }
 .sender { font-size:9pt; }
 .address { font-size:9pt; }
       </xsl:comment>
   </style>
  </head>
  <body bgcolor="white" leftmargin="20" marginheight="20" marginwidth="20" text="#000000" topmargin="20">
   <div id="behind" style="position:absolute; 
                              width:600px; height:1000px; z-index:2;
                              left:5px; top:5px">
<!--
       <d:image height="100%" width="100%" d:src="
           (read-locator 
            (msg &apos;location-format) 
            (list &quot;behind_h4h.jpeg&quot; (entry-name-&gt;oid &quot;mue&quot;))) " />
-->
   </div>
<!-- DOCHEAD -->
   <div id="logo" style="position:absolute; 
                            width:90px; height:90px; z-index:2;
                            left:510px; top:5px">
    <image border="0" src="http://www.softeyes.net:9080/logo0.5.png" width="80px"></image>
   </div>
   <div id="kopf" style="position:absolute; width:170mm; height:120mm; 
                   z-index:2; left:0mm; top:0mm">
    <table bgcolor="white" border="0" cellpadding="1" width="100%">
     <tr>
      <td width="50%">
       <p align="left">
        <span class="sender">
         <d:copy-of select="
(data ((sxpath &apos;(von adr affilation)) (xsl-variable &quot;rechnung&quot;))) "></d:copy-of>
         <d:copy-of select="
(let ((v (children ((sxpath &apos;(von adr)) (xsl-variable &quot;rechnung&quot;))))
      (br (make element gi: &apos;br)))
  (node-list
   br
   (data (select-elements v &apos;street))
   br
   (data (select-elements v &apos;zip))
   (literal &quot; &quot;)
   (data (select-elements v &apos;city)))) "></d:copy-of>
        </span>
       </p>
      </td>
      <td align="right">
       <p> </p>
      </td>
     </tr>
     <tr>
      <td width="50%">
       <p><br></br><br></br><d:copy-of select="
(literal (data ((sxpath &apos;(an Description adr affilation)) (xsl-variable &quot;rechnung&quot;)))) "></d:copy-of><br></br>
            <span class="address"><d:copy-of select="
(let ((v ((sxpath &apos;(an Description adr)) (xsl-variable &quot;rechnung&quot;)))
      (br (make element gi: &apos;br)))
  (node-list
   (literal (data ((sxpath &apos;(street)) v)))
   br
   (literal (data ((sxpath &apos;(zip)) v)))
   (literal &quot; &quot;)
   (literal (data ((sxpath &apos;(city)) v))))) "></d:copy-of></span></p>
      </td>
      <td align="right" valign="top">
       <p> </p>
      </td>
     </tr>
    </table>
   </div>
   <div id="ref" style="position:absolute; width:170mm; height:30mm; 
                   z-index:2; left:0mm; top:65mm">
    <table bgcolor="white" border="0" cellpadding="1" class="refline" width="100%">
     <tr>
      <td width="25%">
       <font size="1">
        <span class="refline">Ihr Zeichen</span>
       </font>
      </td>
      <td width="25%">Unser Zeichen</td>
      <td width="25%"></td>
      <td width="25%">
       <d:copy-of select="
 (children ((sxpath &apos;(ort)) (xsl-variable &quot;rechnung&quot;)))
"></d:copy-of>
      </td>
     </tr>
     <tr>
      <td>
       <d:copy-of select="
 (children ((sxpath &apos;(ihrzeichen)) (xsl-variable &quot;rechnung&quot;)))
"></d:copy-of>
      </td>
      <td>
       <d:copy-of select="
 (children ((sxpath &apos;(unserzeichen)) (xsl-variable &quot;rechnung&quot;)))
"></d:copy-of>
      </td>
      <td width="25%"></td>
      <td>
       <d:copy-of select="
 (children ((sxpath &apos;(datum)) (xsl-variable &quot;rechnung&quot;)))
"></d:copy-of>
      </td>
     </tr>
    </table>
   </div>
<!-- DOCBODY -->
   <div id="koerper" style="position:absolute; width:170mm; height:150mm; 
                  z-index:2; left:0mm; top:95mm">
    <p align="left">
     <b><d:copy-of select="#CONTENT">
        (data 
         (select-elements (children (xsl-variable "rechnung")) 
                          'betreff))
       </d:copy-of>
       Nummer:
        <d:copy-of select="#CONTENT">
        (data 
         (select-elements (children (xsl-variable "rechnung")) 
                          'rechnungsnr))
       </d:copy-of></b>
    </p>
    <br></br>
    <p>wir erlauben uns, Ihnen folgende Positionen in Rechnung zu stellen:
      </p>
    <br></br>
    <table border="0" cellpadding="3" cellspacing="1" width="100%">
     <tr>
      <td valign="top">
       <p>
        <b>
         <font size="1">Pos.Nr.</font>
        </b>
       </p>
      </td>
      <td valign="top">
       <p>
        <b>
         <font size="1">Bezeichnung</font>
        </b>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <b>
         <font size="1">Netto/E<br></br><nu:q>EUR</nu:q></font>
        </b>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <b>
         <font size="1">Menge</font>
        </b>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <b>
         <font size="1">Netto<br></br><nu:q>EUR</nu:q></font>
        </b>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <b>
         <font size="1">16% Ust.<br></br><nu:q>EUR</nu:q></font>
        </b>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <b>
         <font size="1">Gesamt<br></br><nu:q>EUR</nu:q></font>
        </b>
       </p>
      </td>
     </tr>
     <tr>
      <td colspan="7">
       <hr></hr>
      </td>
     </tr>
     <d:apply-templates select="(xsl-variable &quot;computed&quot;)"></d:apply-templates>
    </table>
    <br></br>
    <xsl:variable name="endbetrag">
     <d:copy-of select="#CONTENT"></d:copy-of>
    </xsl:variable>
    <p>
      Bitte zahlen Sie den Betrag von <b><d:copy-of select="
  (data (select-elements
   (children (select-elements (xsl-variable &quot;computed&quot;) &apos;Total))
   &apos;Gesamt)) "></d:copy-of>
        <nu:q>EUR</nu:q></b> (entspricht <d:copy-of select="
  (data (select-elements
   (children (select-elements (xsl-variable &quot;computed&quot;) &apos;Total))
   &apos;Gesamt-dm)) "></d:copy-of>
        <nu:q>DM</nu:q>) bis zum <b><d:copy-of select="
        (data 
         (select-elements (children (xsl-variable &quot;rechnung&quot;)) 
                          &apos;zahlungsziel)) "></d:copy-of></b> 
       <!-- unter Angabe der Rechnungsnummer: <b><d:copy-of select="
        (data 
         (select-elements (children (xsl-variable &quot;rechnung&quot;)) 
                          'rechnungsnr)) "/></b>-->  auf unser Konto.
       </p>
    <p>Bis zur vollständigen Bezahlung bleibt die Ware unser Eigentum.</p>
    <p>Wir wünschen weiterhin gute Zusammenarbeit.</p>
    <br></br>
    <p>Mit freundlichen Grüssen</p>
    <br></br>
    <br></br>
   </div>
<!-- DOCFOOT -->
   <div id="Fuss" style="position:absolute; width:600px;
                  height:50px; z-index:2; left:5px; top:900px">
    <hr></hr>
    <table bgcolor="white" border="0" cellpadding="1" width="100%">
     <tr>
      <td valign="top" width="60%">
       <p align="left">
        <font size="1">
           Telefon: <d:copy-of select="
 (data ((sxpath &apos;(von tel)) (xsl-variable &quot;rechnung&quot;)))"></d:copy-of><br></br>
           Telefax: <d:copy-of select="
 (data ((sxpath &apos;(von fax)) (xsl-variable &quot;rechnung&quot;)))"></d:copy-of><br></br>
           E-Mail:  <d:copy-of select="
 (data ((sxpath &apos;(von email)) (xsl-variable &quot;rechnung&quot;)))"></d:copy-of><br></br></font>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <font size="1">St.-Nr.<br></br><nu:q>Ust-ID</nu:q></font>
       </p>
      </td>
      <td align="left" valign="top">
       <p>
        <font size="1">
         <d:copy-of select="
 (let ((b (children ((sxpath &apos;(steuerkennung)) (xsl-variable &quot;rechnung&quot;))))
       (br (make element gi: &apos;br)))
   (node-list
    (literal (data (select-elements b &apos;stnr)) )
     br (literal (data (select-elements b &apos;ust-id)) )))
"></d:copy-of>
        </font>
       </p>
      </td>
      <td align="right" valign="top">
       <p>
        <font size="1">Bankverbindung<br></br>Blz.<br></br>Kto.-Nr.</font>
       </p>
      </td>
      <td align="left" valign="top">
       <p>
        <font size="1">
         <d:copy-of select="
 (let ((b (children ((sxpath &apos;(bankverbindung)) (xsl-variable &quot;rechnung&quot;))))
       (br (make element gi: &apos;br)))
   (node-list
    (literal (data (select-elements b &apos;name)) )
     br (literal (data (select-elements b &apos;blz)) ) br
    (literal (data (select-elements b &apos;ktonr)))))
"></d:copy-of>
        </font>
       </p>
      </td>
     </tr>
    </table>
   </div>
<!--

   <xsl:comment> NEW PAGE </xsl:comment>
   <table bgcolor="white" border="0" cellpadding="1" width="100%">
    <d:copy-of select="(ec-access-log-detail 
              (data (form-field &apos;kunde (current-node)))
              (data (form-field &apos;von (current-node)))
              (data (form-field &apos;bis (current-node))))"/>
   </table>
-->
  </body>
 </html>
</xsl:variable>
<xsl:template xmlns:d="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" match="Posten">
 <tr>
  <td>
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Pos-Nr))"></d:copy-of>
   </p>
  </td>
  <td>
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Bez))"></d:copy-of>
   </p>
  </td>
  <td align="right">
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Netto-E))"></d:copy-of>
   </p>
  </td>
  <td align="right">
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Menge))"></d:copy-of>
   </p>
  </td>
  <td align="right">
   <p>
    <d:copy-of select="
    (data (select-elements (children (current-node)) &apos;Netto))"></d:copy-of>
   </p>
  </td>
  <td align="right">
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Ust))"></d:copy-of>
   </p>
  </td>
  <td align="right">
   <p>
    <d:copy-of select="
     (data (select-elements (children (current-node)) &apos;Gesamt))"></d:copy-of>
   </p>
  </td>
 </tr>
</xsl:template>
<xsl:template xmlns:d="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" match="Total">
 <tr>
  <td colspan="7">
   <hr></hr>
  </td>
 </tr>
 <tr>
  <td> </td>
  <td colspan="3">
   <p>
    <b>Gesamt</b>
   </p>
  </td>
  <td align="right">
   <p>
    <b>
     <d:copy-of select="
       (data (select-elements (children (current-node)) &apos;Netto))"></d:copy-of>
    </b>
   </p>
  </td>
  <td align="right">
   <p>
    <b>
     <d:copy-of select="
       (data (select-elements (children (current-node)) &apos;Ust))"></d:copy-of>
    </b>
   </p>
  </td>
  <td align="right">
   <p>
    <b>
     <d:copy-of select="
        (data (select-elements (children (current-node)) &apos;Gesamt))"></d:copy-of>
    </b>
   </p>
  </td>
 </tr>
</xsl:template>

Diese Seite findet man von: overview, .




Letzte Modifikation: Thu, 06 Mar 2003 14:27:21 +0100

Autor(en):

Dokument Nummer A67bb0753e1676f81983e0ecf3a15b391 geliefert an public um Tue, 14 Oct 2008 09:45:37 +0200