Beispiel #1
0
        // Przyk³ad 6. - Korekta FA
        protected static void DogenerujKorekteFA()
        {
            CDNBase.AdoSession Sesja = Login.CreateSession();

            CDNHlmn.DokumentyHaMag Faktury = (CDNHlmn.DokumentyHaMag)Sesja.CreateObject("CDN.DokumentyHaMag", null);
            CDNHlmn.IDokumentHaMag Faktura = (CDNHlmn.IDokumentHaMag)Faktury.AddNew(null);

            // FAKI 302001;
            // FAKW 302002;
            // FAKV 302003;

            //ustawiamy rodzaj i typ dokumentu
            Faktura.Rodzaj       = 302001;
            Faktura.TypDokumentu = 302;

            //Rodzaj korekty
            Faktura.Korekta = 1;
            //Bufor
            Faktura.Bufor = 1;
            //Id korygowanej faktury
            Faktura.OryginalID = 1;

            //Zmieniamy ilosc
            CDNBase.ICollection   Pozycje = Faktura.Elementy;
            CDNHlmn.IElementHaMag Pozycja = (CDNHlmn.IElementHaMag)Pozycje["Tre_TwrKod='NOWY_C#'"];
            Pozycja.Ilosc = 1;

            //Zapisujemy
            Sesja.Save();

            Console.WriteLine("Dogenerowano korektê: " + Faktura.NumerPelny);
        }
Beispiel #2
0
        // Przyk³ad 5. - Dodanie faktury sprzeda¿y
        protected static void DodanieFaktury()
        {
            CDNBase.AdoSession Sesja = Login.CreateSession();

            CDNHlmn.DokumentyHaMag Faktury = (CDNHlmn.DokumentyHaMag)Sesja.CreateObject("CDN.DokumentyHaMag", null);
            CDNHlmn.IDokumentHaMag Faktura = (CDNHlmn.IDokumentHaMag)Faktury.AddNew(null);

            CDNBase.ICollection Kontrahenci = (CDNBase.ICollection)(Sesja.CreateObject("CDN.Kontrahenci", null));
            CDNHeal.IKontrahent Kontrahent  = (CDNHeal.IKontrahent)Kontrahenci["Knt_Kod='ALOZA'"];

            CDNBase.ICollection        FormyPlatnosci = (CDNBase.ICollection)(Sesja.CreateObject("CDN.FormyPlatnosci", null));
            OP_KASBOLib.FormaPlatnosci FPl            = (OP_KASBOLib.FormaPlatnosci)FormyPlatnosci[1];

            // e_op_Rdz_FS          302000
            Faktura.Rodzaj = 302000;
            // e_op_KlasaFS			302
            Faktura.TypDokumentu = 302;

            //Ustawiamy bufor
            Faktura.Bufor = 0;

            //Ustawiamy date
            Faktura.DataDok = new DateTime(2007, 06, 04);

            //Ustawiamy formê póatnoœci
            Faktura.FormaPlatnosci = FPl;

            //Ustawiamy podmiot
            Faktura.Podmiot = (CDNHeal.IPodmiot)Kontrahent;

            //Ustawiamy magazyn
            Faktura.MagazynZrodlowyID = 1;

            //Dodajemy pozycje
            CDNBase.ICollection   Pozycje = Faktura.Elementy;
            CDNHlmn.IElementHaMag Pozycja = (CDNHlmn.IElementHaMag)Pozycje.AddNew(null);
            Pozycja.TowarKod = "NOWY_C#";
            Pozycja.Ilosc    = 2;
            //Pozycja.Cena0WD = 10;
            Pozycja.WartoscNetto = Convert.ToDecimal("123,13");

            //Dodanie atrybutu dokumentu TEKST
            CDNBase.ICollection  rAtrybuty         = (CDNBase.ICollection)(Sesja.CreateObject("CDN.DefAtrybuty", null));
            CDNTwrb1.IDefAtrybut rAtrybut          = (CDNTwrb1.IDefAtrybut)rAtrybuty["dea_Kod = 'TEKST'"];
            CDNTwrb1.IDokAtrybut rAtrybutDokumentu = (CDNTwrb1.IDokAtrybut)Faktura.Atrybuty.AddNew(null);
            rAtrybutDokumentu.DefAtrybut = (CDNTwrb1.DefAtrybut)rAtrybut;
            rAtrybutDokumentu.Wartosc    = "Nr:XP123456";

            // Atrybut mo¿na te¿ podstawiæ za pomoc¹ ID atrybutu bez tworzenia kolekcji atrybutów:
            // rAtrybutDokumentu.DeAID = 123

            //zapisujemy
            Sesja.Save();

            Console.WriteLine("Dodano fakturê: " + Faktura.NumerPelny);
        }
