Chiedo scusa per il titolo ambiguo ma non ho trovato di meglio.
Ho un programmino che crea dei report sulle vendite di articoli.
Avendo memorizzato le transazioni di vendita in un XML questo programma stampa la statistica seguendo le direttive di un XSL.
Nell'XSL si cicla sui gruppi di articoli (bevande, caffeteria, primi ecc...) e si stampa quantità, descrizione e totale soldi.
Il problema nasce sugli articoli che son stati pagati con dei buoni pasto, che nell'XML appartengono a gruppi differenti.
Un caffè venduto in contanti è diverso da un caffè venduto con buono pasto che è diverso da una ciambella venduta con buono pasto che è diversa dalla ciambella venduta in contanti.
Devo modificare l'XSL in modo che mi raggruppi tutti i caffè assieme.
Il codice non è mio ma ho identificato il ciclo interessato:
codice:<LTAB><xsl:value-of select="pos:translate('********* Articles and groups **********')"/></LTAB> <xsl:value-of select="pos:translate('Cod.')"/> <RTAB col="16"><xsl:value-of select="pos:translate('Description')"/></RTAB> <RTAB col="25"><xsl:value-of select="pos:translate('Weight')"/></RTAB> <RTAB col="30"><xsl:value-of select="pos:translate('Qty')"/></RTAB> <RTAB col="40"><xsl:value-of select="pos:translate('Amount')"/></RTAB> <xsl:for-each select="articles/group"> <xsl:for-each select="article"> <xsl:value-of select="substring(concat(code,' ',description),1,20)"/> <xsl:if test="measure_unit='weight'"> <RTAB col="25"><xsl:value-of select="pos:numFormat(qty_weight,'###,##0.000')"/></RTAB> </xsl:if> <RTAB col="30"><xsl:value-of select="pos:numFormat(qty,'###,##0.##')"/></RTAB> <RTAB col="40"><xsl:value-of select="pos:numFormat(amount)"/></RTAB> </xsl:for-each> <xsl:value-of select="substring(concat(code,' ',description),1,20)"/> <RTAB col="30"><xsl:value-of select="pos:numFormat(sum(.//qty),'###,##0.##')"/></RTAB> <RTAB col="40"><xsl:value-of select="pos:numFormat(sum(.//amount))"/></RTAB> </xsl:for-each>
L'unica cosa che mi aiuta è che il cod. dell'articolo rimane uguale, ma me li stampa uno sotto l'altro:
codice_caffè caffè 2 2,00
codice_caffè caffè 4 4,00.
Come gli dico di raggrupparli?
Grazie in anticipo per qualsiasi consiglio

Rispondi quotando