Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 26456e6e

Von Moritz Bunkus vor fast 15 Jahren hinzugefügt

  • ID 26456e6e241a4487e5b52c70e36d275eb073db5b
  • Vorgänger b68c23bf
  • Nachfolger ee9e20c6

Bei Zahlungseingang/-ausgang Meldung anzeigen, wenn offene Rechnungen in anderen Währungen vorhanden sind

Fix für Bug 1050.

Unterschiede anzeigen:

SL/CP.pm
160 160
  my $buysell = $form->{vc} eq 'customer' ? "buy" : "sell";
161 161
  my $arap = $form->{arap} eq "ar" ? "ar" : "ap";
162 162

  
163
  my $curr_null = $form->{curreny} ? '' : ' OR a.curr IS NULL'; # fix: after sql-injection fix, curr is inserted as NULL, before that as ''
164

  
165 163
  my $query =
166 164
     qq|SELECT a.id, a.invnumber, a.transdate, a.amount, a.paid, a.curr | .
167 165
     qq|FROM $arap a | .
168
     qq|WHERE (a.${vc}_id = ?) AND (a.curr = ? $curr_null) AND NOT (a.amount = paid)| .
166
     qq|WHERE (a.${vc}_id = ?) AND (COALESCE(a.curr, '') = ?) AND NOT (a.amount = a.paid)| .
169 167
     qq|ORDER BY a.id|;
170 168
  my $sth = prepare_execute_query($form, $dbh, $query,
171 169
                                  conv_i($form->{"${vc}_id"}),
172
                                  $form->{currency});
170
                                  "$form->{currency}");
173 171

  
174 172
  $form->{PR} = [];
175 173
  while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
......
182 180
  }
183 181

  
184 182
  $sth->finish;
183

  
184
  $query = <<SQL;
185
    SELECT COUNT(*)
186
    FROM $arap
187
    WHERE (${vc}_id = ?)
188
      AND (COALESCE(curr, '') <> ?)
189
      AND (amount <> paid)
190
SQL
191
  ($form->{openinvoices_other_currencies}) = selectfirst_array_query($form, $dbh, $query, conv_i($form->{"${vc}_id"}), "$form->{currency}");
192

  
185 193
  $dbh->disconnect;
186 194

  
187 195
  $main::lxdebug->leave_sub();
......
363 371
		# Hier werden negativen Zahlungseingänge abgefangen
364 372
		# Besser: in Oberfläche schon prüfen
365 373
		# Zahlungsein- und ausgänge sind immer positiv
366
    $dbh->rollback;	
374
    $dbh->rollback;
367 375
    $rc = 0;
368 376
  }
369 377
  if ($form->round_amount($paymentamount, 2) == 0) {
bin/mozilla/cp.pl
317 317
$jsscript
318 318
|;
319 319

  
320
  if ($form->{openinvoices_other_currencies}) {
321
    my $warning = $form->{vc} eq 'customer' ? $::locale->text('There are #1 more open invoices for this customer with other currencies.', $form->{openinvoices_other_currencies})
322
                :                             $::locale->text('There are #1 more open invoices from this vendor with other currencies.',  $form->{openinvoices_other_currencies});
323

  
324
    print qq|
325

  
326
  <input type="hidden" name="openinvoices_other_currencies" value="| . H($form->{openinvoices_other_currencies}) . qq|">
327
  <tr>
328
   <td><b>| . $::locale->text('Note') . qq|: $warning</b></td>
329
  </tr>
330
|;
331
  }
332

  
320 333
  $lxdebug->leave_sub();
321 334
}
322 335

  
locale/de/all
1644 1644
  'The wrong taxkeys for AP and AR transactions have been fixed.' => 'Die Probleme mit falschen Steuerschl?ssel bei Kreditoren- und Debitorenbuchungen wurden behoben.',
1645 1645
  'The wrong taxkeys for inventory transactions for sales and purchase invoices have been fixed.' => 'Die falschen Steuerschl?ssel f?r Warenbestandsbuchungen bei Einkaufs- und Verkaufsrechnungen wurden behoben.',
1646 1646
  'The wrong taxkeys have been fixed.' => 'Die Steuerschl?ssel wurden nach Ihrer Auswahl korrigiert.',
1647
  'There are #1 more open invoices for this customer with other currencies.' => 'Es gibt #1 weitere offene Rechnungen f?r diesen Kunden, die in anderen W?hrungen ausgestellt wurden.',
1648
  'There are #1 more open invoices from this vendor with other currencies.' => 'Es gibt #1 weitere offene Rechnungen von diesem Lieferanten, die in anderen W?hrungen ausgestellt wurden.',
1647 1649
  'There are #1 unfinished follow-ups of which #2 are due.' => 'Es gibt #1 Wiedervorlage(n), von denen #2 f?llig ist/sind.',
1648 1650
  'There are four tax zones.'   => 'Es gibt vier Steuerzonen.',
1649 1651
  'There are no items in stock.' => 'Dieser Artikel ist nicht eingelagert.',
locale/de/cp
106 106
  'No or an unknown authenticantion module specified in "config/authentication.pl".' => 'Es wurde kein oder ein unbekanntes Authentifizierungsmodul in "config/authentication.pl" angegeben.',
107 107
  'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.',
108 108
  'No vendor has been selected yet.' => 'Es wurde noch kein Lieferant ausgew?hlt.',
109
  'Note'                        => 'Hinweis',
109 110
  'Number'                      => 'Nummer',
110 111
  'Others'                      => 'Andere',
111 112
  'PAYMENT POSTED'              => 'Rechung gebucht',
......
159 160
  'The connection to the authentication database failed:' => 'Die Verbindung zur Authentifizierungsdatenbank schlug fehl:',
160 161
  'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
161 162
  'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
163
  'There are #1 more open invoices for this customer with other currencies.' => 'Es gibt #1 weitere offene Rechnungen f?r diesen Kunden, die in anderen W?hrungen ausgestellt wurden.',
164
  'There are #1 more open invoices from this vendor with other currencies.' => 'Es gibt #1 weitere offene Rechnungen von diesem Lieferanten, die in anderen W?hrungen ausgestellt wurden.',
162 165
  'To (email)'                  => 'An',
163 166
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
164 167
  'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',

Auch abrufbar als: Unified diff