Beispiel #3
0
 protected static void DodajElementyDoRejestru(CDNRVAT.VAT RejestrVAT)
 {
     // pobranie kolekcji elementów rejestru
     CDNBase.ICollection Elementy = RejestrVAT.Elementy;
     Console.WriteLine("Dodawanie elementow: ");
     // dodanie elementów kolejno o stawkach 0%, 3%, 5%, 7%, 22% i zwolnionej
     DodajJeden(0, (CDNRVAT.VATElement)Elementy.AddNew(null));
     DodajJeden(3, (CDNRVAT.VATElement)Elementy.AddNew(null));
     DodajJeden(5, (CDNRVAT.VATElement)Elementy.AddNew(null));
     DodajJeden(7, (CDNRVAT.VATElement)Elementy.AddNew(null));
     DodajJeden(22, (CDNRVAT.VATElement)Elementy.AddNew(null));
     DodajJeden(-1, (CDNRVAT.VATElement)Elementy.AddNew(null));
 }
Beispiel #4
0
        // Przyk³ad 2. - Dodanie dokumentu rejestru VAT
        protected static void DodanieRejestru()
        {
            // Tworzymy obiekt sesji
            AdoSession Sesja = Login.CreateSession();

            // tworzenie potrzebnych kolekcji
            CDNBase.ICollection FormyPlatnosci = (CDNBase.ICollection)(Sesja.CreateObject("CDN.FormyPlatnosci", null));
            CDNBase.ICollection Waluty         = (CDNBase.ICollection)(Sesja.CreateObject("CDN.Waluty", null));
            CDNBase.ICollection RejestryVAT    = (CDNBase.ICollection)(Sesja.CreateObject("CDN.RejestryVAT", null));
            CDNBase.ICollection Kontrahenci    = (CDNBase.ICollection)(Sesja.CreateObject("CDN.Kontrahenci", null));
            // pobieranie kontrahenta, formy platnosci  i waluty
            CDNHeal.IKontrahent Kontrahent = (CDNHeal.IKontrahent)Kontrahenci["Knt_Kod='ALOZA'"];

            // w konfiguracji jest tylko jedna waluta (PLN)
            //			CDNHeal.Waluta Waluta			= (CDNHeal.Waluta)Waluty[ "WNa_Symbol='EUR'" ];
            OP_KASBOLib.FormaPlatnosci FPl = (OP_KASBOLib.FormaPlatnosci)FormyPlatnosci[1];
            // utworzenie nowego obiektu rejestru VAT
            CDNRVAT.VAT RejestrVAT = (CDNRVAT.VAT)RejestryVAT.AddNew(null);
            //ustawianie parametrów rejestru
            RejestrVAT.Typ = 2;            //	1 - zakupu; 2 - sprzeda¿y
            Console.WriteLine("Typ ustawiony");

            RejestrVAT.Rejestr = "SPRZEDA¯";                    // nazwa rejestru0
            Console.WriteLine("Rejestr ustawiony");

            RejestrVAT.Dokument = "DET01/05/2007";
            Console.WriteLine("Dokument ustawiony");

            RejestrVAT.IdentKsieg = "2007/05/28-oop";
            Console.WriteLine("IdentKsieg ustawiony");

            RejestrVAT.DataZap = new DateTime(2007, 05, 28);
            Console.WriteLine("DataZap ustawiona");

            RejestrVAT.FormaPlatnosci = FPl;
            Console.WriteLine("Forma platnosci ustawiona");

            RejestrVAT.Podmiot = (CDNHeal.IPodmiot)Kontrahent;
            Console.WriteLine("Podmiot ustawiony");
            // kategoria ustawia siê sama, gdy ustawiany jest kontrahent

            // waluty nie ustawiam, bo w konf. jest na razie tylko jedna waluta (PLN)
            //			RejestrVAT.WalutaDoVAT = Waluta;
            //			Console.WriteLine( "Waluta ustawiona " + RejestrVAT.Waluta.Symbol );

            // dodanie elementów rejestru VAT
            DodajElementyDoRejestru(RejestrVAT);

            // zapisanie zmian
            Sesja.Save();
        }
