Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 60fd9199

Von Frank Messerschmidt vor mehr als 8 Jahren hinzugefügt

  • ID 60fd91996b9b38f11519f467e8b0664448db2755
  • Vorgänger 9249a264
  • Nachfolger 6f4fcf7b

Bücherkontrolle in Zahlungseingängen und Zahlungsausgängen fehlerhaft

- Erweiterung der Header und Footer Funktionen um das Buchungsdatum anhand der Bücherkontrolle zu prüfen
- Fällt Buchungsdatum ausserhalb des zulässigen Zeitraum der Bücherkontrolle so werden die betreffenden Einträge bei Zahlungsein-/ausgang deaktiviert
- Einbinden der Prüfung des maximal zukünftigen Buchungsdatums von Zahlungen ausgehend vom heutigen Datum
- Erweiterung der Prüfung bei Neueingabe von Zahlungsein-/ausgängen:
- Es werden nur noch die editierbaren Einträge geprüft
- Einträge ohne Zahlungen werden nicht geprüft und auch nicht gebucht

fix redmine #164

Unterschiede anzeigen:

bin/mozilla/is.pl
498 498
                                  ($form->current_date(\%myconfig) eq $form->{"gldate_$i"}));
499 499
    }
500 500

  
501
    #deaktivieren von gebuchten Zahlungen ausserhalb der Bücherkontrolle, vorher prüfen ob heute eingegeben
502
    if ($form->date_closed($form->{"gldate_$i"})) {
503
      $form->{"changeable_$i"} = 0;
504
    }
505

  
501 506
    $form->{"selectAR_paid_$i"} = $form->{selectAR_paid};
502 507
    if (!$form->{"AR_paid_$i"}) {
503 508
      $form->{"selectAR_paid_$i"} =~ s/option>$accno_arap--(.*?)</option selected>$accno_arap--$1</;
......
707 712
        $form->isblank("exchangerate_$i",
708 713
                       $locale->text('Exchangerate for payment missing!'));
709 714
      }
715
      $form->error($locale->text('Cannot post transaction above the maximum future booking date!'))
716
        if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig));
717

  
718
      #Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen
719
      # (Dient zur Prüfung ob ZE oder ZA geprüft werden soll)
720
      $form->error($locale->text('Cannot post payment for a closed period!'))
721
        if ($form->date_closed($form->{"datepaid_$i"})  && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
710 722
    }
711 723
  }
712
  # Abgeschlossene Zeiträume nur für den letzten (aktuellen) Zahlungseingang prüfen
713
  # Details s.a. Bug 1502
714
  # Das Problem ist jetzt, dass man Zahlungseingänge nachträglich ändern kann
715
  # Wobei dies für Installationen die sowieso nicht mit Bücherkontrolle arbeiten keinen
716
  # keinen Unterschied macht.
717
  # Optimal wäre, wenn gegen einen Zeitstempel des Zahlungsfelds geprüft würde ...
718
  # Das Problem hierbei ist, dass in IS.pm post_invoice IMMER alle Zahlungseingänge aus $form
719
  # erneut gespeichert werden. Prinzipiell wäre es besser NUR die Änderungen des Rechnungs-
720
  # belegs (neue Zahlung aber nichts anderes) zu speichern ...
721
  # Vielleicht könnte man ähnlich wie bei Rechnung löschen verfahren
722
  $form->error($locale->text('Cannot post payment for a closed period!'))
723
    if ($form->date_closed($form->{"datepaid_$form->{paidaccounts}"}, \%myconfig));
724 724

  
725 725
  ($form->{AR})      = split /--/, $form->{AR};
726 726
  ($form->{AR_paid}) = split /--/, $form->{AR_paid};
......
793 793

  
794 794
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
795 795

  
796
      $form->error($locale->text('Cannot post transaction above the maximum future booking date!'))
797
        if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig));
798

  
799
      #Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen
800
      # (Dient zur Prüfung ob ZE oder ZA geprüft werden soll)
796 801
      $form->error($locale->text('Cannot post payment for a closed period!'))
797
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
802
        if ($form->date_closed($form->{"datepaid_$i"})  && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
798 803

  
799 804
      if ($form->{currency} ne $form->{defaultcurrency}) {
800 805
        $form->{"exchangerate_$i"} = $form->{exchangerate}

Auch abrufbar als: Unified diff