<xsl:template match="ce:InvoiceDetailOrder | ce:QuotationDetailOrder">
<div id="aItems" class="shadow p-3 mb-3 container rounded bg-light">
<div class="row border bg-secondary text-white">
<div class="col-12">
<xsl:call-template name="labelByTagName"/>
</div>
</div>
<xsl:for-each select="ce:InvoiceDetailOrderInfo">
<div class="row border">
<table>
<!-- ................. DEB ajout JPM 29/03/21 ............. -->
<xsl:for-each select="ce:OrderReference">
<tr>
<td>Commande <xsl:value-of select="@documentId"/></td>
<td>
<xsl:value-of select="./ce:Description"/>
</td>
<td>
<xsl:value-of select="@invoicedQuantity"/>
<xsl:choose>
<xsl:when test="@unit='EA'">
<xsl:text> exemplaires</xsl:text>
</xsl:when>
<xsl:when test="@unit='BK'">
<xsl:text> exemplaires</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text> </xsl:text>
<xsl:value-of select="@unit"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
</div>
<!-- ................. FIN ajout JPM 29/03/21 ............. -->
<xsl:apply-templates mode="mdRow" select="ce:DocumentReference | ce:InvoiceReference | ce:MasterAgreementReference | ce:QuotationReference"/>
<xsl:apply-templates mode="mdRow" select="ce:OrderDesc"/>
<xsl:call-template name="refIntExt_mdRow"/>
<!-- N/A allExcep -->
</xsl:for-each>
<xsl:variable name="containsTVA" select="count(ce:InvoiceDetailItem/ce:TaxPercentageRate) > 0 or count(ce:InvoiceDetailItem/ce:Tax/ce:TaxDetail/@percentageRate) > 0"/>
<xsl:for-each select="ce:InvoiceDetailItem">
<xsl:variable name="contentDescription">
<xsl:apply-templates select="ce:InvoiceDetailItemReference"/>
<div class="ce_stDetail">
<xsl:call-template name="nLoopExceptBr">
<xsl:with-param name="aExcept">!Tax!InvoiceDetailItemReference!Quantity!UnitPrice!SubtotalAmount!TaxCategory!TaxAmount!TaxPercentageRate!</xsl:with-param>
</xsl:call-template>
</div>
</xsl:variable>
<!-- header -->
<xsl:if test="position() = 1">
<div class="row fw-bold">
<xsl:variable name="headerDescription">
<xsl:call-template name="getLabel">
<xsl:with-param name="aList" select="'InvoiceDetailItem'"/>
<xsl:with-param name="aVal" select="'Description'"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$containsTVA">
<div class="col-5">
<xsl:copy-of select="$headerDescription"/>
</div>
</xsl:when>
<xsl:otherwise>
<div class="col-6">
<xsl:copy-of select="$headerDescription"/>
</div>
</xsl:otherwise>
</xsl:choose>
<div class="col-2 text-center">
<xsl:call-template name="getLabel">
<xsl:with-param name="aVal" select="'Quantity'"/>
</xsl:call-template>
</div>
<div class="col-2 text-center">
<xsl:call-template name="getLabel">
<xsl:with-param name="aVal" select="'UnitPrice'"/>
</xsl:call-template>
</div>
<div class="col-2 text-center">
<xsl:call-template name="getLabel">
<xsl:with-param name="aList" select="'InvoiceDetailItem'"/>
<xsl:with-param name="aVal" select="'SubtotalAmount'"/>
</xsl:call-template>
</div>
<xsl:if test="$containsTVA">
<div class="col-1">
<xsl:call-template name="getLabel">
<xsl:with-param name="aVal" select="'TAX'"/>
</xsl:call-template>
</div>
</xsl:if>
</div>
</xsl:if>
<div class="row border">
<div class="col-1">
<xsl:choose>
<xsl:when test="'item' = @itemType">
<xsl:value-of select="concat('[', @parentInvoiceLineNumber, '.', @invoiceLineNumber, '] ')"/>
</xsl:when>
<xsl:when test="'composite' = @itemType">
<xsl:value-of select="concat('[', @invoiceLineNumber, '] ')"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<xsl:choose>
<xsl:when test="$containsTVA">
<div class="col-4">
<xsl:copy-of select="$contentDescription"/>
</div>
</xsl:when>
<xsl:otherwise>
<div class="col-5">
<xsl:copy-of select="$contentDescription"/>
</div>
</xsl:otherwise>
</xsl:choose>
<div class="col-1 text-end">
<xsl:choose>
<xsl:when test="ce:Quantity">
<xsl:value-of select="ce:Quantity"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-start">
<xsl:choose>
<xsl:when test="ce:Quantity/@unit">
<xsl:value-of select="ce:Quantity/@unit"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-end">
<xsl:choose>
<xsl:when test="ce:UnitPrice/ce:Money">
<xsl:value-of select="ce:UnitPrice/ce:Money"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-start">
<xsl:choose>
<xsl:when test="ce:UnitPrice/ce:Money/@currency">
<xsl:value-of select="ce:UnitPrice/ce:Money/@currency"/>
<xsl:if test="not(ce:UnitPrice/@unit = ce:Quantity/@unit) and ce:UnitPrice/@unit">
<xsl:text> / </xsl:text>
<xsl:value-of select="ce:UnitPrice/@unit"/>
</xsl:if>
</xsl:when>
<xsl:when test="//ce:InvoiceDetailRequestHeader/@currency">
<xsl:value-of select="//ce:InvoiceDetailRequestHeader/@currency"/>
<xsl:if test="not(ce:UnitPrice/@unit = ce:Quantity/@unit) and ce:UnitPrice/@unit">
<xsl:text> / </xsl:text>
<xsl:value-of select="ce:UnitPrice/@unit"/>
</xsl:if>
</xsl:when>
<xsl:when test="//ce:OrderRequestHeader/@currency">
<xsl:value-of select="//ce:OrderRequestHeader/@currency"/>
<xsl:if test="not(ce:UnitPrice/@unit = ce:Quantity/@unit)">
<xsl:text> / </xsl:text>
<xsl:value-of select="ce:UnitPrice/@unit"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-end">
<xsl:choose>
<xsl:when test="ce:SubtotalAmount/ce:Money">
<xsl:value-of select="ce:SubtotalAmount/ce:Money"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-start">
<xsl:choose>
<xsl:when test="ce:SubtotalAmount/ce:Money/@currency">
<xsl:value-of select="ce:SubtotalAmount/ce:Money/@currency"/>
</xsl:when>
<xsl:when test="//ce:InvoiceDetailRequestHeader/@currency">
<xsl:value-of select="//ce:InvoiceDetailRequestHeader/@currency"/>
</xsl:when>
<xsl:when test="//ce:OrderRequestHeader/@currency">
<xsl:value-of select="//ce:OrderRequestHeader/@currency"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
<div class="col-1 text-start">
<xsl:choose>
<xsl:when test="ce:Tax/ce:TaxDetail/@percentageRate">
<xsl:call-template name="TaxTemplate"/>
</xsl:when>
<xsl:when test="ce:TaxPercentageRate">
<xsl:call-template name="TaxTemplate"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="tplEmptyCell"/>
</xsl:otherwise>
</xsl:choose>
</div>
</div>
</xsl:for-each>
</div>
</xsl:template> |