Beispiel #5
0
        // Przyk³ad 4. - Dodanie towaru
        protected static void DodanieTowaru()
        {
            CDNBase.AdoSession Sesja = Login.CreateSession();

            CDNTwrb1.Towary Towary = (CDNTwrb1.Towary)Sesja.CreateObject("CDN.Towary", null);
            CDNTwrb1.ITowar Towar  = (CDNTwrb1.ITowar)Towary.AddNew(null);

            Towar.Nazwa = "Nowy towar dodany z C#";
            string nazwa = Towar.Nazwa1;

            Towar.Kod  = "NOWY_C#";
            Towar.Opis = "Taki sobie towar dodany z C#";

            Towar.Stawka = 22.00m;
            Towar.Flaga  = 2;                // 2- oznacza stawkê opodatkowan¹, pozosta³e wartoœci
                                             // pola s¹ podane w strukturze bazy tabela: [CDN.Towary].[Twr_Flaga]

            Towar.JM = "SZT";

            // Podstawienie grupy do towaru
            // Grupy dla towarów maj¹ strukutrê drzewiast¹ która jest umieszczona w tabeli TwrGrupy
            CDNBase.ICollection Grupy = (CDNBase.ICollection)(Sesja.CreateObject("CDN.TwrGrupy", null));
            CDNTwrb1.TwrGrupa   Grupa = (CDNTwrb1.TwrGrupa)Grupy["twg_kod = 'Grupa G³ówna'"];

            // Towar jest przypisany do jednje grupy domyœlnej
            Towar.TwGGIDNumer = Grupa.GIDNumer;
            // oraz do listy grup
            CDNTwrb1.TwrGrupa GrupaZListy = (CDNTwrb1.TwrGrupa)Towar.Grupy.AddNew(null);
            GrupaZListy = Grupa;

            Console.WriteLine("podstawienie do grupy: " + Grupa.Kod);

            CDNTwrb1.ICena cana1 = (CDNTwrb1.ICena)Towar.Ceny[1];
            cana1.WartoscNetto = 29.29m;
            CDNTwrb1.ICena cana2 = (CDNTwrb1.ICena)Towar.Ceny[4];
            cana2.WartoscBrutto = 30.02m;


            // Zapis
            Sesja.Save();
            Console.WriteLine("Towar dodany: " + nazwa);
        }
