Ältere Plattform

Druckservice implementieren

In diesem Abschnitt wird die Beispielimplementierung eines Druckservice erläutert, den Sie mit Applications Managereinrichten können.

Das folgende Bild und die Vorgehensweise beschreiben, wie ein Druckdienst implementiert wird:
Druckservice
  1. Erstellen Sie eine Servicedefinition, um Eingaben von der Benutzerschnittstelle zu akzeptieren, wenn der Benutzer ein Dokument, z. B. einen Beleg, druckt.
  2. Übergeben Sie die Eingabe an einen XSL-Umsetzer, um die Eingabe in ein XML-Format zu konvertieren, sodass sie als Eingabe für eine API bereitgestellt werden kann. Der Mustercode für den XSL-Umsetzer lautet wie folgt:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:template match="Order">
    	 <Page PageNumber="1"  PageSize="4" PaginationStrategy="GENERIC" Refresh="Y" >
               <API  Name="getOrderList" >
    		<Input>
    		   <Order>
    		   <xsl:attribute name="CallingOrganizationCode">
    							<xsl:value-of select="@OrganizationCode" />
    						</xsl:attribute>
                        </Order>
    		 </Input>  
    		   <Template>
    		     <OrderList>
    			   <Order OrderNo='' >
    			     <OverallTotals GrandTotal=''/>
    				</Order> 
    			 </OrderList>
    		   </Template>
    		 </API> 
             </Page>		 
     </xsl:template>
    </xsl:stylesheet> 
    In diesem Beispielcode wird die Ausgabe des XSL-Umsetzers an die API getPage übergeben, die intern die getOrderList -API aufruft.
  3. Übergeben Sie die Ausgabe der API an einen XSL-Umsetzer, um die Ausgabe in das HTML-Format zu konvertieren. Der Mustercode für den Umsetzer lautet wie folgt:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="html" encoding="UTF-8" indent="yes"></xsl:output>
    	<xsl:template match="/">
    	 <html>
    	  <Strong>Order List For Matrix</Strong>
    	    <body>
    	    <style>
    		table, th, td {
    		    border: 1px solid black;
    		}
    		th, td {
    		    padding: 5px;
    		    text-align: left;
    		}
    		</style>
    		</body>
    
    	    <xsl:apply-templates select="Page/Output/OrderList" />
    	     <xsl:apply-templates select="Page/Output/OrderList/Order" />
    	     </html>
    	    </xsl:template>
    
    	     <xsl:template match="Page/Output/OrderList"> 
    		    <table>
    			<thead>
    				<tr>
    					<th>OrderNo</th>
    					<th>Order Price</th>
    				</tr>
    			</thead>
    			<xsl:for-each select="Order">
                    <tr>
    				    <td class="header-font">
    					<xsl:value-of select="@OrderNo" />
    				    </td>
    					<td>
    						<xsl:value-of select="OverallTotals/@GrandTotal" />
    					</td>
    				</tr>
    				</xsl:for-each>
    				</table>
    		    </xsl:template>
    </xsl:stylesheet>
  4. Übergeben Sie die HTML-Ausgabe an einen XSL-Umsetzer, um sie in ein vom iscPrint -Service akzeptiertes Format zu konvertieren, damit der Dialog für die Druckvorschau im Browser angezeigt wird.

Beispielimplementierung

Sie können die Beispieldateien im Ordner <wscdev.war>/ngstore/store/views/samples/ verwenden, um den iscPrint -Service besser zu verstehen.