« Logiciel Pastèque/Scripts divers » : différence entre les versions

Contenu supprimé Contenu ajouté
m →‎GNU/Linux : avec AWB
Elfi (discussion | contributions)
Ligne 2 :
 
=== Toute version ===
 
==== Édition de facture A4 ====
 
Dans le dossier d’installation de Pastèque, créer un dossier reports/fr/pasteque/reports
 
Mettez y 3 fichiers :
* invoice.jrxml
* ticket_lines.jrxml
* logo.png (votre logo)
Adaptez les fichiers à vos besoins (ils sont définis plus bas)
 
Dans la configuration avancée, ajoutez la ligne suivante dans Ticket.Buttons, entre les balises <configuration> et </configuration> : <event key="ticket.close" code="code.printinvoice"/>
Dans la configuration avancée, ajoutez une ressource appelée « code.printinvoice » et contenant la ligne suivante : sales.printReport("/fr/pasteque/reports/invoice");
 
=====invoice.jrxml=====
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="ticket"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<parameter name="SUBREPORT_DIR" isForPrompting="true" class="java.lang.String">
<defaultValueExpression ><![CDATA["./"]]></defaultValueExpression>
</parameter>
<field name="TICKET" class="fr.pasteque.pos.ticket.TicketInfo"/>
<field name="PLACE" class="java.lang.String"/>
<field name="TAXESLOGIC" class="java.lang.Object"/>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
 
<!-- HEADER -->
<title>
<band height="85" isSplitAllowed="true" >
<staticText>
<reportElement x="0" y="70" width="520" height="15" key="hautdepage-boutique" />
<textElement textAlignment="Center" />
<text><![CDATA[INFOS MAGASIN]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="0" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="0" isSplitAllowed="true" >
</band>
</columnHeader>
<!-- BODY -->
<detail>
<band height="555" isSplitAllowed="true" >
<!-- LOGO -->
<image scaleImage="RetainShape" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="0"
y="0"
width="115"
height="80"
key="logo" />
<box></box>
<graphicElement stretchType="NoStretch"/>
<imageExpression class="java.lang.String"><![CDATA["reports/fr/pasteque/reports/logo.png"]]></imageExpression>
</image>
<!-- TOP LEFT -->
<rectangle>
<reportElement
x="120"
y="7"
width="180"
height="77"
key="rectangle-hautgauche"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<staticText>
<reportElement
x="130"
y="11"
width="109"
height="21"
key="staticText-3"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[FACTURE N°]]></text>
</staticText>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="200"
y="11"
width="156"
height="21"
key="textField-2"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.printId()]]></textFieldExpression>
</textField>
<staticText>
<reportElement
x="130"
y="32"
width="109"
height="21"
key="staticText-4"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Date: ]]></text>
</staticText>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="165"
y="32"
width="156"
height="21"
key="textField-3"/>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.printDate()]]></textFieldExpression>
</textField>
<staticText>
<reportElement
x="130"
y="55"
width="160"
height="21"
key="conditionsdepaiement"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[CONDITIONS PAIEMENT]]></text>
</staticText>
<!-- TOP RIGHT -->
<rectangle>
<reportElement
x="300"
y="7"
width="220"
height="77"
key="rectangle-hautdroite"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="310"
y="15"
width="188"
height="19"
key="textField-4">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getName()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="310"
y="25"
width="188"
height="19"
key="textField-CustInfo1">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getAddress()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="310"
y="35"
width="188"
height="19"
key="textField-CustInfo2">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getAddress2()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="310"
y="45"
width="188"
height="19"
key="textField-CustInfo3">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getPostal()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="345"
y="45"
width="188"
height="19"
key="textField-CustInfo4">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getCity()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="310"
y="55"
width="188"
height="19"
key="textField-CustInfo5">
<printWhenExpression><![CDATA[Boolean.valueOf($F{TICKET}.getCustomer() != null)]]></printWhenExpression>
</reportElement>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.getCustomer().getCountry()]]></textFieldExpression>
</textField>
<!-- TICKET LINES -->
<rectangle>
<reportElement
x="10"
y="100"
width="520"
height="270"
key="rectangle-lines"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<subreport isUsingCache="true">
<reportElement
x="10"
y="100"
width="520"
height="65"
key="subreport-1"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(
$F{TICKET}.getLines()
)]]></dataSourceExpression>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[JasperCompileManager.compileReport(
net.sf.jasperreports.engine.xml.JRXmlLoader.load(getClass().getResourceAsStream(
"/fr/pasteque/reports/ticket_lines.jrxml"
))
)]]></subreportExpression>
</subreport>
<!-- TOTAL -->
<rectangle>
<reportElement
x="10"
y="370"
width="520"
height="120"
key="rectangle-total"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="324"
y="399"
width="188"
height="19"
key="textField-6"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" size="12" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.printTax()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="324"
y="418"
width="188"
height="19"
key="textField-7"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" size="12" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.printTotal()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="324"
y="380"
width="188"
height="19"
key="textField-8"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" size="12" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{TICKET}.printSubTotal()]]></textFieldExpression>
</textField>
<staticText>
<reportElement
x="164"
y="380"
width="160"
height="19"
key="staticText-6"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Total HT]]></text>
</staticText>
<staticText>
<reportElement
x="164"
y="399"
width="160"
height="19"
key="staticText-8"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[TVA 20%]]></text>
</staticText>
<staticText>
<reportElement
x="164"
y="418"
width="160"
height="19"
key="staticText-9"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Total TTC]]></text>
</staticText>
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="0" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="40" isSplitAllowed="true" >
<staticText>
<reportElement x="0" y="0" width="520" height="19" key="basdepage-TVA" />
<textElement textAlignment="Center" />
<text><![CDATA[N° T.V.A. INTRACOMMUNAUTAIRE : XXXXXXXXXXXXXX]]></text>
</staticText>
<staticText>
<reportElement x="0" y="20" width="520" height="19" key="basdepage-societe" />
<textElement textAlignment="Center" />
<text><![CDATA[PIED de page]]></text>
</staticText>
</band>
</summary>
</jasperReport>
</source>
 
