public void setMandatoryFields(boolean bMandatoryI) {
    super.setMandatoryFields(bMandatoryI);

    wdfPreisgueltigkeitsanzeigeab.setMandatoryField(bMandatoryI);
    wifArtikel.getWtfIdent().setMandatoryField(bMandatoryI);
    wnfMenge.setMandatoryField(bMandatoryI);
    wnfRabattsatz.setMandatoryField(bMandatoryI);

    // wnfBerechneterpreis.setMandatoryField(bMandatoryI);
  }
  public KundesokoDto components2kundesokoDto(KundesokoDto kundesokoDtoI) throws Throwable {
    super.components2kundesokoDto(kundesokoDtoI);

    kundesokoDtoI.setArtgruIId(null);
    kundesokoDtoI.setArtikelIId(wifArtikel.getArtikelDto().getIId());

    if (wtfKndArtBez != null) {
      kundesokoDtoI.setCKundeartikelbez(wtfKndArtBez.getText());
      kundesokoDtoI.setCKundeartikelzbez(wtfKndArtZBez.getText());
    }

    kundesokoDtoI.setBWirktNichtFuerPreisfindung(wcbWirktNichtInVerkaufspreisfindung.getShort());

    return kundesokoDtoI;
  }
  protected void eventItemchanged(EventObject eI) throws Throwable {
    super.eventItemchanged(eI);
    ItemChangedEvent e = (ItemChangedEvent) eI;

    if (e.getID() == ItemChangedEvent.GOTO_DETAIL_PANEL) {

      if (e.getSource().equals(wifArtikel)) {

        wifArtikel.setArtikelDto(
            DelegateFactory.getInstance()
                .getArtikelDelegate()
                .artikelFindByPrimaryKey(wifArtikel.getArtikelDto().getIId()));

        artikelDto2Components(wifArtikel.getArtikelDto());
      }
    }
  }
  protected void setDefaults() throws Throwable {
    super.setDefaults();

    datGueltigkeitsanzeigeab = Helper.cutDate(new Date(System.currentTimeMillis()));

    wdfPreisgueltigkeitsanzeigeab.setDate(datGueltigkeitsanzeigeab);

    wifArtikel.setArtikelDto(new ArtikelDto());

    wnfRabattsatz.setDouble(new Double(0)); // wird mit 0 initialisiert

    ParametermandantDto parameter =
        (ParametermandantDto)
            DelegateFactory.getInstance()
                .getParameterDelegate()
                .getParametermandant(
                    ParameterFac.PARAMETER_DEFAULT_KUNDESOKO_WIRKT_NICHT_IN_PREISFINDUNG,
                    ParameterFac.KATEGORIE_KUNDEN,
                    LPMain.getTheClient().getMandant());

    wcbWirktNichtInVerkaufspreisfindung.setSelected((Boolean) parameter.getCWertAsObject());
  }
  public void propertyChange(PropertyChangeEvent evt) {
    super.propertyChange(evt);

    try {
      if (wdfPreisgueltigkeitsanzeigeab != null
          && wifArtikel.getArtikelDto() != null
          && wifArtikel.getArtikelDto().getIId() != null) {
        if (evt.getSource() == wdfPreisgueltigkeitsanzeigeab.getDisplay()
            && evt.getPropertyName().equals("date")
            && wdfPreisgueltigkeitsanzeigeab.getDate() != null) {
          datGueltigkeitsanzeigeab = wdfPreisgueltigkeitsanzeigeab.getDate();

          // die passende Verkaufspreisbasis anzeigen
          if (iPreisbasis == 0 || iPreisbasis == 2) {
            verkaufspreisbasisDto2comp(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getArtikeleinzelverkaufspreis(
                        wifArtikel.getArtikelDto().getIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          } else {
            vkPreisfindungPreislisteDto2com(
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .getAktuellePreislisteByArtikelIIdPreislisteIId(
                        wifArtikel.getArtikelDto().getIId(),
                        getKundenpreislisteIId(),
                        datGueltigkeitsanzeigeab,
                        waehrungCNr));
          }

          // den berechneten Preis aktualisieren
          BigDecimal nBerechneterPreis = new BigDecimal(0);

          if (wnfFixpreis.getBigDecimal() == null && wnfRabattsatz.getDouble() != null) {
            // WH 21.06.06 Es gilt die VK-Basis zur
            // Preisgueltigkeit. Damit kann der
            // berechnete Preis von dem dargstellten in der FLR
            // Liste abweichen, der wird
            // fuer das Beginndatum der Mengenstaffel angezeigt
            BigDecimal nPreisbasis =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .ermittlePreisbasis(
                        wifArtikel.getArtikelDto().getIId(),
                        wdfPreisgueltigkeitsanzeigeab.getDate(),
                        null,
                        waehrungCNr);

            VerkaufspreisDto vkpfDto =
                DelegateFactory.getInstance()
                    .getVkPreisfindungDelegate()
                    .berechneVerkaufspreis(nPreisbasis, wnfRabattsatz.getDouble());

            nBerechneterPreis = vkpfDto.nettopreis;
          }

          wnfBerechneterpreis.setBigDecimal(nBerechneterPreis);
        }
      }
    } catch (Throwable t) {
      DialogFactory.showModalDialog(
          LPMain.getInstance().getTextRespectUISPr("lp.error"),
          LPMain.getInstance().getTextRespectUISPr("vkpf.error.preisgueltigkeitsanzeigeab"));
    }
  }