Mode:

Compact lists

Showing:

Documentation
Used by
References
Included from
Source
Stylesheet ph_invoice.xsl
Included from
Stylesheet version 1.0
Template ce:InvoiceDetailRequestHeader
Documentation

Description

 info see parent 'ph_main.xsl' 
 #H2# preinclude see 'ph_main.xsl'/'# common inclusion' 
 #H2# TEMPLATE 
Namespace No namespace
Match ce:InvoiceDetailRequestHeader
Mode #default
References
Import precedence 0
Source
<xsl:template match="ce:InvoiceDetailRequestHeader">
  <div class="shadow container p-3 mb-3 rounded bg-light">
    <div id="docAtt" class="row border">
      <div class="col-12">
        <xsl:apply-templates mode="mdAttOpt" select="@invoiceId | @invoiceDate | @isInformationOnly | @purpose | @operation | @dueDate"/>
      </div>
    </div>
    <xsl:call-template name="buyerBillTo_mdRow"/>
    <xsl:call-template name="SupplierShipTo_mdRow"/>
  </div>
  <!--Cmt: [//] Contact Liste par catagories :   -->
  <div id="contactList" class="shadow container p-3 mb-3 rounded bg-light">
    <xsl:call-template name="tplContactList_multiCol"/>
  </div>
  <!--Cmt:   -->
  <div class="shadow container p-3 mb-3 rounded bg-light">
    <div class="row border">
      <div class="col-12">
        <xsl:call-template name="nLoopExceptBr">
          <xsl:with-param name="aExcept">!Buyer!BillTo!Contact!Supplier!CarrierDetails!ShipTo!Comment!Penalties!IdReference!Extrinsic!</xsl:with-param>
        </xsl:call-template>
      </div>
    </div>
    <xsl:apply-templates mode="mdRow" select="ce:Penalties"/>
    <xsl:apply-templates mode="mdRow" select="ce:Comment"/>
    <xsl:call-template name="refIntExt_mdRow"/>
  </div>
</xsl:template>
Template ce:InvoiceDetailOrder | ce:QuotationDetailOrder
Documentation

Description

 Cmt_Block 'InvoiceDetailOrder_type' 
Namespace No namespace
Match ce:InvoiceDetailOrder | ce:QuotationDetailOrder
Mode #default
References
Import precedence 0
Source
<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>
Template ce:InvoiceDetailSummary
Documentation

Description

 Cmt_Block 'InvoiceDetailSummary_type' : TotalAmount, Tax, GrossAmount 
Namespace No namespace
Match ce:InvoiceDetailSummary
Mode #default
References
Import precedence 0
Source
<xsl:template match="ce:InvoiceDetailSummary">
  <div id="aSummary" class="shadow p-3 mb-3 container rounded bg-light">
    <div class="row border bg-secondary text-white">
      <div class="col-12 text-start">
        <xsl:call-template name="labelByTagName"/>
      </div>
    </div>
    <xsl:for-each select="*">
      <div class="row border-bottom">
        <xsl:choose>
          <xsl:when test="'Tax' = local-name()">
            <div class="col-4 text-end"/>
            <div class="col-8 text-end">
              <xsl:call-template name="TaxTemplate"/>
            </div>
          </xsl:when>
          <xsl:when test="'AdditionalMeasureDetail' = local-name()">
            <xsl:if test="0 = count(preceding-sibling::ce:AdditionalMeasureDetail)">
              <div class="col-8 text-end">
                <xsl:call-template name="labelByTagName"/>
              </div>
              <div class="col-4 text-end">
                <xsl:for-each select="../ce:AdditionalMeasureDetail">
                  <div class="br">
                    <xsl:call-template name="getLabel">
                      <xsl:with-param name="aVal" select="@type"/>
                    </xsl:call-template>
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="."/>
                  </div>
                </xsl:for-each>
              </div>
            </xsl:if>
          </xsl:when>
          <xsl:otherwise>
            <div class="col-8 text-end">
              <xsl:call-template name="labelByTagName"/>
            </div>
            <div class="col-8 text-end">
              <xsl:choose>
                <xsl:when test="normalize-space(.)">
                  <xsl:apply-templates select="."/>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:call-template name="tplEmptyCell"/>
                </xsl:otherwise>
              </xsl:choose>
            </div>
          </xsl:otherwise>
        </xsl:choose>
      </div>
    </xsl:for-each>
  </div>
  <br/>
</xsl:template>
Template ce:TaxTaxTemplate
Namespace No namespace
Match ce:Tax
Mode #default
Used by
References
Templates
Import precedence 0
Source
<xsl:template match="ce:Tax" name="TaxTemplate">
  <xsl:choose>
    <xsl:when test="not(parent::ce:InvoiceDetailSummary)">
      <xsl:choose>
        <xsl:when test="ce:TaxPercentageRate">
          <xsl:value-of select="ce:TaxPercentageRate"/>
          <xsl:text>%</xsl:text>
        </xsl:when>
        <xsl:when test="ce:Tax/ce:TaxDetail/@percentageRate">
          <xsl:value-of select="ce:Tax/ce:TaxDetail/@percentageRate"/>
          <xsl:text>%</xsl:text>
        </xsl:when>
        <xsl:otherwise>
          <xsl:call-template name="tplEmptyCell"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:when>
    <xsl:when test="parent::ce:InvoiceDetailSummary">
      <xsl:for-each select="ce:TaxDetail">
        <!-- header -->
        <xsl:if test="position() = 1">
          <div class="row fw-bold border">
            <div class="col-11 text-center">
              <xsl:call-template name="getLabel">
                <xsl:with-param name="aVal" select="'TaxDetail'"/>
              </xsl:call-template>
            </div>
          </div>
          <div class="row fw-bold border">
            <div class="col-5 text-start">
              <xsl:call-template name="getLabel">
                <xsl:with-param name="aVal" select="'Description'"/>
              </xsl:call-template>
            </div>
            <div class="col-2 text-center">
              <xsl:call-template name="getLabel">
                <xsl:with-param name="aVal" select="'TaxableAmount'"/>
              </xsl:call-template>
            </div>
            <div class="col-2 text-center">
              <xsl:call-template name="getLabel">
                <xsl:with-param name="aVal" select="'PercentageRate'"/>
              </xsl:call-template>
            </div>
            <div class="col-2 text-center">
              <xsl:call-template name="getLabel">
                <xsl:with-param name="aVal" select="'TaxAmount'"/>
              </xsl:call-template>
            </div>
          </div>
        </xsl:if>
        <div class="row border">
          <div class="col-5 text-start">
            <xsl:value-of select="ce:Description"/>
          </div>
          <div class="col-1 text-end">
            <xsl:value-of select="ce:TaxableAmount"/>
          </div>
          <div class="col-1 text-start">
            <xsl:choose>
              <xsl:when test="ce:TaxableAmount/ce:Money/@currency">
                <xsl:value-of select="ce:TaxableAmount/ce:Money/@currency"/>
              </xsl:when>
              <xsl:when test="//ce:InvoiceDetailRequestHeader/@currency">
                <xsl:value-of select="//ce:InvoiceDetailRequestHeader/@currency"/>
              </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="@percentageRate">
                <xsl:value-of select="@percentageRate"/>
              </xsl:when>
              <xsl:otherwise>
                <xsl:call-template name="tplEmptyCell"/>
              </xsl:otherwise>
            </xsl:choose>
          </div>
          <div class="col-1 text-start">
            <xsl:text>%</xsl:text>
          </div>
          <div class="col-1 text-end">
            <xsl:value-of select="ce:TaxAmount"/>
          </div>
          <div class="col-1 text-start">
            <xsl:choose>
              <xsl:when test="ce:TaxAmount/ce:Money/@currency">
                <xsl:value-of select="ce:TaxAmount/ce:Money/@currency"/>
              </xsl:when>
              <xsl:when test="//ce:InvoiceDetailRequestHeader/@currency">
                <xsl:value-of select="//ce:InvoiceDetailRequestHeader/@currency"/>
              </xsl:when>
              <xsl:otherwise>
                <xsl:call-template name="tplEmptyCell"/>
              </xsl:otherwise>
            </xsl:choose>
          </div>
        </div>
      </xsl:for-each>
      <xsl:if test="ce:Description">
        <div class="row">
          <div class="col-4 text-start fw-bold">
            <xsl:call-template name="getLabel">
              <xsl:with-param name="aVal" select="'Description'"/>
            </xsl:call-template>
          </div>
          <div class="col-8 text-start">
            <xsl:value-of select="ce:Description"/>
          </div>
        </div>
      </xsl:if>
      <xsl:if test="ce:Money">
        <div class="row">
          <div class="col-4 text-start fw-bold">
            <xsl:call-template name="getLabel">
              <xsl:with-param name="aVal" select="'Money'"/>
            </xsl:call-template>
          </div>
          <div class="col-1 text-end">
            <xsl:value-of select="ce:Money"/>
          </div>
          <xsl:choose>
            <xsl:when test="ce:Money/@currency">
              <div class="col-1 text-start">
                <xsl:value-of select="ce:Money/@currency"/>
              </div>
            </xsl:when>
            <xsl:when test="//ce:InvoiceDetailRequestHeader/@currency">
              <div class="col-1 text-start">
                <xsl:value-of select="//ce:InvoiceDetailRequestHeader/@currency"/>
              </div>
            </xsl:when>
          </xsl:choose>
        </div>
      </xsl:if>
    </xsl:when>
  </xsl:choose>
  <!-- Tax : Money, Decription?, TaxDatail*, Extrinsic*  
        <div class="br">
            <xsl:if test="not(parent::ce:InvoiceDetailSummary)">
                <xsl:call-template name="labelByTagName"/>
            </xsl:if>
            <xsl:apply-templates select="ce:Description"/>
            <xsl:text> </xsl:text>
            <xsl:apply-templates select="ce:Money"/>
        </div>
        <div class="ce_stDetail text-end">
            <xsl:for-each select="ce:TaxDetail">
                <div class="br">
                    <xsl:apply-templates select="ce:Description"/>
                </div>
                <div class="br">
                    <xsl:for-each select="ce:TaxableAmount">
                        <xsl:if test="position() = 1">
                            <xsl:call-template name="labelByTagName"/>
                        </xsl:if>
                        <xsl:apply-templates select="."/>
                        <xsl:if test="position() != last">
                            <xsl:text>, </xsl:text>
                        </xsl:if>
                    </xsl:for-each>
                </div>
            </xsl:for-each>
            <xsl:apply-templates select="ce:Extrinsic"/>
        </div>-->
</xsl:template>
Template tplInvoiceDetailRequest
Namespace No namespace
Used by
Template
References
Import precedence 0
Source
<xsl:template name="tplInvoiceDetailRequest">
  <xsl:if test="starts-with($i_doc_type, 'dt_InvoiceDetailRequest')">
    <xsl:for-each select="./ce:Request/ce:InvoiceDetailRequest">
      <!-- Cmt_Push: body  -->
      <xsl:call-template name="nLoopExceptBr">
        <!-- call : *Header + InvoiceDetailOrder + InvoiceDetailSummary -->
        <xsl:with-param name="aExcept">!Comment!Extrinsic!</xsl:with-param>
      </xsl:call-template>
      <!--Cmt row ce:Extrinsic + ce:Comment -->
      <div class="shadow p-3 mb-3 container rounded bg-light">
        <xsl:call-template name="refIntExt_mdRow"/>
        <xsl:apply-templates mode="mdRow" select="ce:Comment"/>
      </div>
    </xsl:for-each>
  </xsl:if>
</xsl:template>