Thread View: pl.comp.xml
8 messages
8 total messages
Started by ChrisB
Thu, 27 Dec 2007 14:20
Problem z obliczeniami
Author: ChrisB
Date: Thu, 27 Dec 2007 14:20
Date: Thu, 27 Dec 2007 14:20
69 lines
2857 bytes
2857 bytes
Witam!
Na zaliczenie mam projekt z XML i XSL, temat: "Faktura".
Fragment XML opisujacy pozycje na fakturze:
<Pozycja>
<LP>1</LP>
<Indeks>Indeks 1</Indeks>
<Opis>Opis 1</Opis>
<Ilosc>3</Ilosc>
<Jednostka>m2</Jednostka>
<CenaPLN>25</CenaPLN>
<StawkaVAT>
<Procent>22</Procent>
</StawkaVAT>
</Pozycja>
<Pozycja>
<LP>2</LP>
<Indeks>Indeks 2</Indeks>
<Opis>Opis 2</Opis>
<Ilosc>2</Ilosc>
<Jednostka>m2</Jednostka>
<CenaPLN>2</CenaPLN>
<StawkaVAT>
<Procent>22</Procent>
</StawkaVAT>
</Pozycja>
<Pozycja>
<LP>3</LP>
<Indeks>Indeks 3</Indeks>
<Opis>Opis 3</Opis>
<Ilosc>5</Ilosc>
<Jednostka>m2</Jednostka>
<CenaPLN>5</CenaPLN>
<StawkaVAT>
<Procent>22</Procent>
</StawkaVAT>
</Pozycja>
W XSL obliczam cene brutto dla kazdej pozycji w ten oto sposob (w skrocie):
<xsl:template match="Pozycja">
<xsl:variable name="ilosc_sztuk" select="Ilosc" />
<xsl:variable name="cena" select="CenaPLN" />
<xsl:variable name="wart_netto" select="$ilosc_sztuk * $cena" />
<xsl:variable name="vat" select="StawkaVAT/Procent" />
<xsl:variable name="cena_vat" select="$wart_netto * $vat div 100" />
<xsl:variable name="cena_z_vat" select="$cena_vat + $wart_netto" />
<xsl:value-of select="$cena_z_vat"/>
</xsl:template>
I teraz musze zrobic podsumowanie faktury czyli obliczyc kwote do
zaplaty czyli dla kazdego z towarow wykonac to co jest powyzej i
zsumowac to wszystko... ale jak?
Uzycie:
sum((/Faktura/Pozycja/Ilosc * /Faktura/Pozycja/CenaPLN) *
/Faktura/Pozycja/StawkaVAT/Procent))
powoduje blad: Wyrażenie nie zwraca węzła DOM.
Sumwowanie w stylu Suma = Suma + Pozycja rowniez odpada bo zmienna w XSL
nie moga zmieniac swoich wartosci.
Macie jakies pomysly jak to zrobic?
--
Chrisb
Re: Problem z obliczeniami
Author: szomiz
Date: Thu, 27 Dec 2007 14:52
Date: Thu, 27 Dec 2007 14:52
31 lines
2118 bytes
2118 bytes
Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości news:fl0ce1$c7m$1@atlantis.news.tpi.pl... > Witam! > Macie jakies pomysly jak to zrobic? Nie ma prostego sposobu, nie posuujesz wynikow operacji na wartosciach wezlow. Teraz OT: Zanim zaczniesz bawic sie fakturami: 1. Zapoznaj sie z przepisami obowiazujacymi przy ich wystawianiu. 2. Wez pod uwage, ze wskazane jest by XML reprezentujacy fakture byl z tymi przepisami zgodny. Ja wiem, ze wsystko mozna policzyc, ale co z tego, skoro rozporzadzenie wymaga podsumowan (nie wymaga natomiast wyliczania VAT'u i brutt'a dla kazdej pozycji!). Optymalne - moim zdaniem - jest zaszycie w aplikacji wyliczania, podczas generowania faktury, (ZTCP wymaganej) wartosci netto kazdej pozycji. A pozniej proste sumowania po warunkach. Nawiasen mowiac (patrz pkt 2.) wskazane jest by to podsumowanie bylo zawarte w pliku faktury. Wiem, ze wiecej roboty, ale bardzo wygodne jest generowanie WZ'tki (albo pseudo-WZ'tki przy uslugach) i dopiero na jej podstawie faktury VAT. Przy okazji opanujesz magazyny. sz.
Re: Problem z obliczeniami
Author: ChrisB
Date: Thu, 27 Dec 2007 18:06
Date: Thu, 27 Dec 2007 18:06
20 lines
1467 bytes
1467 bytes
szomiz pisze: > Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości > news:fl0ce1$c7m$1@atlantis.news.tpi.pl... > > > Nie ma prostego sposobu, nie posuujesz wynikow operacji na wartosciach > wezlow. > > Teraz OT: > > Zanim zaczniesz bawic sie fakturami: > 1. Zapoznaj sie z przepisami obowiazujacymi przy ich wystawianiu. > 2. Wez pod uwage, ze wskazane jest by XML reprezentujacy fakture byl z tymi > przepisami zgodny. Przepisy raczej nie maja tu nic do rzeczy - tak jak napisalem: to jest projekt na zaliczenie :) -- ChrisB
Re: Problem z obliczeniami
Author: szomiz
Date: Thu, 27 Dec 2007 18:12
Date: Thu, 27 Dec 2007 18:12
12 lines
1448 bytes
1448 bytes
Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości news:fl0ptq$f9t$1@nemesis.news.tpi.pl... > Przepisy raczej nie maja tu nic do rzeczy - tak jak napisalem: to jest > projekt na zaliczenie :) No to masz szczescie, ze tego nie zauwazylem... Wiec albo skorzystaj z rad praktyka i wysil szare komorki, albo wystaw zlecenie na jakims serwisie dla freelancerow. sz.
Re: Problem z obliczeniami
Author: szomiz
Date: Thu, 27 Dec 2007 18:13
Date: Thu, 27 Dec 2007 18:13
14 lines
1466 bytes
1466 bytes
Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości news:fl0ptq$f9t$1@nemesis.news.tpi.pl... > Przepisy raczej nie maja tu nic do rzeczy - tak jak napisalem: to jest > projekt na zaliczenie :) No to masz szczescie, ze tego nie zauwazylem... Wiec albo skorzystaj z rad i wysil szare komorki, albo wystaw zlecenie na jakims serwisie dla freelancerow. EOT sz.
Re: Problem z obliczeniami
Author: ChrisB
Date: Thu, 27 Dec 2007 19:40
Date: Thu, 27 Dec 2007 19:40
11 lines
1288 bytes
1288 bytes
szomiz pisze: > Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości > news:fl0ptq$f9t$1@nemesis.news.tpi.pl... > > > No to masz szczescie, ze tego nie zauwazylem... A to jakas zbrodnia pytac o cos na usenecie w celach edukacyjnych? -- ChrisB
Re: Problem z obliczeniami
Author: szomiz
Date: Thu, 27 Dec 2007 20:27
Date: Thu, 27 Dec 2007 20:27
21 lines
1818 bytes
1818 bytes
Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości news:fl0vf9$rf2$1@nemesis.news.tpi.pl... > szomiz pisze: >> Użytkownik "ChrisB" <abuse@tpi.pl> napisał w wiadomości >> news:fl0ptq$f9t$1@nemesis.news.tpi.pl... >> >> No to masz szczescie, ze tego nie zauwazylem... > > A to jakas zbrodnia pytac o cos na usenecie w celach edukacyjnych? Nie jest. Ale jezeli potrzebne ci to na zaliczenie, to mozna w sieci znalezc rozwiazania problemu. Tyle, ze jezeli pojedziesz po bandzie, to jak juz zdobedziesz kwit o ukonczeniu studiow bedziesz ial zal do calego swiata, ze beda cie chcieli wylacznie w programistycznych Biedronkach. EOT (po raz drugi) sz.
Re: Problem z obliczeniami
Author: moozzyk
Date: Fri, 28 Dec 2007 07:52
Date: Fri, 28 Dec 2007 07:52
81 lines
4020 bytes
4020 bytes
"ChrisB" <abuse@tpi.pl> wrote in message news:fl0ce1$c7m$1@atlantis.news.tpi.pl... > Witam! > > Na zaliczenie mam projekt z XML i XSL, temat: "Faktura". > Fragment XML opisujacy pozycje na fakturze: > > <Pozycja> > <LP>1</LP> > <Indeks>Indeks 1</Indeks> > <Opis>Opis 1</Opis> > <Ilosc>3</Ilosc> > <Jednostka>m2</Jednostka> > <CenaPLN>25</CenaPLN> > <StawkaVAT> > <Procent>22</Procent> > </StawkaVAT> > </Pozycja> > > <Pozycja> > <LP>2</LP> > <Indeks>Indeks 2</Indeks> > <Opis>Opis 2</Opis> > <Ilosc>2</Ilosc> > <Jednostka>m2</Jednostka> > <CenaPLN>2</CenaPLN> > <StawkaVAT> > <Procent>22</Procent> > </StawkaVAT> > </Pozycja> > > <Pozycja> > <LP>3</LP> > <Indeks>Indeks 3</Indeks> > <Opis>Opis 3</Opis> > <Ilosc>5</Ilosc> > <Jednostka>m2</Jednostka> > <CenaPLN>5</CenaPLN> > <StawkaVAT> > <Procent>22</Procent> > </StawkaVAT> > </Pozycja> > > W XSL obliczam cene brutto dla kazdej pozycji w ten oto sposob (w > skrocie): > <xsl:template match="Pozycja"> > <xsl:variable name="ilosc_sztuk" select="Ilosc" /> > <xsl:variable name="cena" select="CenaPLN" /> > <xsl:variable name="wart_netto" select="$ilosc_sztuk * $cena" /> > <xsl:variable name="vat" select="StawkaVAT/Procent" /> > <xsl:variable name="cena_vat" select="$wart_netto * $vat div 100" /> > <xsl:variable name="cena_z_vat" select="$cena_vat + $wart_netto" /> > <xsl:value-of select="$cena_z_vat"/> > </xsl:template> > > I teraz musze zrobic podsumowanie faktury czyli obliczyc kwote do zaplaty > czyli dla kazdego z towarow wykonac to co jest powyzej i zsumowac to > wszystko... ale jak? > > Uzycie: > > sum((/Faktura/Pozycja/Ilosc * /Faktura/Pozycja/CenaPLN) * > /Faktura/Pozycja/StawkaVAT/Procent)) > > powoduje blad: Wyrażenie nie zwraca węzła DOM. > Sumwowanie w stylu Suma = Suma + Pozycja rowniez odpada bo zmienna w XSL > nie moga zmieniac swoich wartosci. > > Macie jakies pomysly jak to zrobic? > > -- > Chrisb Hint: Uzyj zmiennej bedacej RTF (result tree fragment) i zawierajacej iloczyny czastkowe a potem to zsumuj. moozzyk --------------------------------- http://xml.com.pl http://xml.com.pl/XmlFellow.aspx
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads