コード例 #1
0
        public void GenerujEwidencjeSprzedazy()
        {
            CoreModule         coreModule         = CoreModule.GetInstance(Session);
            EwidencjaVatModule ewidencjaVatModule = EwidencjaVatModule.GetInstance(Session);
            KsiegaModule       kasaModule         = KsiegaModule.GetInstance(Session);

            using (ITransaction t = Session.Logout(true))
            {
                foreach (var kontrahent in Kontrahenci)
                {
                    // Utworzenie ewidencji sprzedaży i dodanie do tabeli ewidencji
                    SprzedazEwidencja ewidencja = new SprzedazEwidencja();
                    coreModule.DokEwidencja.AddRow(ewidencja);

                    // Ustawienie dat
                    ewidencja.DataWplywu    = Date.Today;
                    ewidencja.DataDokumentu = Date.Today;
                    ewidencja.DataOperacji  = Date.Today;

                    // Ustawienie numeru dokumentu, podmiotu i opisu
                    ewidencja.NumerDokumentu = "FV/2007/123456";
                    ewidencja.Podmiot        = kontrahent;
                    ewidencja.Opis           = "Faktura sprzedaży";

                    // Dodanie elementów VAT
                    ElemEwidencjiVATSprzedaz elemVAT = new ElemEwidencjiVATSprzedaz(ewidencja);
                    ewidencjaVatModule.EleEwidencjiVATT.AddRow(elemVAT);
                    elemVAT.DefinicjaStawki = coreModule.DefStawekVat[StatusStawkiVat.Opodatkowana, new Percent(0.22m), false];
                    elemVAT.Netto           = 1000m;

                    // Płatności generują się automatycznie po każdej zmianie wartości ewidencji

                    // Dodanie opisu analitycznego
                    ElementOpisuEwidencji elemOpisu = new ElementOpisuEwidencji(ewidencja);
                    kasaModule.OpisAnalityczny.AddRow(elemOpisu);
                    elemOpisu.Wymiar = "Przychody";
                    elemOpisu.Symbol = "701-0";
                    elemOpisu.Kwota  = 1000m;
                }

                t.Commit();
            }
        }
