Index: trunk/BazaReklam/ZamowieniaForm.cs
===================================================================
--- trunk/BazaReklam/ZamowieniaForm.cs (revision 173)
+++ trunk/BazaReklam/ZamowieniaForm.cs (revision 175)
@@ -331,5 +331,5 @@
                 this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury);
                 pobierzOznaczEmisje(zamowienie, naglowekFaktury);
-                utworzPozycjeFaktury(naglowekFaktury);
+                utworzPozycjeFaktury(naglowekFaktury, klient);
                 dodajWplate(naglowekFaktury);
 
@@ -424,5 +424,5 @@
         }
 
-        private void utworzPozycjeFaktury(REKLAMADataSet.FAKTURYRow naglowekFaktury)
+        private void utworzPozycjeFaktury(REKLAMADataSet.FAKTURYRow naglowekFaktury, REKLAMADataSet.KLIENCIRow klient)
         {
             decimal brutto_waluta = 0;
@@ -449,20 +449,49 @@
                 fakturaDetailsRow.JM = "szt.";
 
-                if (naglowekFaktury.Iswaluta_mianoNull())
-                {
-                    fakturaDetailsRow.UPUST_NETTO = Math.Round(Convert.ToDecimal(reklama.RABAT) * fakturaDetailsRow.CENA_JEDN, 2);
+                if (naglowekFaktury.Iswaluta_mianoNull() && klient.Country.ToUpper() == "POLSKA")
+                {
+                    fakturaDetailsRow.UPUST_NETTO =
+                        Math.Round(Convert.ToDecimal(reklama.RABAT)*fakturaDetailsRow.CENA_JEDN, 2);
                     fakturaDetailsRow.UPUST_PR = reklama.RABAT;
-                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN;
+                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT))*fakturaDetailsRow.CENA_JEDN;
 
                     if (reklama.wyroznienie)
                     {
-                        netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent) * netto,2);
-                    }
-                    
-                    fakturaDetailsRow.NETTO = Math.Round(netto,2);
+                        netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent)*netto, 2);
+                    }
+
+                    fakturaDetailsRow.NETTO = Math.Round(netto, 2);
                     fakturaDetailsRow.S_VAT = reklama.VAT;
                     decimal VAT = Convert.ToDecimal(reklama.VAT);
-                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * netto, 2));
+                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT*netto, 2));
                     fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2));
+                }
+                else if(naglowekFaktury.Iswaluta_mianoNull() && klient.Country.ToUpper() != "POLSKA")
+                {
+                    decimal VAT = Convert.ToDecimal(reklama.VAT);
+                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN;
+                    if (reklama.wyroznienie)
+                    {
+                        netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent) * netto, 2);
+                    }
+                    fakturaDetailsRow.NETTO = Math.Round(netto, 2);
+                    fakturaDetailsRow.S_VAT = reklama.VAT;
+                    fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2));
+                    
+                    decimal brutto = fakturaDetailsRow.BRUTTO;
+
+                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2));
+
+                    fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT, 2);
+                    if (fakturaDetailsRow.UPUST_PR != 0)
+                    {
+                        fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto, 2);
+                    }
+                    else
+                    {
+                        fakturaDetailsRow.UPUST_NETTO = 0;
+                    }
+
+                    fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(netto + fakturaDetailsRow.UPUST_NETTO);
                 }
                 else
@@ -475,9 +504,9 @@
                     fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2));
                     decimal netto = brutto - fakturaDetailsRow.VAT;
-                    fakturaDetailsRow.NETTO = Math.Round(netto,2);
-                    fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT,2);
+
+                    fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT, 2);
                     if (fakturaDetailsRow.UPUST_PR != 0)
                     {
-                        fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto,2);
+                        fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto, 2);
                     }
                     else
@@ -517,4 +546,6 @@
             if (t.Rows.Count == 0)
             {
+                //TODO: moze lepiej uzyc MessageBox'a i return niz wywalac wyjatek...?
+                // wyjatki sa dosc kosztowne dla aplikacji
                 throw new Exception("Nie ma co fakturowaæ!");
             }
