Revision 60fd9199
Von Frank Messerschmidt vor mehr als 8 Jahren hinzugefügt
bin/mozilla/ap.pl | ||
---|---|---|
426 | 426 |
$changeable = (($form->{"gldate_$i"} eq '') || $form->current_date(\%myconfig) eq $form->{"gldate_$i"}); |
427 | 427 |
} |
428 | 428 |
|
429 |
#deaktivieren von gebuchten Zahlungen ausserhalb der Bücherkontrolle, vorher prüfen ob heute eingegeben |
|
430 |
if ($form->date_closed($form->{"gldate_$i"})) { |
|
431 |
$changeable = 0; |
|
432 |
} |
|
433 |
|
|
429 | 434 |
$form->{'paidaccount_changeable_'. $i} = $changeable; |
430 | 435 |
|
431 | 436 |
$form->{'labelpaid_project_id_'. $i} = $project_labels{$form->{'paid_project_id_'. $i}}; |
... | ... | |
594 | 599 |
|
595 | 600 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
596 | 601 |
|
602 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
603 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
604 |
|
|
605 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
606 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
597 | 607 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
598 |
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
608 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
|
|
599 | 609 |
|
600 | 610 |
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) { |
601 | 611 |
$form->{"exchangerate_$i"} = $form->{exchangerate} |
... | ... | |
674 | 684 |
|
675 | 685 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
676 | 686 |
|
687 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
688 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
689 |
|
|
690 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
691 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
677 | 692 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
678 |
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
693 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
|
|
679 | 694 |
|
680 | 695 |
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) { |
681 | 696 |
$form->{"exchangerate_$i"} = $form->{exchangerate} |
bin/mozilla/ar.pl | ||
---|---|---|
435 | 435 |
: SL::DB::Default->get->payments_changeable == 2 ? $payment->{gldate} eq '' || $payment->{gldate} eq $now |
436 | 436 |
: 1; |
437 | 437 |
|
438 |
#deaktivieren von gebuchten Zahlungen ausserhalb der Bücherkontrolle, vorher prüfen ob heute eingegeben |
|
439 |
if ($form->date_closed($payment->{"gldate_$i"})) { |
|
440 |
$payment->{changeable} = 0; |
|
441 |
} |
|
442 |
|
|
438 | 443 |
push @payments, $payment; |
439 | 444 |
} |
440 | 445 |
|
... | ... | |
624 | 629 |
|
625 | 630 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
626 | 631 |
|
627 |
$form->error($locale->text('Cannot post payment for a closed period!')) if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
632 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
633 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
634 |
|
|
635 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
636 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
637 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
|
638 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig)); |
|
628 | 639 |
|
629 | 640 |
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) { |
630 | 641 |
# $form->{"exchangerate_$i"} = $form->{exchangerate} if ($invdate == $datepaid); |
... | ... | |
689 | 700 |
|
690 | 701 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
691 | 702 |
if ($form->date_max_future($transdate, \%myconfig)); |
703 |
|
|
692 | 704 |
$form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig)); |
693 | 705 |
|
694 | 706 |
$form->error($locale->text('Zero amount posting!')) |
... | ... | |
705 | 717 |
|
706 | 718 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
707 | 719 |
|
720 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
721 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
722 |
|
|
723 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
724 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
708 | 725 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
709 |
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
726 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
|
|
710 | 727 |
|
711 | 728 |
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) { |
712 | 729 |
$form->{"exchangerate_$i"} = $form->{exchangerate} if ($transdate == $datepaid); |
bin/mozilla/ir.pl | ||
---|---|---|
431 | 431 |
($form->current_date(\%myconfig) eq $form->{"gldate_$i"})); |
432 | 432 |
} |
433 | 433 |
|
434 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
435 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
436 |
|
|
437 |
#deaktivieren von Zahlungen ausserhalb der Bücherkontrolle |
|
438 |
if ($form->date_closed($form->{"gldate_$i"})) { |
|
439 |
$form->{"changeable_$i"} = 0; |
|
440 |
} |
|
441 |
|
|
434 | 442 |
$form->{"selectAP_paid_$i"} = $form->{selectAP_paid}; |
435 | 443 |
if (!$form->{"AP_paid_$i"}) { |
436 | 444 |
$form->{"selectAP_paid_$i"} =~ s/option>$accno_arap--(.*?)>/option selected>$accno_arap--$1>/; |
... | ... | |
678 | 686 |
|
679 | 687 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
680 | 688 |
|
689 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
690 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
691 |
|
|
692 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
693 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
681 | 694 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
682 |
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
695 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
|
|
683 | 696 |
|
684 | 697 |
if ($form->{currency} ne $form->{defaultcurrency}) { |
685 | 698 |
# $form->{"exchangerate_$i"} = $form->{exchangerate} if ($invdate == $datepaid); # invdate isn't set here |
... | ... | |
774 | 787 |
|
775 | 788 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
776 | 789 |
|
790 |
$form->error($locale->text('Cannot post transaction above the maximum future booking date!')) |
|
791 |
if ($form->date_max_future($form->{"datepaid_$i"}, \%myconfig)); |
|
792 |
|
|
793 |
#Zusätzlich noch das Buchungsdatum in die Bücherkontrolle einbeziehen |
|
794 |
# (Dient zur Prüfung ob ZE oder ZA geprüft werden soll) |
|
777 | 795 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
778 |
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig)); |
|
796 |
if ($form->date_closed($form->{"datepaid_$i"}) && !$form->date_closed($form->{"gldate_$i"}, \%myconfig));
|
|
779 | 797 |
|
780 | 798 |
if ($form->{currency} ne $form->{defaultcurrency}) { |
781 | 799 |
$form->{"exchangerate_$i"} = $form->{exchangerate} |
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
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