Exemple #1
0
 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;
 }
Exemple #2
0
 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));
             */
        }
Exemple #5
0
        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;
             */
        }
Exemple #6
0
 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);