Index: trunk/BazaReklam/ZamowieniaForm.cs
===================================================================
--- trunk/BazaReklam/ZamowieniaForm.cs (revision 611)
+++ trunk/BazaReklam/ZamowieniaForm.cs (revision 621)
@@ -643,5 +643,5 @@
             naglowekFaktury.idZamowienia = zamowienie.idZamowienia;
             naglowekFaktury.NUMER_ROZ = zamowienie.kodAgenta;
-            naglowekFaktury.NUMER = proforma ? zamowienie.nrZamowienia : DbUtils.numerNowejFaktury(naglowekFaktury.NUMER_ROZ, DateTime.Today.Year);
+            naglowekFaktury.NUMER = proforma ? zamowienie.nrZamowienia : DbUtils.numerNowejFaktury(naglowekFaktury.NUMER_ROZ, DateTime.Today.Year, invoiceProvider.SystemKsiegowyId);
 
             naglowekFaktury.NUMER_ROK = DateTime.Today.Year;
Index: trunk/BazaReklam/Facturer.cs
===================================================================
--- trunk/BazaReklam/Facturer.cs (revision 602)
+++ trunk/BazaReklam/Facturer.cs (revision 621)
@@ -4,4 +4,7 @@
 using System.Windows.Forms;
 using Baza_Reklam.Classes.Helpers;
+using Baza_Reklam.Classes.Interfaces;
+using Baza_Reklam.Classes.Model;
+using Baza_Reklam.Classes.Repositories;
 
 namespace Baza_Reklam
@@ -67,6 +70,10 @@
                 else
                 {
+                    Agent agent = new AgentRepository().FindByShortName(row["SYMBOL AKWIZYTORA"].ToString());
+
+                    IInvoiceProvider invoiceProvider = InvoiceProviderFactory.GetInvoiceProviderById(agent.InvoiceProvider);
+                    
                     nUMER_ROZTextBox.Text = DbUtils.tagAgenta(row["SYMBOL AKWIZYTORA"].ToString());
-                    nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year).ToString();
+                    nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year, invoiceProvider.SystemKsiegowyId).ToString();
 
                     if (row["FAKTURA DATA SPRZEDA¯Y"] == DBNull.Value)
@@ -402,7 +409,10 @@
 
                 //ustawienie pól formularza na dodanie nowej faktury
-
+                
+                Agent agent = new AgentRepository().FindByShortName(row["SYMBOL AKWIZYTORA"].ToString());
+                IInvoiceProvider invoiceProvider = InvoiceProviderFactory.GetInvoiceProviderById(agent.InvoiceProvider);
+                
                 nUMER_ROZTextBox.Text = DbUtils.tagAgenta(row["SYMBOL AKWIZYTORA"].ToString());
-                nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year).ToString();
+                nUMERTextBox.Text = DbUtils.numerNowejFaktury(nUMER_ROZTextBox.Text, DateTime.Today.Year, invoiceProvider.SystemKsiegowyId).ToString();
 
                 if (row["FAKTURA DATA SPRZEDA¯Y"] == DBNull.Value)
Index: trunk/BazaReklam/FakturowaniePoznanKatowice.cs
===================================================================
--- trunk/BazaReklam/FakturowaniePoznanKatowice.cs (revision 611)
+++ trunk/BazaReklam/FakturowaniePoznanKatowice.cs (revision 621)
@@ -13,4 +13,7 @@
     public partial class FakturowaniePoznanKatowice : Form
     {
+        //HACK: hardcoded SystemKsiegowyId
+        private const int ACCOUNTING_SYSTEM = 1;
+        
         private SLOWNIKDataSet.AGENCJERow _agencjaRedakcja;
         private SLOWNIKDataSet.KONTARow _konto;
@@ -143,4 +146,5 @@
                                       false);
 
+                
                 REKLAMADataSet.FAKTURYRow naglowekFaktury = FakturaHelper.GetInvoice(rEKLAMADataSet.FAKTURY,
                                                                                      GetClient(cbAgency.Text),
@@ -150,5 +154,6 @@
                                                                                      cbAgency.Text,
                                                                                      FakturaHelper.PaymentType.Transfer,
-                                                                                     dtpZmianaDaty.Value);
+                                                                                     dtpZmianaDaty.Value,
+                                                                                     ACCOUNTING_SYSTEM);
 
                 rEKLAMADataSet.FAKTURY.AddFAKTURYRow(naglowekFaktury);
@@ -217,4 +222,5 @@
             foreach (REKLAMADataSet.FAKTURYRow row in barters)
             {
+                
                 REKLAMADataSet.FAKTURYRow barterInvoice = FakturaHelper.GetInvoice(rEKLAMADataSet.FAKTURY,
                                                                                    GetClient(cbAgency.Text),
@@ -224,5 +230,6 @@
                                                                                    cbAgency.Text,
                                                                                    FakturaHelper.PaymentType.Barter,
-                                                                                   dtpZmianaDaty.Value);
+                                                                                   dtpZmianaDaty.Value,
+                                                                                   ACCOUNTING_SYSTEM);
 
                 rEKLAMADataSet.FAKTURY.AddFAKTURYRow(barterInvoice);
