Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9e06d0e4

Von Philip Reetz vor mehr als 16 Jahren hinzugefügt

  • ID 9e06d0e40cb328336d6e7604ec06387a0e3b1ea7
  • Vorgänger 1d089d50
  • Nachfolger 57eb1337

Ueberarbeitete Buecherkontrolle

Unterschiede anzeigen:

SL/Form.pm
1419 1419
  return $standard_dbh;
1420 1420
}
1421 1421

  
1422
sub date_closed {
1423
  $main::lxdebug->enter_sub();
1424

  
1425
  my ($self, $date, $myconfig) = @_;
1426
  my $dbh = $self->dbconnect($myconfig);
1427

  
1428
  my $query = "SELECT 1 FROM defaults WHERE ? < closedto";
1429
  my $sth = prepare_execute_query($self, $dbh, $query, $date);
1430
  my ($closed) = $sth->fetchrow_array;
1431

  
1432
  $main::lxdebug->leave_sub();
1433

  
1434
  return $closed;
1435
}
1436

  
1422 1437
sub update_balance {
1423 1438
  $main::lxdebug->enter_sub();
1424 1439

  
bin/mozilla/am.pl
2524 2524

  
2525 2525
  AM->closedto(\%myconfig, \%$form);
2526 2526

  
2527
  if ($form->{revtrans}) {
2528
    $checked{Y} = "checked";
2529
  } else {
2530
    $checked{N} = "checked";
2531
  }
2532

  
2533 2527
  $form->header;
2534 2528

  
2535 2529
  print qq|
......
2543 2537
  <tr>
2544 2538
    <td>
2545 2539
      <table>
2546
	<tr>
2547
	  <td>|
2548
    . $locale->text('Enforce transaction reversal for all dates') . qq|</th>
2549
	  <td><input name=revtrans class=radio type=radio value="1" $checked{Y}> |
2550
    . $locale->text('Yes')
2551
    . qq| <input name=revtrans class=radio type=radio value="0" $checked{N}> |
2552
    . $locale->text('No')
2553
    . qq|</td>
2554
	</tr>
2555 2540
	<tr>
2556 2541
	  <th>| . $locale->text('Close Books up to') . qq|</th>
2557 2542
	  <td><input name=closedto size=11 title="$myconfig{dateformat}" value=$form->{closedto}></td>
......
2585 2570

  
2586 2571
  AM->closebooks(\%myconfig, \%$form);
2587 2572

  
2588
  if ($form->{revtrans}) {
2573
  if ($form->{closedto}) {
2589 2574
    $form->redirect(
2590
                 $locale->text('Transaction reversal enforced for all dates'));
2575
                    $locale->text('Books closed up to') . " "
2576
                      . $locale->date(\%myconfig, $form->{closedto}, 1));
2591 2577
  } else {
2592
    if ($form->{closedto}) {
2593
      $form->redirect(
2594
                     $locale->text('Transaction reversal enforced up to') . " "
2595
                       . $locale->date(\%myconfig, $form->{closedto}, 1));
2596
    } else {
2597
      $form->redirect($locale->text('Books are open'));
2598
    }
2578
    $form->redirect($locale->text('Books are open'));
2599 2579
  }
2600 2580

  
2601 2581
  $lxdebug->leave_sub();
bin/mozilla/ap.pl
948 948
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
949 949

  
950 950
      $form->error($locale->text('Cannot post payment for a closed period!'))
951
        if ($datepaid <= $closedto);
951
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
952 952

  
953 953
      if ($form->{currency} ne $form->{defaultcurrency}) {
954 954
        $form->{"exchangerate_$i"} = $form->{exchangerate}
......
982 982

  
983 983
  $closedto  = $form->datetonum($form->{closedto},  \%myconfig);
984 984
  $transdate = $form->datetonum($form->{transdate}, \%myconfig);
985
  $form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto);
985
  $form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig));
986 986

  
987 987
  my $zero_amount_posting = 1;