Beispiel #6
0
        /*<COM_DOK>
         * <OPIS>Dodanie dokumentu OBD</OPIS>
         * <Uruchomienie>Przyk³ad dzia³a na bazie DEMO. </Uruchomienie>
         * <Interfejs> IDokNag </<Interfejs>
         * <Interfejs> IKontrahent </<Interfejs>
         * <Interfejs> INumerator </<Interfejs>
         * <Osoba>WN</Osoba>
         * <Jezyk>C#</Jezyk>
         * <OPT_VER>17.3.1</OPT_VER>
         * </COM_DOK>*/
        #endregion

        public static void DodanieDokumentuOBD()
        {
            try
            {
                Console.WriteLine("##### dodawanie dokumentu OBD #####");
                Console.WriteLine("Kreujê sesjê ...");
                CDNBase.AdoSession sesja = Login.CreateSession();
                Console.WriteLine("Kreujê kolekcjê dokumentów ...");
                OP_SEKLib.DokNagColl dokumenty = (OP_SEKLib.DokNagColl)sesja.CreateObject("CDN.DokNagColl", null);
                Console.WriteLine("Dodajê nowy dokument do kolekcji ...");
                OP_SEKLib.IDokNag dokument = (OP_SEKLib.IDokNag)dokumenty.AddNew(null);
                dokument.Typ = 1;  //firmowy

                //jeœli seria dokumentu ma byæ inna ni¿ domyœlna
                const string symbolDD = "AUTO";
                CDNHeal.DefinicjeDokumentow definicjeDokumentow = (CDNHeal.DefinicjeDokumentow)sesja.CreateObject("CDN.DefinicjeDokumentow", null);
                CDNHeal.DefinicjaDokumentu  definicjaDokumentu  = (CDNHeal.DefinicjaDokumentu)definicjeDokumentow[string.Format("Ddf_Symbol='OBD'", symbolDD)];
                //Ustawiamy numerator
                OP_KASBOLib.INumerator numerator = (OP_KASBOLib.INumerator)dokument.Numerator;

                numerator.DefinicjaDokumentu = definicjaDokumentu;

                numerator.Rejestr = "A1";//ustawiam seriê dla wybranej definicji dokumentów
                //numerator.Rejestr = 133; //jeœli potrzeba ustawiæ numer

                Console.WriteLine("Dzisiejsz¹ datê podstawiam jako datê utworzenia...");
                //dokument.DataDok = DateTime.Now;     //jeœli data dokumentu ma byæ inna ni¿ bie¿¹ca
                dokument.Tytul   = "Rozpoczêcie procesu akwizycji";
                dokument.Dotyczy = "Opis kroków do wykonania. Proszê zacz¹æ od dzisiaj!";

                //Dodanie podmiotu
                Console.WriteLine("Kreujê kolekcjê kontrahentów ...");
                CDNBase.ICollection kontrahenci = (CDNBase.ICollection)(sesja.CreateObject("CDN.Kontrahenci", null));
                Console.WriteLine("I pobieram z niej obiekt kontrahenta o kodzie 'ALOZA' ...");
                CDNHeal.IKontrahent kontrahent = (CDNHeal.IKontrahent)kontrahenci["Knt_Kod='ALOZA'"];

                dokument.PodmiotTyp = 1; //TypPodmiotuKontrahent
                dokument.PodId      = kontrahent.ID;
                Console.WriteLine("Zapisujê dokument... " + dokument.Stempel.TSMod);


                // Dodanie nag³ówka pliku
                OP_SEKLib.IDokNagPlik DokNagPlik = (OP_SEKLib.IDokNagPlik)dokument.PlikiArchiwalne.AddNew(null);

                // ustalenie koniecznych atrybutów
                DokNagPlik.UstawStempel();
                DokNagPlik.DoNID      = dokument.ID;
                DokNagPlik.FileMode   = 2;
                DokNagPlik.WBazie     = 1;
                DokNagPlik.NazwaPliku = "testfile.html";
                DokNagPlik.Wersja     = 0;

                // Tworzenie danych binarnych

                CDNTwrb1.IDanaBinarna PlikDaneBin = (CDNTwrb1.IDanaBinarna)DokNagPlik.PlikiBinarne.AddNew(null);

                //koniczne atrybuty pliku binarnego oraz import danych
                PlikDaneBin.TWAID = DokNagPlik.ID;
                PlikDaneBin.DodajPlik(@"C:\testfile.html");
                PlikDaneBin.Typ        = 2;
                PlikDaneBin.NazwaPliku = "testfile.html";
                // Zapis dok.


                sesja.Save();
                dokument = (OP_SEKLib.IDokNag)dokumenty[String.Format("DoN_DoNId={0}", dokument.ID)];
                Console.WriteLine("Dodano dokument numer: {0}", dokument.NumerPelny);
            }
            catch (COMException comError)
            {
                Console.WriteLine("###ERROR### Dodanie dokumentu OBD nie powiod³o siê!\n{0}", ErrorMessage(comError));
            }
        }
