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 void przeliczajIlośćZasobu() { if (/*(*/ (this.Relacja.PrzenoszenieIlości != SposobPrzenoszeniaIlosci.TylkoInicjuje) && //(this.Relacja.Nadrzedny.AccessRight != AccessRights.Denied)) && (this.Relacja.Nadrzedny.KierunekMagazynu == this.Relacja.Nadrzedny.KierunekMagazynu)) { PozycjaDokHandlowego nadrzedna = this.Nadrzedna; nadrzedna.przeliczIlośćZasobu(); foreach (PozycjaRelacjiHandlowej handlowej in nadrzedna.NadrzędneRelacje) { handlowej.przeliczajIlośćZasobu(); } } }
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; */ }
protected static bool Exists(TypRelacjiHandlowej typ, PozycjaDokHandlowego nadrzedna, PozycjaDokHandlowego podrzedna) { foreach (PozycjaRelacjiHandlowej handlowej in nadrzedna.PodrzędneRelacje) { if (handlowej.Relacja.Typ == typ) { foreach (PozycjaDokHandlowego handlowego in handlowej.Podrzedna.wyszukajMagazynowe()) { if (podrzedna == handlowego) { return(true); } } } } return(false); }
/* * public PozycjeWRelacji this[string nazwa] * { * get * { * return new PozycjeWRelacji(this, this.st, nazwa, this.pozycja); * } * } */ #endregion #region Methods protected PozycjeSubTable(PozycjaDokHandlowego pozycja, PozRelHandlowej relacje) { this.pozycja = pozycja; this.st = relacje; }
// Methods internal Podrzędne(PozycjaDokHandlowego pozycja, PozRelHandlowej st) : base(pozycja, st) { }
internal Nadrzędne(PozycjaDokHandlowego pozycja, PozRelHandlowej relacje) : base(pozycja, relacje) { }
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); }