Index: trunk/BazaReklam/Classes/Repositories/AgentRepository.cs
===================================================================
--- trunk/BazaReklam/Classes/Repositories/AgentRepository.cs (revision 614)
+++ trunk/BazaReklam/Classes/Repositories/AgentRepository.cs (revision 621)
@@ -47,4 +47,40 @@
             return agents;
         }
+
+        public Agent FindByShortName(string shortName)
+        {
+            const string query = "SELECT Symbol, F_ROZ, InvoiceProviderId FROM dbo.Agenci WHERE F_ROZ=@shortName";
+            SqlConnection conn = null;
+            SqlCommand cmd = null;
+            SqlDataReader reader = null;
+
+            try
+            {
+                conn = new SqlConnection(ConnString.getConnString().Value);
+                conn.Open();
+                cmd = new SqlCommand(query, conn);
+                reader = cmd.ExecuteReader();
+                if (reader != null && reader.Read())
+                    return new Agent(reader.GetString(0).Trim().ToLower(),
+                                     reader.GetString(1).Trim().ToUpper(),
+                                     reader.GetInt32(2));
+            }
+            finally
+            {
+                if (reader != null)
+                {
+                    reader.Close();
+                    reader.Dispose();
+                }
+                if (cmd != null) cmd.Dispose();
+                if (conn != null)
+                {
+                    conn.Close();
+                    conn.Dispose();
+                }
+
+            }
+            return null;
+        }
     }
 }
Index: trunk/BazaReklam/Classes/Model/Agent.cs
===================================================================
--- trunk/BazaReklam/Classes/Model/Agent.cs (revision 614)
+++ trunk/BazaReklam/Classes/Model/Agent.cs (revision 621)
@@ -3,9 +3,18 @@
     public class Agent
     {
+        private int _invoiceProvider;
         private string _loginName;
+        private string _shortName;
 
         public Agent(string loginName)
         {
             LoginName = loginName;
+        }
+
+        public Agent(string loginName, string shortName, int invoiceProvider)
+        {
+            LoginName = loginName;
+            ShortName = shortName;
+            InvoiceProvider = invoiceProvider;
         }
 
@@ -15,4 +24,16 @@
             set { _loginName = value; }
         }
+
+        public string ShortName
+        {
+            get { return _shortName; }
+            set { _shortName = value; }
+        }
+
+        public int InvoiceProvider
+        {
+            get { return _invoiceProvider; }
+            set { _invoiceProvider = value; }
+        }
     }
 }
Index: trunk/BazaReklam/Classes/Helpers/FakturaHelper.cs
===================================================================
--- trunk/BazaReklam/Classes/Helpers/FakturaHelper.cs (revision 602)
+++ trunk/BazaReklam/Classes/Helpers/FakturaHelper.cs (revision 621)
@@ -146,5 +146,6 @@
                                                            string numerRoz,
                                                            PaymentType paymentType,
-                                                           DateTime dateTime)
+                                                           DateTime dateTime,
+                                                           int accountingSystem)
         {
             REKLAMADataSet.FAKTURYRow naglowekFaktury = (REKLAMADataSet.FAKTURYRow)fakturyTable.NewRow();
@@ -152,5 +153,7 @@
             naglowekFaktury.KOREKTA = false;
             naglowekFaktury.NUMER_ROZ = numerRoz;
-            naglowekFaktury.NUMER = DbUtils.numerNowejFaktury(naglowekFaktury.NUMER_ROZ, DateTime.Today.Year);
+            naglowekFaktury.SystemKsiegowyId = (byte)accountingSystem;
+            naglowekFaktury.NUMER = DbUtils.numerNowejFaktury(naglowekFaktury.NUMER_ROZ, DateTime.Today.Year, accountingSystem);
+
             naglowekFaktury.NUMER_ROK = DateTime.Today.Year;
 
Index: trunk/BazaReklam/Classes/DbUtils.cs
===================================================================
--- trunk/BazaReklam/Classes/DbUtils.cs (revision 602)
+++ trunk/BazaReklam/Classes/DbUtils.cs (revision 621)
@@ -265,7 +265,7 @@
         /// Zwraca numer nastêpnej faktury danego agenta.
         /// </summary>
-        public static int numerNowejFaktury(string tagAgenta, int year)
-        {
-            string query = "SELECT MAX(Numer) FROM Faktury WHERE Korekta=0 AND [Numer_Roz]='" + tagAgenta + "' AND [Numer_Rok]=" + year;
+        public static int numerNowejFaktury(string tagAgenta, int year, int systemKsiegowy)
+        {
+            string query = "SELECT MAX(Numer) FROM Faktury WHERE Korekta=0 AND [Numer_Roz]='" + tagAgenta + "' AND [Numer_Rok]=" + year + " AND SystemKsiegowyId=" + systemKsiegowy;
 
             object nr = ExecuteQuery(query);