Beispiel #7
0
        /*<COM_DOK>
         * <OPIS>Dodanie zlecenia serwisowego</OPIS>
         * <Uruchomienie>Przyk³ad dzia³a na bazie DEMO</Uruchomienie>
         * <Interfejs> ISrsZlecenie </<Interfejs>
         * <Interfejs> ISrsCzynnosc </<Interfejs>
         * <Interfejs> ISrsCzesc </<Interfejs>
         * <Osoba>WN</Osoba>
         * <Jezyk>C#</Jezyk>
         * <OPT_VER>17.3.1</OPT_VER>
         * </COM_DOK>*/
        #endregion


        public static void DodanieZleceniaSerwisowego()
        {
            try
            {
                Console.WriteLine("##### dodawanie zlecenia serwisowego #####");
                Console.WriteLine("Kreujê sesjê ...");
                CDNBase.AdoSession sesja = Login.CreateSession();
                Console.WriteLine("Kreujê kolekcjê zleceñ serwisowych ...");

                OP_CSRSLib.SrsZlecenia zlecenia = (OP_CSRSLib.SrsZlecenia)sesja.CreateObject("CDN.SrsZlecenia", null);
                Console.WriteLine("Dodajê nowe zlecenie do kolekcji zleceñ serwisowych ...");
                OP_CSRSLib.ISrsZlecenie zlecenie = (OP_CSRSLib.ISrsZlecenie)zlecenia.AddNew(null);

                Console.WriteLine("Kreujê kolekcje kontrahentów ...");
                CDNBase.ICollection kontrahenci = (CDNBase.ICollection)(sesja.CreateObject("CDN.Kontrahenci", null));
                Console.WriteLine("I pobieram z niej obiekt kontrahenta o kodzie 'ALOZA' ...");
                CDNHeal.IKontrahent kontrahent = (CDNHeal.IKontrahent)kontrahenci["Knt_Kod='ALOZA'"];

                Console.WriteLine("Teraz obiekt kontrahenta podstawiam do property Podmiot dla zlecenia ...");
                zlecenie.Podmiot = (CDNHeal.IPodmiot)kontrahent;

                Console.WriteLine("Dzisiejsz¹ datê podstawiam jako datê utworzenia zlecenia...");
                zlecenie.DataDok = DateTime.Now;

                Console.WriteLine("Pobieram kolekcjê czynnoœci przypisanych do zlecenia...");
                CDNBase.ICollection czynnosci = zlecenie.Czynnosci;
                Console.WriteLine("I dodajê do niej nowy obiekt...");
                OP_CSRSLib.ISrsCzynnosc czynnosc = (OP_CSRSLib.ISrsCzynnosc)czynnosci.AddNew(null);

                Console.WriteLine("Przypisujê us³ugê o kodzie PROJ_ZIELENI do tej czynnoœci...");
                czynnosc.TwrId = GetIdTowaru(sesja, "PROJ_ZIELENI");
                Console.WriteLine("IloϾ jednostek ustalam na dwie...");
                czynnosc.Ilosc       = 2;
                czynnosc.CenaNetto   = 100;
                czynnosc.CzasTrwania = new DateTime(1899, 12, 30, 12, 0, 0);   //12 godzin
                czynnosc.KosztUslugi = 48;

                Console.WriteLine("Teraz dodajê czêœci ...");
                CDNBase.ICollection czesci = zlecenie.Czesci;
                Console.WriteLine("I dodajê do niej nowy obiekt...");
                OP_CSRSLib.ISrsCzesc czesc = (OP_CSRSLib.ISrsCzesc)czesci.AddNew(null);

                Console.WriteLine("Przypisujê towar o kodzie IGLAKI_CYPRYS ...");
                czesc.TwrId = GetIdTowaru(sesja, "IGLAKI_CYPRYS");
                Console.WriteLine("IloϾ jednostek ustalam na trzy...");
                czesc.Ilosc      = 3;
                czesc.CenaNetto  = 99.80m;
                czesc.Fakturowac = 1; //do fakturowania

                Console.WriteLine("Przypisujê towar o kodzie ZIEMIA_5 ...");
                czesc.TwrId = GetIdTowaru(sesja, "ZIEMIA_5");
                Console.WriteLine("Iloœæ jednostek ustalam na piêæ...");
                czesc.Ilosc      = 5;
                czesc.CenaNetto  = 4.90m;
                czesc.Fakturowac = 1; //do fakturowania


                Console.WriteLine("Zapisujê sesjê...");
                sesja.Save();
                zlecenie = (OP_CSRSLib.ISrsZlecenie)zlecenia[String.Format("SrZ_SrZId={0}", zlecenie.ID)];
                Console.WriteLine("Dodano zlecenie: {0}\nCzas trwania czynnoœci: {1}:{2}\nKoszt: {3}\nWartoœæ netto w cenach sprzeda¿y: {4}\nWartoœæ netto do zafakturowania : {5}",
                                  zlecenie.NumerPelny,
                                  zlecenie.CzynnosciCzasTrwania / 100,
                                  (zlecenie.CzynnosciCzasTrwania % 100).ToString("00"),
                                  zlecenie.Koszt.ToString("#0.00"),
                                  zlecenie.WartoscNetto.ToString("#0.00"),
                                  zlecenie.WartoscNettoDoFA.ToString("#0.00"));
            }
            catch (COMException comError)
            {
                Console.WriteLine("###ERROR### Dodanie zlecenia nie powiod³o siê!\n{0}", ErrorMessage(comError));
            }
        }