988 988
  for $i (1 .. $form->{rowcount}) {
......
1005 1005
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1006 1006

  
1007 1007
      $form->error($locale->text('Cannot post payment for a closed period!'))
1008
        if ($datepaid <= $closedto);
1008
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1009 1009

  
1010 1010
      if ($form->{currency} ne $form->{defaultcurrency}) {
1011 1011
        $form->{"exchangerate_$i"} = $form->{exchangerate}
bin/mozilla/ar.pl
1009 1009

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

  
1012
#      $form->error($locale->text('Cannot post payment for a closed period!')) if ($datepaid <= $closedto);
1012
      $form->error($locale->text('Cannot post payment for a closed period!')) if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1013 1013

  
1014 1014
      if ($form->{currency} ne $form->{defaultcurrency}) {
1015 1015
#        $form->{"exchangerate_$i"} = $form->{exchangerate} if ($invdate == $datepaid);
......
1050 1050

  
1051 1051
  my $closedto  = $form->datetonum($form->{closedto},  \%myconfig);
1052 1052
  my $transdate = $form->datetonum($form->{transdate}, \%myconfig);
1053
  $form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto);
1053
  $form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig));
1054 1054

  
1055 1055
  $form->error($locale->text('Zero amount posting!')) 
1056 1056
    unless grep $_*1, map $form->parse_amount(\%myconfig, $form->{"amount_$_"}), 1..$form->{rowcount};
......
1067 1067
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1068 1068

  
1069 1069
      $form->error($locale->text('Cannot post payment for a closed period!'))
1070
        if ($datepaid <= $closedto);
