Zbiór zmian 175 dla trunk

Pokaż
Ignoruj:
Data:
2009-01-16 15:57:34 (17 years ago)
Autor:
marek
Opis:

re #35 - poprawiono wystawianie faktur dla klientow zagranicznych w walucie PLN

Lokalizacja:
trunk/BazaReklam
Pliki:
3 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/BazaReklam/Classes/Utils.cs

    r173 r175  
    11using System; 
    2 using System.Collections.Generic; 
    3 using System.Text; 
    42using System.Data; 
    53using System.Data.SqlClient; 
     
    1614            command.Connection = conn; 
    1715 
    18             object result = null; 
    19  
    2016            conn.Open(); 
    21             result = command.ExecuteScalar(); 
     17            object result = command.ExecuteScalar(); 
    2218            command.Dispose(); 
    2319            conn.Close(); 
     
    272268        { 
    273269            string query = "select count(*) from klienci where kodKlienta = '" + kodKlienta + "' and username = '" + symbolAgenta + "'" + 
    274                 " and customerId <> " + customerId; 
     270                           " and customerId <> " + customerId; 
    275271 
    276272            int result = (int)ExecuteQuery(query); 
     
    278274            return (result == 0 ? true : false); 
    279275        } 
    280  
    281276    } 
    282277} 
  • trunk/BazaReklam/Raporty/fakturaReversed2.rdlc

    r166 r175  
    24812481                          <ZIndex>18</ZIndex> 
    24822482                          <CanGrow>true</CanGrow> 
    2483                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),"22","nie podlega")</Value> 
     2483                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,"22","nie podlega")</Value> 
    24842484                        </Textbox> 
    24852485                      </ReportItems> 
     
    25102510                          <ZIndex>17</ZIndex> 
    25112511                          <CanGrow>true</CanGrow> 
    2512                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),"-")</Value> 
     2512                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),"-")</Value> 
    25132513                        </Textbox> 
    25142514                      </ReportItems> 
     
    28832883                          <ZIndex>35</ZIndex> 
    28842884                          <CanGrow>true</CanGrow> 
    2885                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0,Sum(Fields!NETTO.Value, "FakturaDetails2"))</Value> 
     2885                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0,Sum(Fields!NETTO.Value, "FakturaDetails2"))</Value> 
    28862886                        </Textbox> 
    28872887                      </ReportItems> 
     
    29702970                          <ZIndex>32</ZIndex> 
    29712971                          <CanGrow>true</CanGrow> 
    2972                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"))</Value> 
     2972                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"))</Value> 
    29732973                        </Textbox> 
    29742974                      </ReportItems> 
     
    35523552                          <ZIndex>59</ZIndex> 
    35533553                          <CanGrow>true</CanGrow> 
    3554                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value> 
     3554                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value> 
    35553555                        </Textbox> 
    35563556                      </ReportItems> 
     
    36103610                          <ZIndex>57</ZIndex> 
    36113611                          <CanGrow>true</CanGrow> 
    3612                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value> 
     3612                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,0.22*Sum(Fields!NETTO.Value, "FakturaDetails2"),0)</Value> 
    36133613                        </Textbox> 
    36143614                      </ReportItems> 
     
    36393639                          <ZIndex>56</ZIndex> 
    36403640                          <CanGrow>true</CanGrow> 
    3641                           <Value>=iif(IsNothing(First(Fields!waluta_miano.Value, "Faktura")),Sum(Fields!BRUTTO.Value, "FakturaDetails2"),0)</Value> 
     3641                          <Value>=iif(First(Fields!S_VAT.Value, "FakturaDetails2")&lt;&gt;0,Sum(Fields!BRUTTO.Value, "FakturaDetails2"),0)</Value> 
    36423642                        </Textbox> 
    36433643                      </ReportItems> 
  • trunk/BazaReklam/ZamowieniaForm.cs

    r173 r175  
    331331                this.rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury); 
    332332                pobierzOznaczEmisje(zamowienie, naglowekFaktury); 
    333                 utworzPozycjeFaktury(naglowekFaktury); 
     333                utworzPozycjeFaktury(naglowekFaktury, klient); 
    334334                dodajWplate(naglowekFaktury); 
    335335 
     
    424424        } 
    425425 
    426         private void utworzPozycjeFaktury(REKLAMADataSet.FAKTURYRow naglowekFaktury) 
     426        private void utworzPozycjeFaktury(REKLAMADataSet.FAKTURYRow naglowekFaktury, REKLAMADataSet.KLIENCIRow klient) 
    427427        { 
    428428            decimal brutto_waluta = 0; 
     
    449449                fakturaDetailsRow.JM = "szt."; 
    450450 
    451                 if (naglowekFaktury.Iswaluta_mianoNull()) 
    452                 { 
    453                     fakturaDetailsRow.UPUST_NETTO = Math.Round(Convert.ToDecimal(reklama.RABAT) * fakturaDetailsRow.CENA_JEDN, 2); 
     451                if (naglowekFaktury.Iswaluta_mianoNull() && klient.Country.ToUpper() == "POLSKA") 
     452                { 
     453                    fakturaDetailsRow.UPUST_NETTO = 
     454                        Math.Round(Convert.ToDecimal(reklama.RABAT)*fakturaDetailsRow.CENA_JEDN, 2); 
    454455                    fakturaDetailsRow.UPUST_PR = reklama.RABAT; 
    455                     decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN; 
     456                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT))*fakturaDetailsRow.CENA_JEDN; 
    456457 
    457458                    if (reklama.wyroznienie) 
    458459                    { 
    459                         netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent) * netto,2); 
    460                     } 
    461                      
    462                     fakturaDetailsRow.NETTO = Math.Round(netto,2); 
     460                        netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent)*netto, 2); 
     461                    } 
     462 
     463                    fakturaDetailsRow.NETTO = Math.Round(netto, 2); 
    463464                    fakturaDetailsRow.S_VAT = reklama.VAT; 
    464465                    decimal VAT = Convert.ToDecimal(reklama.VAT); 
    465                     fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * netto, 2)); 
     466                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT*netto, 2)); 
    466467                    fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2)); 
     468                } 
     469                else if(naglowekFaktury.Iswaluta_mianoNull() && klient.Country.ToUpper() != "POLSKA") 
     470                { 
     471                    decimal VAT = Convert.ToDecimal(reklama.VAT); 
     472                    decimal netto = (1 - Convert.ToDecimal(reklama.RABAT)) * fakturaDetailsRow.CENA_JEDN; 
     473                    if (reklama.wyroznienie) 
     474                    { 
     475                        netto = Math.Round(Convert.ToDecimal(1 + reklama.wyroznienie_procent) * netto, 2); 
     476                    } 
     477                    fakturaDetailsRow.NETTO = Math.Round(netto, 2); 
     478                    fakturaDetailsRow.S_VAT = reklama.VAT; 
     479                    fakturaDetailsRow.BRUTTO = Convert.ToDecimal(Math.Round((1 + VAT) * netto, 2)); 
     480                     
     481                    decimal brutto = fakturaDetailsRow.BRUTTO; 
     482 
     483                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2)); 
     484 
     485                    fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT, 2); 
     486                    if (fakturaDetailsRow.UPUST_PR != 0) 
     487                    { 
     488                        fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto, 2); 
     489                    } 
     490                    else 
     491                    { 
     492                        fakturaDetailsRow.UPUST_NETTO = 0; 
     493                    } 
     494 
     495                    fakturaDetailsRow.CENA_JEDN = Convert.ToDecimal(netto + fakturaDetailsRow.UPUST_NETTO); 
    467496                } 
    468497                else 
     
    475504                    fakturaDetailsRow.VAT = Convert.ToDecimal(Math.Round(VAT * brutto / (1 + VAT), 2)); 
    476505                    decimal netto = brutto - fakturaDetailsRow.VAT; 
    477                     fakturaDetailsRow.NETTO = Math.Round(netto,2); 
    478                     fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT,2); 
     506 
     507                    fakturaDetailsRow.UPUST_PR = Math.Round(reklama.RABAT, 2); 
    479508                    if (fakturaDetailsRow.UPUST_PR != 0) 
    480509                    { 
    481                         fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto,2); 
     510                        fakturaDetailsRow.UPUST_NETTO = Math.Round(netto / Convert.ToDecimal(reklama.RABAT) - netto, 2); 
    482511                    } 
    483512                    else 
     
    517546            if (t.Rows.Count == 0) 
    518547            { 
     548                //TODO: moze lepiej uzyc MessageBox'a i return niz wywalac wyjatek...? 
     549                // wyjatki sa dosc kosztowne dla aplikacji 
    519550                throw new Exception("Nie ma co fakturowaæ!"); 
    520551            } 
     
    611642        { 
    612643            REKLAMADataSet.FAKTURYRow naglowekFaktury = (REKLAMADataSet.FAKTURYRow)this.rEKLAMADataSet.FAKTURY.NewRow(); 
    613  
    614644            naglowekFaktury.idZamowienia = zamowienie.idZamowienia; 
    615645            naglowekFaktury.NUMER_ROZ = zamowienie.kodAgenta; 
     
    700730                naglowekFaktury.waluta_przelicznik = kurs[0].przelicznik; 
    701731                naglowekFaktury.waluta_tabela_nr = kurs[0].Numer_Tabeli; 
     732            } 
     733            // jesli klient jest zagraniczny a waluta ciagle PLN 
     734            else if (klient.nipKraj.ToUpper() != "PL") 
     735            { 
     736                naglowekFaktury.SPRZEDAWCA_NIP = agencja.vies; 
     737                naglowekFaktury.NABYWCA_NIP = klient.nipKraj + " " + klient.Nip; 
    702738            } 
    703739 
     
    13811417 
    13821418                int id = wystawFakture(zamowienie, klient); 
    1383                 FactureViewer fv = new FactureViewer(id,true); 
     1419                FactureViewer fv = new FactureViewer(id, true); 
    13841420 
    13851421                fv.ShowDialog();