Beispiel #8
0
        private void comarchOptimaImportOrderSTA()
        {
            string akronim;

            try
            {
                string    reference      = "";
                WebClient client         = new WebClient();
                string    prestaResponse = "";

                try
                {
                    NameValueCollection postData = new NameValueCollection()
                    {
                        { "action", "getXmlOrders" }
                    };
                    prestaResponse = Encoding.UTF8.GetString(client.UploadValues(getOrdersGate(), postData));
                }
                catch (Exception exPresta)
                {
                    eventLog.WriteEntry("Error 1 on order import:" + Environment.NewLine + exPresta.ToString(), EventLogEntryType.Error, 0);
                }

                XmlDocument ordersXML = new XmlDocument();
                ordersXML.LoadXml(prestaResponse);
                XmlElement ordersXMLroot = ordersXML.DocumentElement;

                if (ordersXMLroot.ChildNodes.Count > 0)
                {
                    foreach (XmlNode orderXML in ordersXMLroot.ChildNodes)
                    {
                        bool error = true;
                        try
                        {
                            //eventLog.WriteEntry("Rozpoczynam import zamówień:" + Environment.NewLine , EventLogEntryType.Information, 0);

                            Dictionary <string, List <XmlNode> > splitedOrder = new Dictionary <string, List <XmlNode> >();
                            orderId     = orderXML["id"].InnerText;
                            reference   = orderXML["reference"].InnerText;
                            curOrderXML = orderXML;

                            if (CzyZaimportowane(reference)) //Jeśłi zamówienie zaimportowane to przerywam.
                            {
                                continue;
                            }

                            XmlNode tmpNode = orderXML["associations"];

                            LogowanieAutomatyczne(eventLog);
                            AdoSession Sesja = Login.CreateSession();


                            try {
                                XmlNode xmlBilling  = orderXML.SelectSingleNode("address_invoice")["address"];
                                XmlNode xmlShipping = orderXML.SelectSingleNode("address_delivery")["address"];
                                XmlNode xmlCustomer = orderXML.SelectSingleNode("customer");
                                XmlNode xmlCarrier  = orderXML.SelectSingleNode("carrier");
                                try
                                {
                                    XmlNode       xmltmp     = orderXML["address_invoice"]["address"];
                                    DefAtrybut    defAtrybut = Sesja.CreateObject("CDN.DefAtrybuty").Item("DeA_Kod='B2BID'");  //Pobranie id atrybutu
                                    string        KnA_DeAId  = "KnA_DeAId=" + defAtrybut.ID.ToString() + "";
                                    SqlConnection conn       = new SqlConnection();
                                    conn.ConnectionString = connectionString;
                                    conn.Open();
                                    SqlCommand idKnt = new SqlCommand("SELECT    [KnA_PodmiotId]  ,[KnA_WartoscTxt]  FROM [CDN].[KntAtrybuty] where [KnA_DeAId] = '" + defAtrybut.ID.ToString() + "' AND [KnA_WartoscTxt] = '" + xmlBilling["id"].InnerText + "'", conn);


                                    SqlDataReader reader    = idKnt.ExecuteReader();
                                    int           podmiotId = 0;


                                    try {
                                        if (reader.Read())
                                        {
                                            Int32.TryParse(reader["KnA_PodmiotId"].ToString(), out podmiotId);
                                            knt = Sesja.CreateObject("CDN.Kontrahenci").Item("Knt_kntid=" + podmiotId);
                                        }
                                        else
                                        {
                                            podmiotId = 0;

                                            try
                                            {
                                                knt = Sesja.CreateObject("CDN.Kontrahenci").Item("Knt_Kod='" + ZbudujAkronim(curOrderXML) + "'");
                                            }catch (Exception ex)
                                            {
                                                knt = null;
                                            }

                                            if (knt == null)
                                            {
                                                knt                 = Sesja.CreateObject("CDN.Kontrahenci").AddNew();
                                                knt.Akronim         = ZbudujAkronim(curOrderXML);;
                                                knt.Rodzaj_Odbiorca = 1;
                                                knt.Rodzaj_Dostawca = 0;

                                                PobierzDaneDoFaktury();
                                                KntAtrybut b2bId = knt.Atrybuty.AddNew();
                                                b2bId.DefAtrybut = defAtrybut;
                                                b2bId.ROSaveMode = 1;
                                                b2bId.Wartosc    = xmlBilling["id"].InnerText;
                                                knt.Kategoria    = Sesja.CreateObject("CDN.Kategorie").Item("Kat_KodOgolny='ALLEGRO MAJSTERKOWAN'");
                                                knt.Grupa        = "ALLEGRO MAJSTERKOWAN";
                                                Sesja.Save();
                                                podmiotId = knt.ID;
                                            }
                                        }
                                    }
                                    catch (Exception exPresta)
                                    {
                                        // eventLog.WriteEntry("Błąd przy tworzeniu Kontrahenta: " + orderId + Environment.NewLine + "" + exPresta, EventLogEntryType.Error, 0);

                                        throw;
                                    }



                                    reader.Close();
                                    reader.Dispose();

                                    conn.Close();


                                    DokumentHaMag dok = Sesja.CreateObject("CDN.DokumentyHaMag").AddNew();
                                    dok.Rodzaj       = 308000;
                                    dok.TypDokumentu = 308;


                                    var rNumerator = dok.Numerator;

                                    DefinicjaDokumentu dokDef = Sesja.CreateObject("CDN.DefinicjeDokumentow").Item("DDf_Symbol='RO'");
                                    rNumerator.DefinicjaDokumentu = dokDef;
                                    knt         = Sesja.CreateObject("CDN.Kontrahenci").Item("Knt_kntid=" + knt.ID);
                                    dok.Podmiot = knt;

                                    dok.WalutaSymbol = "PLN";

                                    dok.OdbEmail = xmlCustomer["email"].InnerText;
                                    dok.TypNB    = 2; /* 1 - Licz od netto, 2 -licz od brutto*/



                                    dok.OdbNazwa1            = ZbudujNazwe(xmlShipping["company"].InnerText, xmlShipping["firstname"].InnerText, xmlShipping["lastname"].InnerText).Nazwa1;
                                    dok.OdbNazwa2            = ZbudujNazwe(xmlShipping["company"].InnerText, xmlShipping["firstname"].InnerText, xmlShipping["lastname"].InnerText).Nazwa2;
                                    dok.OdbNazwa3            = ZbudujNazwe(xmlShipping["company"].InnerText, xmlShipping["firstname"].InnerText, xmlShipping["lastname"].InnerText).Nazwa3;
                                    dok.OdbAdres.Ulica       = xmlShipping["address1"].InnerText;
                                    dok.OdbAdres.NrDomu      = xmlShipping["address2"].InnerText;
                                    dok.OdbAdres.NrLokalu    = "";
                                    dok.OdbAdres.Poczta      = "";
                                    dok.OdbTelefon           = xmlShipping["phone"].InnerText ?? xmlShipping["phone_mobile"].InnerText;
                                    dok.OdbAdres.Miasto      = xmlShipping["city"].InnerText;
                                    dok.OdbAdres.KodPocztowy = xmlShipping["postcode"].InnerText;
                                    dok.OdbAdres.Kraj        = "Polska";
                                    //dok.OdbAdres.Wojewodztwo = xmlShipping["Region"].InnerText;
                                    DokAtrybut dostawa = dok.Atrybuty.AddNew();
                                    dostawa.Kod     = "METODADOSTAWY";
                                    dostawa.Wartosc = xmlCarrier["name"].InnerText;
                                    DokAtrybut platnosc = dok.Atrybuty.AddNew();
                                    platnosc.Kod     = "METODAPLATNOSCI";
                                    platnosc.Wartosc = orderXML["payment"].InnerText;

                                    DokAtrybut b2bIdDok = dok.Atrybuty.AddNew();
                                    b2bIdDok.Kod     = "B2BID";
                                    b2bIdDok.Wartosc = orderId;

                                    dok.NumerObcy = reference;
                                    // dok.MagazynZrodlowyID = int.Parse(orderContent.Key);

                                    Kategoria kategoria;
                                    if (orderXML["module"].InnerText == "allegro")
                                    {
                                        knt.Kategoria = Sesja.CreateObject("CDN.Kategorie").Item("Kat_KodOgolny='ALLEGRO MAJSTERKOWAN'");
                                        knt.Grupa     = "ALLEGRO MAJSTERKOWAN";
                                    }
                                    else
                                    {
                                        knt.Kategoria = Sesja.CreateObject("CDN.Kategorie").Item("Kat_KodOgolny='MAJSTERKOWANIE.EU'");
                                        knt.Grupa     = "MAJSTERKOWANIE.EU";
                                    }



                                    CDNBase.ICollection FormyPlatnosci = (CDNBase.ICollection)(Sesja.CreateObject("CDN.FormyPlatnosci", null));
                                    if (orderXML["module"].InnerText == "ps_cashondelivery" || orderXML["payment"].InnerText.IndexOf("collect_on_delivery") != -1)
                                    {
                                        dok.FormaPlatnosci = (OP_KASBOLib.FormaPlatnosci)FormyPlatnosci["FPl_FPlId=14"]; /*Pobranie IE*/
                                    }
                                    else
                                    {
                                        dok.FormaPlatnosci = (OP_KASBOLib.FormaPlatnosci)FormyPlatnosci["FPl_FPlId=13"];  /*Przedpłata IE*/
                                    }

                                    ICollection pozycje = dok.Elementy;

                                    foreach (XmlNode orderXmlElement in tmpNode["order_rows"])
                                    {
                                        ElementHaMag pozycja = pozycje.AddNew();
                                        int          TwrTwrId;
                                        if (Int32.TryParse(orderXmlElement["TwrTwrId"].InnerText, out TwrTwrId))
                                        {
                                            pozycja.TowarID = TwrTwrId;
                                        }
                                        else
                                        {
                                            pozycja.TowarID = Convert.ToInt32(getTwrIdException());
                                        }

                                        var product_price = orderXmlElement["unit_price_tax_incl"].InnerText.Replace(".", ",");
                                        pozycja.CenaT   = Convert.ToDecimal(product_price);
                                        pozycja.IloscJM = Convert.ToDouble(orderXmlElement["product_quantity"].InnerText);
                                    }

                                    ElementHaMag carrier = pozycje.AddNew();
                                    carrier.TowarID = Convert.ToInt32(getTwrIdCarrier());
                                    var total_shipping = orderXML["total_shipping"].InnerText.Replace(".", ",");
                                    carrier.CenaT   = Convert.ToDecimal(total_shipping);
                                    carrier.IloscJM = Convert.ToDouble(1);
                                    carrier.UstawNazweTowaru(xmlCarrier["name"].InnerText);
                                    carrier.WartoscZakupu = Convert.ToDecimal(total_shipping);



                                    error = false;
                                    Sesja.Save();
                                    eventLog.WriteEntry("Pomyślnie pobrano zamówienie nr:" + orderId + Environment.NewLine, EventLogEntryType.Information, 0);

                                    OznaczJakoPobrane(Convert.ToInt32(orderXML["id_optimaexportorders"].InnerText), Convert.ToInt32(orderXML["id"].InnerText));
                                }
                                catch (Exception exDokDef)
                                {
                                    eventLog.WriteEntry("Error 2 on order import: " + orderId + Environment.NewLine + exDokDef.ToString(), EventLogEntryType.Error, 0);
                                }
                            }
                            catch (Exception exPresta)
                            {
                                error = true;
                                eventLog.WriteEntry("Error on order import: " + orderId + Environment.NewLine + "dzieki tej opcji wystapienie bledu importu zamowienia nie powinno zabijac optimy" + exPresta, EventLogEntryType.Error, 0);
                                Wylogowanie();
                            }
                            Wylogowanie();
                        }
                        catch (Exception exPresta)
                        {
                            error = true;
                            eventLog.WriteEntry("Error 3 on order import: " + orderId + Environment.NewLine + Environment.NewLine + exPresta.ToString(), EventLogEntryType.Error, 0);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                eventLog.WriteEntry("Błąd ogólny:" + Environment.NewLine + exception.ToString(), EventLogEntryType.Error, 0);
            }
        }