1070
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1071 1071

  
1072 1072
      if ($form->{currency} ne $form->{defaultcurrency}) {
1073 1073
        $form->{"exchangerate_$i"} = $form->{exchangerate} if ($transdate == $datepaid);
bin/mozilla/gl.pl
1457 1457

  
1458 1458
  # this is just for the wise guys
1459 1459
  $form->error($locale->text('Cannot post transaction for a closed period!'))
1460
    if ($transdate <= $closedto);
1460
    if ($form->date_closed($form->{"transdate"}, \%myconfig));
1461 1461
  if ($form->round_amount($debit, 2) != $form->round_amount($credit, 2)) {
1462 1462
    $form->error($locale->text('Out of balance transaction!'));
1463 1463
  }
bin/mozilla/ir.pl
1043 1043
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1044 1044

  
1045 1045
      $form->error($locale->text('Cannot post payment for a closed period!'))
1046
        if ($datepaid <= $closedto);
1046
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1047 1047

  
1048 1048
      if ($form->{currency} ne $form->{defaultcurrency}) {
1049 1049
        $form->{"exchangerate_$i"} = $form->{exchangerate}
......
1100 1100
  $invdate  = $form->datetonum($form->{invdate},  \%myconfig);
1101 1101

  
1102 1102
  $form->error($locale->text('Cannot post invoice for a closed period!'))
1103
    if ($invdate <= $closedto);
1103
    if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1104 1104

  
1105 1105
  $form->isblank("exchangerate", $locale->text('Exchangerate missing!'))
1106 1106
    if ($form->{currency} ne $form->{defaultcurrency});
......
1112 1112
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1113 1113

  
1114 1114
      $form->error($locale->text('Cannot post payment for a closed period!'))
1115
        if ($datepaid <= $closedto);
1115
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1116 1116

  
1117 1117
      if ($form->{currency} ne $form->{defaultcurrency}) {
1118 1118
        $form->{"exchangerate_$i"} = $form->{exchangerate}
bin/mozilla/is.pl
1356 1356
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1357 1357

  
1358 1358
      $form->error($locale->text('Cannot post payment for a closed period!'))
1359
        if ($datepaid <= $closedto);
1359
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1360 1360

  
1361 1361
      if ($form->{currency} ne $form->{defaultcurrency}) {
1362 1362
        $form->{"exchangerate_$i"} = $form->{exchangerate}
......
1386 1386
  $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
1387 1387
  $form->isblank("invdate",  $locale->text('Invoice Date missing!'));
1388 1388
  $form->isblank("customer", $locale->text('Customer missing!'));
1389
  $form->error($locale->text('Cannot post invoice for a closed period!'))
1390
        if ($form->date_closed($form->{"invdate"}, \%myconfig));
1389 1391

  
1390 1392
  $form->{invnumber} =~ s/^\s*//g;
1391 1393
  $form->{invnumber} =~ s/\s*$//g;
......
1417 1419
      $form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
1418 1420

  
1419 1421
      $form->error($locale->text('Cannot post payment for a closed period!'))
1420
        if ($datepaid <= $closedto);
1422
        if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
1421 1423

  
1422 1424
      if ($form->{currency} ne $form->{defaultcurrency}) {
1423 1425
        $form->{"exchangerate_$i"} = $form->{exchangerate}
locale/de/all
236 236
  'Body'                        => 'Text',
237 237
  'Body:'                       => 'Text:',
238 238
  'Books are open'              => 'Die B?cher sind ge?ffnet.',
239
  'Books closed up to'          => 'B?cher abgeschlossen bis zum',
239 240
  'Boolean variables: If the default value is non-empty then the checkbox will be checked by default and unchecked otherwise.' => 'Ja/Nein-Variablen: Wenn der Standardwert nicht leer ist, so wird die Checkbox standardm&auml;&szlig;ig angehakt.',
240 241
  'Both'                        => 'Beide',
241 242
  'Bottom'                      => 'Unten',
......
582 583
  'Edit units'                  => 'Einheiten bearbeiten',
583 584
  'Employee'                    => 'Bearbeiter',
584 585
  'Empty transaction!'          => 'Buchung ist leer!',
585
  'Enforce transaction reversal for all dates' => 'Gegenbuchungen f?r jeden Zeitraum aktualisieren',
586 586
  'Enter a description for this new draft.' => 'Geben Sie eine Beschreibung f&uuml;r diesen Entwurf ein.',
587 587
  'Enter longdescription'       => 'Langtext eingeben',
588 588
  'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Geben Sie Ihre und weitere W?hrungen mit bis zu drei Buchstaben pro W?hrung und W?hrungen durch Doppelpunkte getrennt ein (z.B. EUR:USD:CAD)',
......
1481 1481
  'Transaction description'     => 'Vorgangsbezeichnung',
1482 1482
  'Transaction has already been cancelled!' => 'Diese Buchung wurde bereits storniert.',
1483 1483
  'Transaction posted!'         => 'Buchung verbucht!',
1484
  'Transaction reversal enforced for all dates' => 'Fehleintragungen m?ssen f?r jeden Zeitraum mit einer Kontraeintragung ausgebessert werden',
1485
  'Transaction reversal enforced up to' => 'Fehleintragungen k?nnen bis zu dem angegebenen Zeitraum nur mit einer Kontraeintragung ausgebessert werden!',
1486 1484
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
1487 1485
  'Transfer'                    => 'Umlagern',
1488 1486
  'Transfer Quantity'           => 'Umlagermenge',
locale/de/am
75 75
  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
76 76
  'Bins saved.'                 => 'Lagerpl&auml;tze gespeichert.',
77 77
  'Books are open'              => 'Die B?cher sind ge?ffnet.',
78
  'Books closed up to'          => 'B?cher abgeschlossen bis zum',
78 79
  'Buchungsgruppe'              => 'Buchungsgruppe',
79 80
  'Buchungsgruppen'             => 'Buchungsgruppen',
80 81
  'Business deleted!'           => 'Firma gel?scht.',
......
141 142
  'Edit Price Factor'           => 'Preisfaktor bearbeiten',
142 143
  'Edit Printer'                => 'Drucker bearbeiten',
143 144
  'Edit Warehouse'              => 'Lager bearbeiten',
144
  'Enforce transaction reversal for all dates' => 'Gegenbuchungen f?r jeden Zeitraum aktualisieren',
145 145
  'Enter longdescription'       => 'Langtext eingeben',
146 146
  'Equity'                      => 'Passiva',
147 147
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
......
278 278
  'The units have been saved.'  => 'Die Einheiten wurden gespeichert.',
279 279
  'The warehouse could not be deleted because it has already been used.' => 'Das Lager konnte nicht gel&ouml;scht werden, da es bereits in Benutzung war.',
280 280
  'To (email)'                  => 'An',
281
  'Transaction reversal enforced for all dates' => 'Fehleintragungen m?ssen f?r jeden Zeitraum mit einer Kontraeintragung ausgebessert werden',
282
  'Transaction reversal enforced up to' => 'Fehleintragungen k?nnen bis zu dem angegebenen Zeitraum nur mit einer Kontraeintragung ausgebessert werden!',
283 281
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
284 282
  'Translation (%s)'            => '&Uuml;bersetzung (%s)',
285 283
  'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
locale/de/ca
5 5
  'AP'                          => 'Einkauf',
6 6
  'AR'                          => 'Verkauf',
7 7
  'Account'                     => 'Konto',
8
  'Accrual'                     => 'Bilanzierung',
8 9
  'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
9 10
  'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
10 11
  'Apr'                         => 'Apr',
......
15 16
  'Bcc'                         => 'Bcc',
16 17
  'Bin List'                    => 'Lagerliste',
17 18
  'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
19
  'Bis'                         => 'bis',
18 20
  'CANCELED'                    => 'Storniert',
19 21
  'CSV export -- options'       => 'CSV-Export -- Optionen',
20 22
  'Cc'                          => 'Cc',
......
39 41
  'Create and edit vendor invoices' => 'Eingangsrechnungen erfassen und bearbeiten',
40 42
  'Credit'                      => 'Haben',
41 43
  'Credit Note'                 => 'Gutschrift',
44
  'Customized Report'           => 'Vorgew?hlte Zeitr?ume',
42 45
  'DATEV Export'                => 'DATEV-Export',
43 46
  'DELETED'                     => 'Gel?scht',
44 47
  'DUNNING STARTED'             => 'Mahnprozess gestartet',
......
47 50
  'Debit'                       => 'Soll',
48 51
  'Dec'                         => 'Dez',
49 52
  'December'                    => 'Dezember',
53
  'Decimalplaces'               => 'Dezimalstellen',
50 54
  'Delivery Order'              => 'Lieferschein',
51 55
  'Department'                  => 'Abteilung',
52 56
  'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
53 57
  'Description'                 => 'Beschreibung',
54 58
  'Directory'                   => 'Verzeichnis',
55 59
  'ELSE'                        => 'Zusatz',
60
  'EUR'                         => 'E/?-Rechnung',
56 61
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
62
  'Falsches Datumsformat!'      => 'Falsches Datumsformat!',
57 63
  'Feb'                         => 'Feb',
58 64
  'February'                    => 'Februar',
59 65
  'File'                        => 'Datei',
66
  'Free report period'          => 'Freier Zeitraum',
60 67
  'From'                        => 'Von',
61 68
  'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
62
  'Include in Report'           => 'In Bericht aufnehmen',
63 69
  'Invoice'                     => 'Rechnung',
64 70
  'Jan'                         => 'Jan',
65 71
  'January'                     => 'Januar',
......
77 83
  'May '                        => 'Mai',
78 84
  'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
79 85
  'Message'                     => 'Nachricht',
86
  'Method'                      => 'Verfahren',
80 87
  'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
81 88
  'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
82 89
  'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
90
  'Monthly'                     => 'monatlich',
83 91
  'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
84 92
  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
85 93
  'Nov'                         => 'Nov',
......
98 106
  'Proforma Invoice'            => 'Proformarechnung',
99 107
  'Project Number'              => 'Projektnummer',
100 108
  'Purchase Order'              => 'Lieferantenauftrag',
109
  'Quarter'                     => 'Quartal',
110
  'Quarterly'                   => 'quartalsweise',
101 111
  'Quotation'                   => 'Angebot',
102 112
  'RFQ'                         => 'Anfrage',
103 113
  'Receipt, payment, reconciliation' => 'Zahlungseingang, Zahlungsausgang, Kontenabgleich',
......
111 121
  'Storno Invoice'              => 'Stornorechnung',
112 122
  'Storno Packing List'         => 'Stornolieferschein',
113 123
  'Subject'                     => 'Betreff',
114
  'Subtotal'                    => 'Zwischensumme',
115 124
  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
116 125
  'The LDAP server "#1:#2" is unreachable. Please check config/authentication.pl.' => 'Der LDAP-Server "#1:#2" ist nicht erreichbar. Bitte &uuml;berpr&uuml;fen Sie die Angaben in config/authentication.pl.',
117 126
  'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ung&uuml;tigen Perl-Code:',
......
121 130
  'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
122 131
  'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
123 132
  'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
124
  'To'                          => 'An',
125 133
  'To (email)'                  => 'An',
126 134
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
127 135
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
128 136
  'View warehouse content'      => 'Lagerbestand ansehen',
129 137
  'Warehouse management'        => 'Lagerverwaltung/Bestandsver?nderung',
138
  'YYYY'                        => 'JJJJ',
139
  'Year'                        => 'Jahr',
140
  'Yearly'                      => 'j?hrlich',
130 141
  'You do not have the permissions to access this function.' => 'Sie verf&uuml;gen nicht &uuml;ber die notwendigen Rechte, um auf diese Funktion zuzugreifen.',
131 142
  '[email]'                     => '[email]',
132 143
  'bin_list'                    => 'Lagerliste',
144
  'button'                      => '?',
133 145
  'chart_of_accounts'           => 'kontenuebersicht',
134 146
  'config/authentication.pl: Key "DB_config" is missing.' => 'config/authentication.pl: Das Schl&uuml;sselwort "DB_config" fehlt.',
135 147
  'config/authentication.pl: Key "LDAP_config" is missing.' => 'config/authentication.pl: Der Schl&uuml;ssel "LDAP_config" fehlt.',
......
146 158
  'request_quotation'           => 'Angebotsanforderung',
147 159
  'sales_order'                 => 'Kundenauftrag',
148 160
  'sales_quotation'             => 'Verkaufsangebot',
161
  'wrongformat'                 => 'Falsches Format',
149 162
};
150 163

  
151 164
$self->{subs} = {
locale/de/ic
412 412
  'erzeugnis_erfassen'          => 'add_assembly',
413 413
  'ware_erfassen'               => 'add_part',
414 414
  'dienstleistung_erfassen'     => 'add_service',
415
  'erzeugnisnummer_fehlt!'      => 'assembly_number_missing!',
415 416
  'weiter'                      => 'continue',
416 417
  'l?schen'                     => 'delete',
417 418
  'erzeugnis_bearbeiten'        => 'edit_assembly',
418 419
  'ware_bearbeiten'             => 'edit_part',
419 420
  'dienstleistung_bearbeiten'   => 'edit_service',
421
  'bevor_dieses_erzeugnis_als_ung?ltig_markiert_werden_kann__mu?_das_inventar_auf_null_sein!' => 'inventory_quantity_must_be_zero_before_you_can_set_this_assembly_obsolete!',
422
  'bevor_diese_ware_als_ung?ltig_markiert_werden_kann__mu?_das_inventar_null_sein!' => 'inventory_quantity_must_be_zero_before_you_can_set_this_part_obsolete!',
420 423
  'neue_ware'                   => 'new_part',
424
  'artikelnummer_fehlt!'        => 'part_number_missing!',
425
  'waren'                       => 'parts',
421 426
  'speichern'                   => 'save',
422 427
  'als_neu_speichern'           => 'save_as_new',
428
  'dienstleistungsnummer_fehlt!' => 'service_number_missing!',
429
  'dienstleistungen'            => 'services',
423 430
  'top_100'                     => 'top100',
424 431
  'erneuern'                    => 'update',
425 432
  'ausw?hlen'                   => 'choice',
433
  'st.'                         => 'ea',
426 434
  'auflisten'                   => 'list',
427 435
};
428 436

  

Auch abrufbar als: Unified diff