protected PozycjaRelacjiHandlowej(RelacjaHandlowa relacja, int nadrzednaident, int podrzednaident, DokumentHandlowy podrzednydok, bool dodatkowa) { this.groupStawka = new StawkaVat(); this.groupSuma = new BruttoNetto(); if (relacja == null) { throw new RequiredException(this, "Relacja"); } //base.CheckAccessDenied(relacja); if (nadrzednaident == 0) { throw new RequiredException(this, "NadrzednaIdent"); } if (podrzednaident == 0) { throw new RequiredException(this, "PodrzednaIdent"); } if (podrzednydok == null) { throw new RequiredException(this, "PodrzednyDok"); } this.initializer(); this.Relacja = relacja; this.NadrzednaIdent = nadrzednaident; this.PodrzednaIdent = podrzednaident; this.PodrzednyDok = podrzednydok; this.Dodatkowa = dodatkowa; }
public PozycjaRelacjiHandlowej(RelacjaHandlowa relacja, PozycjaDokHandlowego nadrzędna, PozycjaDokHandlowego podrzędna, bool dodatkowa) : this(relacja, nadrzędna.Ident, podrzędna.Ident, relacja.Podrzedny, dodatkowa) { this.KasujPustyPodrzędny = true; //base.baseNadrzednyDok = nadrzędna.Dokument; this.NadrzednyDok = nadrzędna.Dokument; }
internal override DokumentHandlowy GetDokument(RelacjaHandlowa rel, string name) { if (rel.Definicja.ZNadrzednego.Nazwa == name) { return(rel.Podrzedny); } return(null); }
internal void PrzeliczZRelacji(RelacjaHandlowa relacja, bool innerDelete, bool KasujPusty) { throw new NotImplementedException("PozycjaDokHandlowego.PrzeliczZRelacji(..)"); /* * IlośćWartość zero = IlośćWartość.Zero; * foreach (PozycjaRelacjiHandlowej handlowej in this.NadrzędneRelacje) * { * if (((handlowej.Relacja.Definicja == relacja.Definicja) && (handlowej.Podrzedna == this)) && !RowHelper.CheckRowStatus(handlowej, new RowStatus[] { RowStatus.Deleting })) * { * zero += handlowej.IlośćWartość; * } * } * if (zero.IsZero) * { * if (KasujPusty && (!jestKorekta(base.Dokument.Kategoria) || innerDelete)) * { * if (!RowHelper.CheckRowStatus(this, new RowStatus[] { RowStatus.Deleting })) * { * base.Delete(); * } * base.Dokument.rejestrujKasujPusty(); * } * else if (relacja.PrzenoszenieIlości == SposobPrzenoszeniaIlosci.IlośćIWartość) * { * this.IlośćWartość -= this.IlośćWartość; * } * else * { * this.zmianaIlości(Quantity.Zero, WyliczenieCeny.ZmianaIlościPozycji); * this.WyliczWartosc(); * } * } * else if (!RowHelper.CheckRowStatus(this, new RowStatus[] { RowStatus.Deleting })) * { * if (((relacja.PrzenoszenieIlości == SposobPrzenoszeniaIlosci.IlośćIWartość) || (relacja.PrzenoszenieIlości == SposobPrzenoszeniaIlosci.UslugiWgWartosci)) || (relacja.VatWgPodrzednego && (relacja.PrzenoszenieIlości == SposobPrzenoszeniaIlosci.IlośćICena))) * { * this.IlośćWartość = new IlośćWartość(zero.Ilość, this.PrzeliczWalutaPozycja(zero.Wartość, relacja.Nadrzedny, null)); * this.KorektaCeny = relacja.Definicja.Zachowanie.InicjalizatorWalutyInfo.WalutaPozycji != ZrodloWaluty.ZKartyKontrahenta; * } * else if (relacja.PrzenoszenieIlości == SposobPrzenoszeniaIlosci.IlośćICena) * { * this.zmianaIlości(zero.Ilość, WyliczenieCeny.ZmianaIlościPozycji); * this.KorektaCeny = true; * this.WyliczWartosc(); * } * else * { * this.Ilosc = zero.Ilość; * } * } * base.Session.Events.Remove(new BusEventHandler(this.PrzeliczDoRelacji)); */ }
public PozycjaRelacjiHandlowej UtwórzPodrzędną(RelacjaHandlowa relacja, PozycjaDokHandlowego nadrzędna) { throw new NotImplementedException("DefRelacjiHandlowej.UtwórzPodrzędną(RelacjaHandlowa relacja, PozycjaDokHandlowego nadrzędna)"); /* * PozycjaDokHandlowego row = new PozycjaDokHandlowego(relacja.Podrzedny); * base.Module.PozycjeDokHan.AddRow(row); * if (relacja.Typ == TypRelacjiHandlowej.Korekta) * { * row.Wspolczynnik = nadrzędna.Wspolczynnik; * } * PozycjaRelacjiHandlowej handlowej = new PozycjaRelacjiHandlowej(relacja, nadrzędna, row, false); * base.Module.PozRelHandlowej.AddRow(handlowej); * relacja.Konfiguruj(handlowej); * return handlowej; */ }
internal static bool Exists(PozycjaDokHandlowego nadrzedna, PozycjaDokHandlowego podrzedna) { return(RelacjaHandlowa.Exists(TypRelacjiHandlowej.Kopiowania, nadrzedna, podrzedna)); }
internal void KopiujZ(RelacjaHandlowa relacja, PozycjaDokHandlowego nadrzędna, bool zIlością, bool zCeną, SposobKopiowaniaPozycji skp, bool zCenąPoRabacie, bool wymusKopiowanieDostawy) { throw new NotImplementedException("PozycjaDokHandlowego.KopiujZ..."); /* * if (nadrzędna.Towar != null) * { * decimal netto = base.Suma.Netto; * if (base.Towar != nadrzędna.Towar) * { * SprawdzTowarMagazyn(this, nadrzędna.Towar); * InwentaryzacjaInfo.InwentaryzacjaVerifier.Verify(this, nadrzędna.Towar); * base.Towar = nadrzędna.Towar; * this.InicjalizujDefinicjaPowstaniaObowiazkuVAT(nadrzędna); * netto = 79228162514264337593543950335M; * base.ProdukcjaInfo.UstawTechnologia(nadrzędna.Towar); * } * base.KrajowaStawkaVAT = nadrzędna.KrajowaStawkaVAT; * base.KosztDodatkowy = nadrzędna.KosztDodatkowy; * this.InicjalizujDefinicjaStawki(new InicjalizatorStawkiVatParams(this, relacja, nadrzędna)); * if (nadrzędna.UmowaInfo.IsUmowa() && nadrzędna.Dokument.CenaNaPodrzedny) * { * base.Rabat = nadrzędna.Rabat; * if (base.Dokument.Korekta) * { * base.KorektaCeny = true; * } * } * if (base.Dokument.Definicja.ZmianaMarzy != ZmianaMarzy.Zerowa) * { * base.Rabat = nadrzędna.Rabat; * } * if (zCeną) * { * if (base.Dokument.Definicja.ZmianaMarzy != ZmianaMarzy.Zerowa) * { * base.RabatCeny = this.PrzeliczWalutaPozycja(nadrzędna.RabatCeny, nadrzędna.Dokument, null).Round(this.PrecyzjaCeny); * } * base.Cena = this.PrzeliczWalutaPozycja(nadrzędna.Cena, nadrzędna.Dokument, null).Round(this.PrecyzjaCeny); * if (zCenąPoRabacie) * { * this.CenaPoRabacie = this.PrzeliczWalutaPozycja(nadrzędna.CenaPoRabacie, nadrzędna.Dokument, null).Round(this.PrecyzjaCeny); * } * } * if ((!wymusKopiowanieDostawy && (nadrzędna.KierunekMagazynu == KierunekPartii.Rozchód)) && ((nadrzędna.Dokument.TypPartii == TypPartii.ZamówionyZasób) && nadrzędna.Dokument.Definicja.UstawieniaWskazaniePartii.DoZamowien)) * { * base.Dostawa = null; * RelacjeGrupDostw.Delete(base.RelacjePartii); * } * else if ((relacja != null) && relacja.Definicja.Zachowanie.ZasobyZNadrzednego) * { * if (base.Dostawa == null) * { * base.Dostawa = nadrzędna; * } * } * else * { * if (base.Dostawa != nadrzędna.Dostawa) * { * netto = 79228162514264337593543950335M; * } * base.Dostawa = nadrzędna.Dostawa; * RelacjeGrupDostw.Copy(nadrzędna.RelacjePartii, this, true); * } * if (!string.IsNullOrEmpty(nadrzędna.KodCN)) * { * base.KodCN = nadrzędna.KodCN; * } * else * { * base.KodCN = nadrzędna.Towar.KodCN; * } * if (!string.IsNullOrEmpty(nadrzędna.KrajPrzeznaczenia)) * { * base.KrajPrzeznaczenia = nadrzędna.KrajPrzeznaczenia; * } * if (!string.IsNullOrEmpty(nadrzędna.KrajPochodzenia)) * { * base.KrajPochodzenia = nadrzędna.KrajPochodzenia; * } * base.RodzajTransakcji = nadrzędna.RodzajTransakcji; * base.NumerArkusza = nadrzędna.NumerArkusza; * base.NumerWArkuszu = nadrzędna.NumerWArkuszu; * if (zIlością) * { * bool flag = false; * Jednostka jednostka = nadrzędna.standardowaJednostka(); * Jednostka jednostka2 = this.standardowaJednostka(); * if (jednostka == jednostka2) * { * base.Ilosc = nadrzędna.Ilosc; * if (base.Dokument.Definicja.RezerwowacTowar) * { * base.IloscRezerwowana = nadrzędna.Ilosc; * } * } * else * { * Quantity quantity = this.Towar.PrzeliczIlość(jednostka2, nadrzędna.Ilosc, this, true); * base.Ilosc = quantity; * if (base.Dokument.Definicja.RezerwowacTowar) * { * base.IloscRezerwowana = quantity; * } * flag = true; * } * if (base.Dokument.Definicja.ProdukcjaInfo.ObslugaTechnologii) * { * this.ustawIlośćMagazynu(nadrzędna.IloscMagazynu); * } * else * { * base.IloscMagazynu = nadrzędna.IloscMagazynu; * } * switch (skp) * { * case SposobKopiowaniaPozycji.WartościStatystycznej: * if (this.ustawSuma(nadrzędna.WartośćStatystyczna, nadrzędna.WartośćStatystyczna)) * { * flag = true; * } * break; * * case SposobKopiowaniaPozycji.WartościFakturowej: * if (this.ustawSuma(nadrzędna.WartośćFakturowa, nadrzędna.WartośćFakturowa)) * { * flag = true; * } * break; * * case SposobKopiowaniaPozycji.WartościMagazynowej: * if (this.ustawSuma(nadrzędna.WartośćMagazynowa, nadrzędna.WartośćMagazynowa)) * { * flag = true; * } * break; * * default: * base.WartoscCy = this.PrzeliczWalutaPozycja(nadrzędna.WartoscCy, nadrzędna.Dokument, null); * base.KosztFakturowy = nadrzędna.KosztFakturowy; * base.KosztStatystyczny = nadrzędna.KosztStatystyczny; * base.KosztMagazynowy = nadrzędna.KosztMagazynowy; * break; * } * if (flag) * { * this.wyliczCenę(true); * } * if (base.IloscZasobuValue != nadrzędna.IloscZasobuValue) * { * base.IloscZasobuValue = nadrzędna.IloscZasobuValue; * netto = 79228162514264337593543950335M; * } * base.IloscUzupelniajaca = nadrzędna.IloscUzupelniajaca; * base.Wspolczynnik = nadrzędna.Wspolczynnik; * } * if (nadrzędna.MasaNetto.IsZero) * { * base.MasaNetto = (Quantity)(this.Towar.MasaNetto * nadrzędna.IloscMagazynu.Value); * } * else * { * base.MasaNetto = nadrzędna.MasaNetto; * } * if (nadrzędna.MasaBrutto.IsZero) * { * base.MasaBrutto = (Quantity)(this.Towar.MasaBrutto * nadrzędna.IloscMagazynu.Value); * } * else * { * base.MasaBrutto = nadrzędna.MasaBrutto; * } * if ((relacja != null) && (relacja.Definicja.Zachowanie.ZrodloNazwyTowaru == ZrodloDanychPrzyPrzeksztalcaniu.ZDefinicjiPodrzednego)) * { * this.InicjalizujNazwa(); * } * else * { * this.ustawPełnąNazwę(nadrzędna.PełnaNazwa); * } * if (relacja != null) * { * if (relacja.Definicja.Zachowanie.KopiujCechyPozycji) * { * nadrzędna.Features.CopyTo(base.Features, false); * } * } * else * { * nadrzędna.Features.CopyTo(base.Features, false); * } * if (zIlością) * { * if (skp == SposobKopiowaniaPozycji.Standardowo) * { * base.Suma.KopiujZ(nadrzędna.Suma); * if (base.Dokument.KursWaluty != nadrzędna.Dokument.KursWaluty) * { * this.WyliczWartosc(true); * } * } * this.RejestrujPrzeliczWartosc(); * } * if (this.DefinicjaStawki != nadrzędna.DefinicjaStawki) * { * this.UstawWartośćCy(base.WartoscCy, true, false); * } * base.Urzadzenie = nadrzędna.Urzadzenie; * base.SchematOpakowan = nadrzędna.SchematOpakowan; * if ((base.Dokument.Definicja.DefinicjaEwidencji != null) && (base.Dokument.Definicja.DefinicjaEwidencji.Typ == TypDokumentu.FWUENabyciaNaliczonyEwidencja)) * { * base.NabywcaPodatnik = false; * } * else * { * base.NabywcaPodatnik = nadrzędna.NabywcaPodatnik; * } * if (netto != base.Suma.Netto) * { * this.RejestrujMagazyn(); * } * if (base.Dokument.JestUnijny) * { * base.RodzajTransakcji = ((base.Dokument.RodzajTransakcji != KodRodzajuTransakcji.Brak) && (base.Dokument.RodzajTransakcji != KodRodzajuTransakcji.Różne)) ? base.Dokument.RodzajTransakcji : nadrzędna.RodzajTransakcji; * } * this.RejestrujKopiowanie(); * } */ }
internal void KopiujZ(RelacjaHandlowa relacja, PozycjaDokHandlowego nadrzędna, bool zIlością) { this.KopiujZ(relacja, nadrzędna, zIlością, true, SposobKopiowaniaPozycji.Standardowo, false, false); }
internal abstract DokumentHandlowy GetDokument(RelacjaHandlowa rel, string name);