Autor Wątek: zestawienie XML  (Przeczytany 2332 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Fazi_gdansk

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: .,37
zestawienie XML
« dnia: Maj 25, 2017, 13:41:52 »
Witam
Czy można prosić o pomoc w jaki sposób konstruować zestawienia xml w Subiekcie
Otóż napisałem sobie w sql-u proste  zestawienie które prezentuje przeterminowane dokumenty - należności
Chciałbym aby na raporcie xml pogrupować sobie dane wg kontrahenta , tak aby po kolei na wydruku pojawiał się np symbol a pod nim tabelka z informacjami o dokumencie lub dokumentach przetrminowanych


Offline candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4871
  • Reputacja +172/-11
Odp: zestawienie XML
« Odpowiedź #1 dnia: Maj 25, 2017, 13:58:34 »
Masz w helpie Subiekta (F1) temat "zestawienia xml", który to dość dokładnie opisuje.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Aldo

  • Ekspert
  • *****
  • Wiadomości: 10695
  • Reputacja +433/-13
  • Wersja programu: najnowsza
Odp: zestawienie XML
« Odpowiedź #2 dnia: Maj 25, 2017, 18:40:14 »
A to co jest w Rozrachunkach nie wystarcza?

Offline Fazi_gdansk

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: .,37
Odp: zestawienie XML
« Odpowiedź #3 dnia: Maj 26, 2017, 08:20:26 »
A to co jest w Rozrachunkach nie wystarcza?

No włąsnie nie dlatego że potrzebuję zestawienie nizapłaconych dokumentów w podziale na trasy do jaich przypisani są klienci
A żeby to było bardziej czytelne to chcę dokumenty pogrupować wg kontrahentów z wyszczególnieniem każdego dokumentu

Offline Fazi_gdansk

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: .,37
Odp: zestawienie XML
« Odpowiedź #4 dnia: Maj 26, 2017, 12:55:37 »
Witam
Oto mój kod XML-a
<?xml version="1.0" encoding="windows-1250" ?>
<schema xmlns="http://www.insert.com.pl/GTSchemas/xml-def.xsd">
<version>1.00</version>
<filename>platnosci_trasy.xml</filename>
<description>Platnosci na trasie</description>
<element name="Zaleglosci">
<data>
<sql><![CDATA[
select
kh_symbol AS Symbol,
nzf_numerpelny AS Dokument,
nzf_data AS Data,
nzf_wartoscpierwotna AS Wartosc,
spoznienie AS Spoznienie,
naleznosc AS Do_splaty,
kh_pole4 from
vwFinanseRozKontrahenciDok
left join kh__Kontrahent on nzf_idobiektu=kh_id
where spoznienie > 0
and nzf_typ=39
and kh_zablokowany='false'
and kh_pole4 like '01 GD'
]]></sql>
<element name="Zaleglosc">
<element name="Symbol" src="Symbol" />
<element name="Dokument" src="Dokument" />
<element name="Data" src="Data" />
<element name="Wartosc_Pierwotna" src="Wartosc" />
<element name="Spoznienie" src="spoznienie" />
<element name="Do_splaty" src="Do_splaty" />
</element>
</data>
</element>
</schema>
A tutaj kod XSL
<?xml version="1.0" encoding="windows-1250" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<!--body of HTML-->
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<meta http-equiv="Content-Language" content="pl" />
<title>Lista</title>
<STYLE TYPE="text/css">
*
                        {
border-collapse:collapse;
margin-left:18px;
}
</STYLE>
</head>

<body>
  <xsl:apply-templates select="Zaleglosci"/>
  <STYLE TYPE="text/css">
  *
{font-size:x-small;
margin-left:18px;
                        }
</STYLE>
  <TR >
                          <TH> <br/> </TH>
                          <xsl:text>   Gratyfikant GT, Insert sp. z o.o. Wrocław </xsl:text>
                        </TR>
</body>

</html>
<!--/body of HTML-->
</xsl:template>

<xsl:template match="Zaleglosci">
                <xsl:variable name="spacje" select="'wwww'"/>
<TABLE BORDER= '1' CELLSPACING="0"  style="font-size:x-small" >
       
<TR BGCOLOR='#c0c0c0'>
<TH colspan="4" >Symbol</TH>
<TH colspan="6" >Dokument</TH>
<TH colspan="4" >Data</TH>
<TH colspan="4" >Wartosc Pierwotna</TH>
<TH colspan="4" >Spoznienie</TH>
<TH colspan="4" >Do_splaty</TH>

</TR>
<TR BGCOLOR='#c0c0c0'>
</TR>
<xsl:apply-templates select="Zaleglosc" />
</TABLE>
</xsl:template>

<xsl:template match="Zaleglosc">
    <xsl:variable name="spacje" select="'  '" />
<TR>
                 
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
  <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Symbol"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Dokument"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
  <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Data"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
  <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Wartosc_Pierwotna"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
  <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Spoznienie"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
  <TD style="border-right-style:none;border-left-style:none"><xsl:value-of select="Do_splaty"/></TD>
                      <TD style="border-left-style:none;border-right-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-left-style:none"><xsl:value-of select="$spacje"/></TD>
                      <TD style="border-right-style:none"><xsl:value-of select="$spacje"/></TD>
              </TR>
</xsl:template>

</xsl:stylesheet>
Czy ktos może podpowiedziec jak uzyć funkcji "for-each-group"  aby pogrupowac wyniki po symbolu kontrahenta ?

Forum Użytkownikow Subiekt GT

Odp: zestawienie XML
« Odpowiedź #4 dnia: Maj 26, 2017, 12:55:37 »