@@ -611,5 +642,4 @@
         {
             REKLAMADataSet.FAKTURYRow naglowekFaktury = (REKLAMADataSet.FAKTURYRow)this.rEKLAMADataSet.FAKTURY.NewRow();
-
             naglowekFaktury.idZamowienia = zamowienie.idZamowienia;
             naglowekFaktury.NUMER_ROZ = zamowienie.kodAgenta;
@@ -700,4 +730,10 @@
                 naglowekFaktury.waluta_przelicznik = kurs[0].przelicznik;
                 naglowekFaktury.waluta_tabela_nr = kurs[0].Numer_Tabeli;
+            }
+            // jesli klient jest zagraniczny a waluta ciagle PLN
+            else if (klient.nipKraj.ToUpper() != "PL")
+            {
+                naglowekFaktury.SPRZEDAWCA_NIP = agencja.vies;
+                naglowekFaktury.NABYWCA_NIP = klient.nipKraj + " " + klient.Nip;
             }
 
@@ -1381,5 +1417,5 @@
 
                 int id = wystawFakture(zamowienie, klient);
-                FactureViewer fv = new FactureViewer(id,true);
+                FactureViewer fv = new FactureViewer(id, true);
 
                 fv.ShowDialog();
Index: trunk/BazaReklam/Classes/Utils.cs
===================================================================
--- trunk/BazaReklam/Classes/Utils.cs (revision 173)
+++ trunk/BazaReklam/Classes/Utils.cs (revision 175)
@@ -1,5 +1,3 @@
 using System;
-using System.Collections.Generic;
-using System.Text;
 using System.Data;
 using System.Data.SqlClient;
@@ -16,8 +14,6 @@
             command.Connection = conn;
 
-            object result = null;
-
             conn.Open();
-            result = command.ExecuteScalar();
+            object result = command.ExecuteScalar();
             command.Dispose();
             conn.Close();
@@ -272,5 +268,5 @@
         {
             string query = "select count(*) from klienci where kodKlienta = '" + kodKlienta + "' and username = '" + symbolAgenta + "'" +
-                " and customerId <> " + customerId;
+                           " and customerId <> " + customerId;
 
             int result = (int)ExecuteQuery(query);
@@ -278,5 +274,4 @@
             return (result == 0 ? true : false);
         }
-
     }
 }
Index: trunk/BazaReklam/Raporty/fakturaReversed2.rdlc
===================================================================
--- trunk/BazaReklam/Raporty/fakturaReversed2.rdlc (revision 166)
+++ trunk/BazaReklam/Raporty/fakturaReversed2.rdlc (revision 175)
@@ -2481,5 +2481,5 @@
                           <ZIndex>18</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),"22","nie podlega")</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,"22","nie podlega")</Value>
                         </Textbox>
                       </ReportItems>
@@ -2510,5 +2510,5 @@
                           <ZIndex>17</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),"-")</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),"-")</Value>
                         </Textbox>
                       </ReportItems>
@@ -2883,5 +2883,5 @@
                           <ZIndex>35</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0,Sum(Fields!NETTO.Value, "FakturaDetails2"))</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0,Sum(Fields!NETTO.Value, "FakturaDetails2"))</Value>
                         </Textbox>
                       </ReportItems>
@@ -2970,5 +2970,5 @@
                           <ZIndex>32</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"))</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"))</Value>
                         </Textbox>
                       </ReportItems>
@@ -3552,5 +3552,5 @@
                           <ZIndex>59</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value>
                         </Textbox>
                       </ReportItems>
@@ -3610,5 +3610,5 @@
                           <ZIndex>57</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value>
                         </Textbox>
                       </ReportItems>
@@ -3639,5 +3639,5 @@
                           <ZIndex>56</ZIndex>
                           <CanGrow>true</CanGrow>
-                          <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),Sum(Fields!BRUTTO.Value, "FakturaDetails2"),0)</Value>
+                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"),0)</Value>
                         </Textbox>
                       </ReportItems>
