我有一个关于在xml中分组的问题。
分组必须在BodyCustQuotationTrans -detaillines上,第一级是UnitID,第二级是objectgroupID。
非常感谢有人可以提供帮助!
输入xml:
<?xml version="1.0" encoding="UTF-8"?>
<Report Name="SalesQuotation" Caption="Offerte" Language="EN">
<Quotation>
<CustQuotationJour_DeliveryName>Testcustomer</CustQuotationJour_DeliveryName>
<CustQuotationJour_DeliveryAddress>101 street 3293 CITY</CustQuotationJour_DeliveryAddress>
<QuotationTxt>Quotation</QuotationTxt>
</Quotation>
<Lines>
<BodyCustQuotationTrans>
<ItemId>1006055</ItemId>
<CustQuotationTrans_Name>Laufen Pro kunststof bad 180x80cm WIT ZO</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>511,00</CustQuotationTrans_SalesPrice>
<UnitID>Bathroom</UnitID>
<UnitNumber>1,00</UnitNumber>
<ObjectgroupID>Bath</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1036625</ItemId>
<CustQuotationTrans_Name>Set Laufen badpoten (instelbaar) voor Pr</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>38,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1038952</ItemId>
<CustQuotationTrans_Name>Chroom badafvoer-overloopkomb.1 ½ met wa</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>56,90</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007857</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 badthermostaat 15cm chr z</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>353,65</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>2061780</ItemId>
<CustQuotationTrans_Name>Easy Drain COMPACT 50 1000mm met rooster</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>1,00</UnitNumber>
<ObjectgroupID>Shower</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>2062352</ItemId>
<CustQuotationTrans_Name>Easy 2 Seal afdichtingspasta voor o.a. E</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007831</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 douchethermostaat 15cm ch</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>4044377</ItemId>
<CustQuotationTrans_Name>Vasco Arabis Bathroomradiator typ HDRM33</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>1,00</UnitNumber>
<ObjectgroupID>Radiator</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>4044689</ItemId>
<CustQuotationTrans_Name>Vasco designventielset met thermost.knop</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1033033</ItemId>
<CustQuotationTrans_Name>GEBERIT DUOFIX, DE ECHTE!!!</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>Toiletruim</UnitID>
<UnitNumber>1,00</UnitNumber>
<ObjectgroupID>Closet</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1033358</ItemId>
<CustQuotationTrans_Name>Geberit bedieningsplaat Samba frontbed.</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1027975</ItemId>
<CustQuotationTrans_Name>Plaatstalen uitstortgootsteen 51x36 wit</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>Kitchen</UnitID>
<UnitNumber>1,00</UnitNumber>
<ObjectgroupID>Sinc</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1027988</ItemId>
<CustQuotationTrans_Name>Alape emmerrooster aluminium kleur voor</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1039264</ItemId>
<CustQuotationTrans_Name>Syfon universeel 1 1/2"x 40 mm. Mc.alpin</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>9,90</CustQuotationTrans_SalesPrice>
<UnitID_LABEL>Unit ID</UnitID_LABEL>
<UnitID>
</UnitID>
<UnitNumber>
</UnitNumber>
<ObjectgroupID>
</ObjectgroupID>
</BodyCustQuotationTrans>
</Lines>
<Totals>
<CustQuotationJour_SalesBalance>5.082,19</CustQuotationJour_SalesBalance>
<CustQuotationJour_EndDisc>0,00</CustQuotationJour_EndDisc>
<CustQuotationJour_SumMarkup>0,00</CustQuotationJour_SumMarkup>
<CustQuotationJour_SumTax>1.067,26</CustQuotationJour_SumTax>
<CustQuotationJour_RoundOff>0,00</CustQuotationJour_RoundOff>
<CustQuotationJour_QuotationAmount>6.149,45</CustQuotationJour_QuotationAmount>
<CustQuotationJour_CurrencyCode>EUR</CustQuotationJour_CurrencyCode>
</Totals>
</Report>
结果必须如下:
<?xml version="1.0" encoding="UTF-8"?>
<Report Name="SalesQuotation" Caption="Offerte" Language="NL">
<Quotation>
<CustQuotationJour_DeliveryName>Testcustomer</CustQuotationJour_DeliveryName>
<CustQuotationJour_DeliveryAddress>101 street 3293 CITY</CustQuotationJour_DeliveryAddress>
<QuotationTxt>Quotation</QuotationTxt>
</Quotation>
<Lines>
<Unit>
<UnitID>Bathroom</UnitID>
<UnitNumber>1,00</UnitNumber>
<Objectgroup>
<ObjectgroupID>Bath</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1006055</ItemId>
<CustQuotationTrans_Name>Laufen Pro kunststof bad 180x80cm WIT ZO</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>511,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1036625</ItemId>
<CustQuotationTrans_Name>Set Laufen badpoten (instelbaar) voor Pr</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>38,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1038952</ItemId>
<CustQuotationTrans_Name>Chroom badafvoer-overloopkomb.1 ½ met wa</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>56,90</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007857</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 badthermostaat 15cm chr z</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>353,65</CustQuotationTrans_SalesPrice>
<UnitID_LABEL>Unit ID</UnitID_LABEL>
</BodyCustQuotationTrans>
<Subtotalgroup>959,55</Subtotalgroup>
</Objectgroup>
<Objectgroup>
<ObjectgroupID>Shower</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>2061780</ItemId>
<CustQuotationTrans_Name>Easy Drain COMPACT 50 1000mm met rooster</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>2062352</ItemId>
<CustQuotationTrans_Name>Easy 2 Seal afdichtingspasta voor o.a. E</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007831</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 douchethermostaat 15cm ch</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<Subtotalgroup>60</Subtotalgroup>
</Objectgroup>
<Objectgroup>
<ObjectgroupID>Radiator</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>4044377</ItemId>
<CustQuotationTrans_Name>Vasco Arabis Bathroomradiator typ HDRM33</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>4044689</ItemId>
<CustQuotationTrans_Name>Vasco designventielset met thermost.knop</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<Subtotalgroup>40</Subtotalgroup>
</Objectgroup>
<Subtotalunit>1059,55</Subtotalunit>
</Unit>
<Unit>
<UnitID>Toilet</UnitID>
<UnitNumber>1,00</UnitNumber>
<objectgroup>
<ObjectgroupID>Closet</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1033033</ItemId>
<CustQuotationTrans_Name>GEBERIT DUOFIX, DE ECHTE!!!</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1033358</ItemId>
<CustQuotationTrans_Name>Geberit bedieningsplaat Samba frontbed.</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<Subtotalgroup>40</Subtotalgroup>
</objectgroup>
<Subtotalunit>40</Subtotalunit>
</Unit>
<Unit>
<UnitID>Kitchen</UnitID>
<UnitNumber>1,00</UnitNumber>
<objectgroup>
<ObjectgroupID>Sinc</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1027975</ItemId>
<CustQuotationTrans_Name>Plaatstalen uitstortgootsteen 51x36 wit</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1027988</ItemId>
<CustQuotationTrans_Name>Alape emmerrooster aluminium kleur voor</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1039264</ItemId>
<CustQuotationTrans_Name>Syfon universeel 1 1/2"x 40 mm. Mc.alpin</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>9,90</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<Subtotalgroup>49,90</Subtotalgroup>
</objectgroup>
<Subtotalunit>49,90</Subtotalunit>
</Unit>
</Lines>
<Totals>
<CustQuotationJour_SalesBalance>5.082,19</CustQuotationJour_SalesBalance>
<CustQuotationJour_EndDisc>0,00</CustQuotationJour_EndDisc>
<CustQuotationJour_SumMarkup>0,00</CustQuotationJour_SumMarkup>
<CustQuotationJour_SumTax>1.067,26</CustQuotationJour_SumTax>
<CustQuotationJour_RoundOff>0,00</CustQuotationJour_RoundOff>
<CustQuotationJour_QuotationAmount>6.149,45</CustQuotationJour_QuotationAmount>
<CustQuotationJour_CurrencyCode>EUR</CustQuotationJour_CurrencyCode>
</Totals>
</Report>
答案 0 :(得分:0)
看起来您正在按“顺序”元素进行分组,因此组中的元素会紧跟其分组的元素。在您的情况下,您通过 UnitID 对元素进行分组,然后通过 ObjectgroupID 对元素进行分组。因此,您需要定义两个键
<xsl:key
name="Unit"
match="BodyCustQuotationTrans[UnitID = '']"
use="generate-id(preceding-sibling::BodyCustQuotationTrans[UnitID != ''][1])" />
<xsl:key
name="Objectgroup"
match="BodyCustQuotationTrans[ObjectgroupID = '']"
use="generate-id(preceding-sibling::BodyCustQuotationTrans[ObjectgroupID != ''][1])" />
第一个键元素由第一个最前面的元素组成,并设置了 UnitID 。第二个元素由第一个最前面的元素组成,对象组设置。
首先,您将获得具有 UnitID 设置的元素,如此(使用此处的模式,因为将有多个模板匹配 BodyCustQuotationTrans
<xsl:apply-templates select="BodyCustQuotationTrans[UnitID != '']" mode="Unit" />
在此模板中,您需要获取子组,在这种情况下,单元组中的元素将具有 ObjectgroupID 设置
<xsl:apply-templates select="self::*|key('Unit', generate-id())[ObjectgroupID != '']" mode="Objectgroup" />
最后,在与此匹配的模板中,您只需使用对象组键获取组内的元素
<xsl:apply-templates select="self::*|key('Objectgroup', generate-id())" />
这是完整的XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:key name="Unit" match="BodyCustQuotationTrans[UnitID = '']" use="generate-id(preceding-sibling::BodyCustQuotationTrans[UnitID != ''][1])" />
<xsl:key name="Objectgroup" match="BodyCustQuotationTrans[ObjectgroupID = '']" use="generate-id(preceding-sibling::BodyCustQuotationTrans[ObjectgroupID != ''][1])" />
<xsl:template match="Lines">
<Lines>
<xsl:apply-templates select="BodyCustQuotationTrans[UnitID != '']" mode="Unit" />
</Lines>
</xsl:template>
<xsl:template match="BodyCustQuotationTrans" mode="Unit">
<Unit>
<xsl:copy-of select="UnitID|UnitNumber" />
<xsl:apply-templates select="self::*|key('Unit', generate-id())[ObjectgroupID != '']" mode="Objectgroup" />
<subtotalunit><xsl:value-of select="sum(CustQuotationTrans_SalesPrice|key('Unit', generate-id())/CustQuotationTrans_SalesPrice)" /></subtotalunit>
</Unit>
</xsl:template>
<xsl:template match="BodyCustQuotationTrans" mode="Objectgroup">
<Objectgroup>
<xsl:copy-of select="ObjectgroupID" />
<xsl:apply-templates select="self::*|key('Objectgroup', generate-id())" />
<subtotalgroup><xsl:value-of select="sum(CustQuotationTrans_SalesPrice|key('Objectgroup', generate-id())/CustQuotationTrans_SalesPrice)" /></subtotalgroup>
</Objectgroup>
</xsl:template>
<xsl:template match="BodyCustQuotationTrans/UnitID|BodyCustQuotationTrans/UnitNumber|BodyCustQuotationTrans/ObjectgroupID" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
应用于XML时,输出以下内容
<Report Name="SalesQuotation" Caption="Offerte" Language="EN">
<Quotation>
<CustQuotationJour_DeliveryName>Testcustomer</CustQuotationJour_DeliveryName>
<CustQuotationJour_DeliveryAddress>101 street 3293 CITY</CustQuotationJour_DeliveryAddress>
<QuotationTxt>Quotation</QuotationTxt>
</Quotation>
<Lines>
<Unit>
<UnitID>Bathroom</UnitID>
<UnitNumber>1,00</UnitNumber>
<Objectgroup>
<ObjectgroupID>Bath</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1006055</ItemId>
<CustQuotationTrans_Name>Laufen Pro kunststof bad 180x80cm WIT ZO</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>511,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1036625</ItemId>
<CustQuotationTrans_Name>Set Laufen badpoten (instelbaar) voor Pr</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>38,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1038952</ItemId>
<CustQuotationTrans_Name>Chroom badafvoer-overloopkomb.1 ½ met wa</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>56,90</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007857</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 badthermostaat 15cm chr z</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>353,65</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<subtotalgroup>959,55</subtotalgroup>
</Objectgroup>
<Objectgroup>
<ObjectgroupID>Shower</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>2061780</ItemId>
<CustQuotationTrans_Name>Easy Drain COMPACT 50 1000mm met rooster</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>2062352</ItemId>
<CustQuotationTrans_Name>Easy 2 Seal afdichtingspasta voor o.a. E</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1007831</ItemId>
<CustQuotationTrans_Name>Grohtherm 2000 douchethermostaat 15cm ch</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<subtotalgroup>60</subtotalgroup>
</Objectgroup>
<Objectgroup>
<ObjectgroupID>Radiator</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>4044377</ItemId>
<CustQuotationTrans_Name>Vasco Arabis Bathroomradiator typ HDRM33</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>4044689</ItemId>
<CustQuotationTrans_Name>Vasco designventielset met thermost.knop</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<subtotalgroup>40</subtotalgroup>
</Objectgroup>
<subtotalunit>1059,55</subtotalunit>
</Unit>
<Unit>
<UnitID>Toiletruim</UnitID>
<UnitNumber>1,00</UnitNumber>
<Objectgroup>
<ObjectgroupID>Closet</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1033033</ItemId>
<CustQuotationTrans_Name>GEBERIT DUOFIX, DE ECHTE!!!</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1033358</ItemId>
<CustQuotationTrans_Name>Geberit bedieningsplaat Samba frontbed.</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<subtotalgroup>40</subtotalgroup>
</Objectgroup>
<subtotalunit>40</subtotalunit>
</Unit>
<Unit>
<UnitID>Kitchen</UnitID>
<UnitNumber>1,00</UnitNumber>
<Objectgroup>
<ObjectgroupID>Sinc</ObjectgroupID>
<BodyCustQuotationTrans>
<ItemId>1027975</ItemId>
<CustQuotationTrans_Name>Plaatstalen uitstortgootsteen 51x36 wit</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1027988</ItemId>
<CustQuotationTrans_Name>Alape emmerrooster aluminium kleur voor</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>20,00</CustQuotationTrans_SalesPrice>
</BodyCustQuotationTrans>
<BodyCustQuotationTrans>
<ItemId>1039264</ItemId>
<CustQuotationTrans_Name>Syfon universeel 1 1/2"x 40 mm. Mc.alpin</CustQuotationTrans_Name>
<CustQuotationTrans_Qty>1,00</CustQuotationTrans_Qty>
<salesUnitTxt>ST</salesUnitTxt>
<CustQuotationTrans_SalesPrice>9,90</CustQuotationTrans_SalesPrice>
<UnitID_LABEL>Unit ID</UnitID_LABEL>
</BodyCustQuotationTrans>
<subtotalgroup>49,9</subtotalgroup>
</Objectgroup>
<subtotalunit>49,9</subtotalunit>
</Unit>
</Lines>
<Totals>
<CustQuotationJour_SalesBalance>5.082,19</CustQuotationJour_SalesBalance>
<CustQuotationJour_EndDisc>0,00</CustQuotationJour_EndDisc>
<CustQuotationJour_SumMarkup>0,00</CustQuotationJour_SumMarkup>
<CustQuotationJour_SumTax>1.067,26</CustQuotationJour_SumTax>
<CustQuotationJour_RoundOff>0,00</CustQuotationJour_RoundOff>
<CustQuotationJour_QuotationAmount>6.149,45</CustQuotationJour_QuotationAmount>
<CustQuotationJour_CurrencyCode>EUR</CustQuotationJour_CurrencyCode>
</Totals>
</Report>