=====ticket_liens.jrxml=====
<source lang="xml">
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="ticket_lines"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="535"
pageHeight="802"
columnWidth="535"
columnSpacing="0"
leftMargin="0"
rightMargin="0"
topMargin="0"
bottomMargin="0"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="0" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
 
 
<field name="productName" class="java.lang.String"/>
<field name="_THIS" class="fr.pasteque.pos.ticket.TicketLineInfo"/>
 
<background>
<band height="31" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="0" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="24" isSplitAllowed="true" >
<rectangle>
<reportElement
x="0"
y="0"
width="520"
height="24"
key="rectangle-haut"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<staticText>
<reportElement
x="12"
y="5"
width="149"
height="14"
key="staticText-1"/>
<box></box>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Name]]></text>
</staticText>
<staticText>
<reportElement
x="176"
y="5"
width="113"
height="14"
key="staticText-2"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Price]]></text>
</staticText>
<staticText>
<reportElement
x="360"
y="5"
width="136"
height="14"
key="staticText-4"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Total]]></text>
</staticText>
<staticText>
<reportElement
x="289"
y="5"
width="71"
height="14"
key="staticText-5"/>
<box></box>
<textElement textAlignment="Right">
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Units]]></text>
</staticText>
</band>
</pageHeader>
<columnHeader>
<band height="0" isSplitAllowed="true" >
</band>
</columnHeader>
<detail>
<band height="20" isSplitAllowed="true" >
<rectangle>
<reportElement
x="0"
y="0"
width="520"
height="20"
key="rectangle-bas"/>
<graphicElement stretchType="NoStretch"/>
</rectangle>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="12"
y="3"
width="149"
height="15"
key="textField-1"/>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{productName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="360"
y="3"
width="136"
height="15"
key="textField-2"/>
<box></box>
<textElement textAlignment="Right">
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{_THIS}.printValue()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="176"
y="3"
width="113"
height="15"
key="textField-3"/>
<box></box>
<textElement textAlignment="Right">
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{_THIS}.printPriceTax()]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="289"
y="3"
width="71"
height="15"
key="textField-4"/>
<box></box>
<textElement textAlignment="Right">
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{_THIS}.printMultiply()]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="0" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="37" isSplitAllowed="true" >
</band>
</pageFooter>
<summary>
<band height="0" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
</source>
 
==== Rendu monnaie en pop-up ====
Ligne 77 ⟶ 665 :
}
</source>
 
=== Windows ===