コード例 #2
0
        public void TworzenieDokumentu()
        {
            new Soneta.Start.Loader()
            {
                WithExtensions = true
            }.Load();
            //using (Session session = BusApplication.Instance["Firma demo"].Login(false, "Administrator", "").CreateSession(false, false))
            using (Session session = Session.Login.CreateSession(false, false))
            {
                CRMModule  cm    = CRMModule.GetInstance((ISessionable)session);
                CoreModule corem = CoreModule.GetInstance((ISessionable)session);

                using (ITransaction transaction = session.Logout(true))
                {
                    Date today = Date.Today;
                    int  num1  = 1;
                    for (int i = 24204; i <= 1000000; ++i)
                    {
                        string numerdodatkowy = Convert.ToString(i);
                        if (corem.DokEwidencja.WgDodatkowego[numerdodatkowy].IsEmpty)
                        {
                            num1 = i;
                            break;
                        }
                    }

                    int idOstatniejFaktury         = int.Parse(this.IleFaktur());
                    int idFaktury                  = num1;
                    int idOstatniejFakturyZZakresu = 0;
                    int idPierwszejFakturyZZakresu = 0;

                    for (int i = 24204; i <= idOstatniejFaktury; ++i)
                    {
                        TraceInfo.WriteProgress("id: " + i);
                        Faktura faktura1     = new Faktura(i);
                        Date    date         = faktura1.DataFaktury;
                        Date    zakresOdDnia = Convert.ToDateTime("01.02.2021");
                        Date    zakresDoDnia = Convert.ToDateTime("01.03.2021");
                        if (date == zakresOdDnia)
                        {
                            idPierwszejFakturyZZakresu = i;
                            break;
                        }
                    }

                    for (int i = idPierwszejFakturyZZakresu; i <= idOstatniejFaktury; ++i)
                    {
                        TraceInfo.WriteProgress("id: " + i);
                        Faktura faktura1     = new Faktura(i);
                        Date    date         = faktura1.DataFaktury;
                        Date    zakresOdDnia = Convert.ToDateTime("01.02.2021");
                        Date    zakresDoDnia = Convert.ToDateTime("01.03.2021");
                        if (date == zakresDoDnia)
                        {
                            idOstatniejFakturyZZakresu = --i;
                            break;
                        }
                    }

                    idFaktury = idPierwszejFakturyZZakresu;
                    int progressBar = idOstatniejFakturyZZakresu - idPierwszejFakturyZZakresu;
                    int j           = 0;

                    for (int index = idPierwszejFakturyZZakresu; index <= idOstatniejFakturyZZakresu; ++index)
                    {
                        string numerdodatkowy = Convert.ToString(index);


                        TraceInfo.SetProgressBar(j / idOstatniejFaktury); /// ProgressBar
                        j++;

                        TraceInfo.WriteProgress("FV: " + numerdodatkowy);


                        if (corem.DokEwidencja.WgDodatkowego[numerdodatkowy].IsEmpty)
                        {
                            Faktura  faktura  = new Faktura(index);
                            Customer customer = null;
                            try
                            {
                                customer = new Customer(new Zamowienie(faktura.IdOrder).IdCustomer);
                            }
                            catch (Exception e)
                            {
                            }

                            string idFakturyPresta = Convert.ToString(index);
                            ///string numerFakturyPresta = faktura.Number.ToString(this.fmt);

                            string numerFakturyPresta = idFaktury.ToString(this.fmt);

                            SprzedazEwidencja sprzedazEwidencja = new SprzedazEwidencja();
                            corem.DokEwidencja.AddRow((Row)sprzedazEwidencja);
                            DefinicjaDokumentu definicjaDokumentu = corem.DefDokumentow.WgSymbolu["SPT"]; /// Pobieranie serii dokumentu już ustawionego np: FVS itp ...

                            sprzedazEwidencja.Definicja = definicjaDokumentu;



                            //sprzedazEwidencja.DomyślnaKasa.SposobZaplaty.Typ = Soneta.Kasa.TypySposobowZaplaty.Przelew;

                            string kod = "!INCYDENTALNY";
                            if (customer != null)
                            {
                                if (customer.Imie != null || customer.Nazwisko != null)
                                {
                                    kod = customer.Imie + " " + customer.Nazwisko;
                                }
                            }

                            if (kod.Length >= 19)
                            {
                                kod = kod.Remove(17);
                            }

                            Kontrahent kontrahent      = cm.Kontrahenci.WgKodu[kod];
                            Kontrahent kontrahentFirma = (Kontrahent)null;

                            if (customer != null)
                            {
                                if (customer.Nip != "" && customer.Nip != null)
                                {
                                    kontrahentFirma = cm.Kontrahenci.WgNIP[customer.Nip].FirstOrDefault <Kontrahent>();
                                }
                            }

                            if (kontrahentFirma == null)
                            {
                                if (kontrahent == null)
                                {
                                    if (customer.Nip != "")
                                    {
                                        Kontrahent kontrahentNowy = new Kontrahent();
                                        cm.Kontrahenci.AddRow((Row)kontrahentNowy);
                                        //string str3 = kod.Length >= 17 ? customer.Company : customer.Company.Remove(17);
                                        if (kod.Length >= 19)
                                        {
                                            kod = kod.Remove(17);
                                        }
                                        kontrahentNowy.Kod        = kod;
                                        kontrahentNowy.Nazwa      = customer.Company;
                                        kontrahentNowy.NIP        = customer.Nip;
                                        sprzedazEwidencja.Podmiot = (IPodmiot)kontrahentNowy;
                                    }
                                    else
                                    {
                                        Kontrahent kontrahentNowy = new Kontrahent();
                                        cm.Kontrahenci.AddRow((Row)kontrahentNowy);
                                        if (kod.Length >= 19)
                                        {
                                            kod = kod.Remove(17);
                                        }
                                        kontrahentNowy.Kod        = kod;
                                        kontrahentNowy.Nazwa      = kod;
                                        sprzedazEwidencja.Podmiot = (IPodmiot)kontrahentNowy;
                                    }
                                }
                                else
                                {
                                    sprzedazEwidencja.Podmiot = (IPodmiot)kontrahent;
                                }
                            }
                            else
                            {
                                sprzedazEwidencja.Podmiot = (IPodmiot)kontrahentFirma;
                            }


                            sprzedazEwidencja.DataDokumentu  = faktura.DataFaktury;
                            sprzedazEwidencja.DataEwidencji  = today;
                            sprzedazEwidencja.DataWplywu     = today;
                            sprzedazEwidencja.NumerDokumentu = "#FV" + numerFakturyPresta + "/" + Convert.ToString(faktura.DataFaktury.Year);

                            sprzedazEwidencja.NumerDodatkowy = idFakturyPresta;
                            //sprzedazEwidencja.Wartosc = (Soneta.Types.Currency)faktura.WartoscBrutto;

                            sprzedazEwidencja.PodlegaVAT = true;
                            //sprzedazEwidencja.DataZaewidencjonowania = faktura.DataFaktury;
                            //sprzedazEwidencja.Wartosc = faktura.WartoscBrutto;
                            //sprzedazEwidencja.NagEwidencjiVAT.Ewidencja.Wartosc = faktura.WartoscBrutto;
                            sprzedazEwidencja.NagEwidencjiVAT.Ewidencja.Wartosc      = faktura.WartoscBrutto;
                            sprzedazEwidencja.NagEwidencjiVAT.DataZaewidencjonowania = faktura.DataFaktury;


                            sprzedazEwidencja.Stan = StanEwidencji.Bufor;

                            transaction.CommitUI();
                            ++num1;
                            ++idFaktury;
                        }
                    }
                }
                session.Save();
            }
        }