Example #1
0
        public static void Zapis_PK()
        {
            CoreModule   cm  = CoreModule.GetInstance(Session);
            KsiegaModule ksm = KsiegaModule.GetInstance(Session);

            ProjectMZGM.Czynsze.CzynszeModule czy = Czynsze.CzynszeModule.GetInstance(Session);
            View zarzadca_view = czy.Zarzadcy.CreateView();
            var  zarzadca_cond = RowCondition.Empty;

            zarzadca_cond          &= new FieldCondition.In("Nieaktywny", false);
            zarzadca_view.Condition = zarzadca_cond;



            foreach (Zarzadca zarzadca in zarzadca_view)
            {
                Currency kwota_suma            = 0;
                Currency kwotaParagraf4260     = 0;
                Currency kwotaParagraf4300     = 0;
                Currency kwotaParagraf4270     = 0;
                Currency kwotaParagraf4270FR   = 0;
                Currency kwotaWoda             = 0;
                Currency kwotaScieki           = 0;
                Currency kwotaCO               = 0;
                Currency kwotaCWU              = 0;
                Currency kwotaSmieci           = 0;
                Currency kwotaKekspl           = 0;
                Currency kwotaKosztyZarz       = 0;
                Currency kwotaDomofon          = 0;
                Currency kwotaAntena           = 0;
                Currency kwotaWinda            = 0;
                Currency kwotaFunduszRemontowy = 0;

                View nieruchomosci = czy.Nieruchomosci.WgZarzadca[zarzadca].CreateView();
                foreach (Nieruchomosc nieruchomosc in nieruchomosci)
                {
                    kwotaWoda             += nieruchomosc.StawkaWoda;
                    kwotaScieki           += nieruchomosc.StawkaScieki;
                    kwotaCO               += nieruchomosc.StawkaCo;
                    kwotaCWU              += nieruchomosc.StawkaCWU;
                    kwotaSmieci           += (nieruchomosc.StawkaSmieci + nieruchomosc.StawkaSmieciNsel + nieruchomosc.StawkaSmieciSel);
                    kwotaKekspl           += nieruchomosc.StawkaKEkspl;
                    kwotaKosztyZarz       += nieruchomosc.StawkaWynZarz;
                    kwotaDomofon          += nieruchomosc.StawkaDomofon;
                    kwotaAntena           += nieruchomosc.StawkaAntena;
                    kwotaWinda            += nieruchomosc.StawkaWinda;
                    kwotaFunduszRemontowy += nieruchomosc.StawkaFunduszRemontowy;

                    kwotaParagraf4260   += (nieruchomosc.StawkaWoda + nieruchomosc.StawkaCo + nieruchomosc.StawkaCWU);
                    kwotaParagraf4270   += (nieruchomosc.StawkaDomofon + nieruchomosc.StawkaWinda + nieruchomosc.StawkaAntena);
                    kwotaParagraf4300   += (nieruchomosc.StawkaScieki + nieruchomosc.StawkaKEkspl + nieruchomosc.StawkaWynZarz + nieruchomosc.StawkaSmieci + nieruchomosc.StawkaSmieciNsel + nieruchomosc.StawkaSmieciSel);
                    kwotaParagraf4270FR += nieruchomosc.StawkaFunduszRemontowy;

                    kwota_suma += (nieruchomosc.StawkaWoda + nieruchomosc.StawkaCo + nieruchomosc.StawkaCWU) + (nieruchomosc.StawkaDomofon + nieruchomosc.StawkaWinda + nieruchomosc.StawkaAntena) + (nieruchomosc.StawkaScieki + nieruchomosc.StawkaKEkspl + nieruchomosc.StawkaWynZarz + nieruchomosc.StawkaSmieci + nieruchomosc.StawkaSmieciNsel + nieruchomosc.StawkaSmieciSel) + nieruchomosc.StawkaFunduszRemontowy;


                    View rozliczenia = czy.Rozliczenia.CreateView();
                    var  cond        = RowCondition.Empty;
                    cond &= new FieldCondition.Equal("AdresPelnyNieruchomosci", nieruchomosc.AdresPelnyNieruchomosci);
                    cond &= new FieldCondition.GreaterEqual("Data", Date.Today.FirstDayMonth());
                    cond &= new FieldCondition.LessEqual("Data", Date.Today.LastDayMonth());
                    rozliczenia.Condition = cond;
                    Currency kwota_suma2            = 0;
                    Currency kwotaParagraf42602     = 0;
                    Currency kwotaParagraf43002     = 0;
                    Currency kwotaParagraf42702     = 0;
                    Currency kwotaParagraf4270FR2   = 0;
                    Currency kwotaWoda2             = 0;
                    Currency kwotaScieki2           = 0;
                    Currency kwotaCO2               = 0;
                    Currency kwotaCWU2              = 0;
                    Currency kwotaSmieci2           = 0;
                    Currency kwotaKekspl2           = 0;
                    Currency kwotaKosztyZarz2       = 0;
                    Currency kwotaDomofon2          = 0;
                    Currency kwotaAntena2           = 0;
                    Currency kwotaWinda2            = 0;
                    Currency kwotaFunduszRemontowy2 = 0;

                    foreach (Rozliczenie roz in rozliczenia)
                    {
                        kwotaWoda2             += roz.WodaKorekta;
                        kwotaScieki2           += roz.SciekiKorekta;
                        kwotaCO2               += roz.CoKorekta;
                        kwotaCWU2              += roz.CWUKorekta;
                        kwotaSmieci2           += (roz.SmieciKorekta + roz.SmieciSelKorekta + roz.SmieciNselKorekta);
                        kwotaKekspl2           += roz.KEksplKorekta;
                        kwotaKosztyZarz2       += roz.WynZarzKorekta;
                        kwotaDomofon2          += roz.DomofonKorekta;
                        kwotaAntena2           += roz.AntenaKorekta;
                        kwotaWinda2            += roz.WindaKorekta;
                        kwotaFunduszRemontowy2 += roz.FunduszRemontowyKorekta;

                        kwotaParagraf42602   += (roz.WodaKorekta + roz.CoKorekta + roz.CWUKorekta);
                        kwotaParagraf42702   += (roz.DomofonKorekta + roz.WindaKorekta + roz.AntenaKorekta);
                        kwotaParagraf43002   += (roz.SciekiKorekta + roz.KEksplKorekta + roz.WynZarzKorekta + roz.SmieciKorekta + roz.SmieciSelKorekta + roz.SmieciNselKorekta);
                        kwotaParagraf4270FR2 += roz.FunduszRemontowyKorekta;

                        kwota_suma2 += (roz.WodaKorekta + roz.CoKorekta + roz.CWUKorekta) + (roz.DomofonKorekta + roz.WindaKorekta + roz.AntenaKorekta) + (roz.SciekiKorekta + roz.KEksplKorekta + roz.WynZarzKorekta + roz.SmieciKorekta + roz.SmieciSelKorekta + roz.SmieciNselKorekta) + roz.FunduszRemontowyKorekta;
                    }

                    kwota_suma            += kwota_suma2;
                    kwotaParagraf4260     += kwotaParagraf42602;
                    kwotaParagraf4300     += kwotaParagraf43002;
                    kwotaParagraf4270     += kwotaParagraf42702;
                    kwotaParagraf4270FR   += kwotaParagraf4270FR2;
                    kwotaWoda             += kwotaWoda2;
                    kwotaScieki           += kwotaScieki2;
                    kwotaCO               += kwotaCO2;
                    kwotaCWU              += kwotaCWU2;
                    kwotaSmieci           += kwotaSmieci2;
                    kwotaKekspl           += kwotaKekspl2;
                    kwotaKosztyZarz       += kwotaKosztyZarz2;
                    kwotaDomofon          += kwotaDomofon2;
                    kwotaAntena           += kwotaAntena2;
                    kwotaWinda            += kwotaWinda2;
                    kwotaFunduszRemontowy += kwotaFunduszRemontowy2;
                }

                if (kwota_suma < 1)
                {
                    continue;
                }

                using (ITransaction trans = Session.Logout(true))
                {
                    PKEwidencja pk = new PKEwidencja();
                    cm.DokEwidencja.AddRow(pk);
                    DefinicjaDokumentu definicja = cm.DefDokumentow.WgSymbolu["PKWS"];
                    pk.Definicja     = definicja;
                    pk.Opis          = "PK należności podstawowe " + Date.Today.ToString() + ".";
                    pk.DataDokumentu = Date.Today;
                    string nazwa = zarzadca.NazwaZarzadcy.ToString();
                    pk.NumerDokumentu = "PKWS " + nazwa;
                    OkresObrachunkowy okres = ksm.OkresyObrach.WgSymbolu[Date.Today.Year.ToString()];
                    if (zarzadca.KontoZarzadca3 != string.Empty)
                    {
                        Dekret dekret = new Dekret(okres, pk);
                        ksm.Dziennik.AddRow(dekret);
                        dekret.Data = Date.Today;
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoZarzadca3, "WN", kwota_suma, nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoParagraf4260, "MA", kwotaParagraf4260, "Paragraf 4260 " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoParagraf4300, "MA", kwotaParagraf4300, "Paragraf 4300 " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoParagraf4270, "MA", kwotaParagraf4270, "Paragraf 4270 " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoParagraf4270FR, "MA", kwotaParagraf4270FR, "Paragraf 4270FR " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoWoda4, "WN", kwotaWoda, "WODA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoWoda5, "WN", kwotaWoda, "WODA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoScieki4, "WN", kwotaScieki, "ŚCIEKI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoScieki5, "WN", kwotaScieki, "ŚCIEKI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoCO4, "WN", kwotaCO, "CO " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoCO5, "WN", kwotaCO, "CO " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoCWU4, "WN", kwotaCWU, "CWU " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoCWU5, "WN", kwotaCWU, "CWU " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoSmieci4, "WN", kwotaSmieci, "ŚMIECI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoSmieci5, "WN", kwotaSmieci, "ŚMIECI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoKekspl4, "WN", kwotaKekspl, "KOSZTY EKSPLOATACJI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoKekspl5, "WN", kwotaKekspl, "KOSZTY EKSPLOATACJI " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoKosztyZarz4, "WN", kwotaKosztyZarz, "KOSZTY ZARZĄDU " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoKosztyZarz5, "WN", kwotaKosztyZarz, "KOSZTY ZARZĄDU " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoDomofon4, "WN", kwotaDomofon, "DOMOFON " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoDomofon5, "WN", kwotaDomofon, "DOMOFON " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoAntena4, "WN", kwotaAntena, "ANTENA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoAntena5, "WN", kwotaAntena, "ANTENA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoWinda4, "WN", kwotaWinda, "WINDA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoWinda5, "WN", kwotaWinda, "WINDA " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoFunduszRem4, "WN", kwotaFunduszRemontowy, "FUNDUSZ REMONTOWY " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoFunduszRem5, "WN", kwotaFunduszRemontowy, "FUNDUSZ REMONTOWY " + nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoZarzadca3, "MA", kwota_suma, nazwa, nazwa);
                        NowyZapis(ksm, dekret, okres, zarzadca.KontoZarzadca4, "MA", kwota_suma, nazwa, nazwa);
                    }
                    trans.Commit();
                }
            }
        }
Example #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();
            }
        }