Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e50a00d2

Von Sven Schöling vor fast 15 Jahren hinzugefügt

  • ID e50a00d20a90057f9b04dc524b6d13afffb0c750
  • Vorgänger 78637a08
  • Nachfolger 6f85ff8b

ir.pl: template footer, payments.

Unterschiede anzeigen:

bin/mozilla/ir.pl
265 265
  $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
266 266

  
267 267
  $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
268
  $form->{radier}          = ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0;
269 268

  
270 269
  my $set_duedate_url = "$form->{script}?action=set_duedate";
271 270

  
......
354 353
  my $form     = $main::form;
355 354
  my %myconfig = %main::myconfig;
356 355
  my $locale   = $main::locale;
357
  my $cgi      = $main::cgi;
358

  
359
  $main::auth->assert('vendor_invoice_edit');
360 356

  
361
  $form->{invtotal} = $form->{invsubtotal};
362

  
363
  my ($rows, $introws);
364
  if (($rows = $form->numtextrows($form->{notes}, 25, 8)) < 2) {
365
    $rows = 2;
366
  }
367
  if (($introws = $form->numtextrows($form->{intnotes}, 35, 8)) < 2) {
368
    $introws = 2;
369
  }
370
  $rows = ($rows > $introws) ? $rows : $introws;
371
  my $notes =
372
    qq|<textarea name=notes rows=$rows cols=25 wrap=soft>$form->{notes}</textarea>|;
373
  my $intnotes =
374
    qq|<textarea name=intnotes rows=$rows cols=35 wrap=soft>$form->{intnotes}</textarea>|;
375

  
376
  $form->{taxincluded} = ($form->{taxincluded}) ? "checked" : "";
377

  
378
  my $taxincluded = "";
379
  if ($form->{taxaccounts}) {
380
    $taxincluded = qq|
381
		<input name=taxincluded class=checkbox type=checkbox value=1 $form->{taxincluded}> <b>|
382
      . $locale->text('Tax Included') . qq|</b>
383
|;
384
  }
385

  
386
  my ($tax, $subtotal);
387
  if (!$form->{taxincluded}) {
388

  
389
    foreach my $item (split / /, $form->{taxaccounts}) {
390
      if ($form->{"${item}_base"}) {
391
        $form->{invtotal} += $form->{"${item}_total"} =
392
          $form->round_amount(
393
                             $form->{"${item}_base"} * $form->{"${item}_rate"},
394
                             2);
395
        $form->{"${item}_total"} =
396
          $form->format_amount(\%myconfig, $form->{"${item}_total"}, 2);
397

  
398
        $tax .= qq|
399
		<tr>
400
		  <th align=right>$form->{"${item}_description"}&nbsp;|
401
                    . $form->{"${item}_rate"} * 100 .qq|%</th>
402
		  <td align=right>$form->{"${item}_total"}</td>
403
		</tr>
404
|;
405
      }
406
    }
357
  $main::auth->assert('invoice_edit');
407 358

  
408
    $form->{invsubtotal} =
409
      $form->format_amount(\%myconfig, $form->{invsubtotal}, 2, 0);
359
  $form->{invtotal}    = $form->{invsubtotal};
360
  $form->{oldinvtotal} = $form->{invtotal};
410 361

  
411
    $subtotal = qq|
412
	      <tr>
413
		<th align=right>| . $locale->text('Subtotal') . qq|</th>
414
		<td align=right>$form->{invsubtotal}</td>
415
	      </tr>
416
|;
362
  # note rows
363
  $form->{rows} = max 2,
364
    $form->numtextrows($form->{notes},    26, 8),
365
    $form->numtextrows($form->{intnotes}, 35, 8);
417 366

  
418
  }
419 367

  
420
  if ($form->{taxincluded}) {
421
    foreach my $item (split / /, $form->{taxaccounts}) {
422
      if ($form->{"${item}_base"}) {
423
        $form->{"${item}_total"} =
424
          $form->round_amount(
425
                           ($form->{"${item}_base"} * $form->{"${item}_rate"} /
426
                              (1 + $form->{"${item}_rate"})
427
                           ),
428
                           2);
429
        $form->{"${item}_base"} =
430
          $form->round_amount($form->{"${item}_base"}, 2);
431
        $form->{"${item}_netto"} =
432
          $form->round_amount(
433
                          ($form->{"${item}_base"} - $form->{"${item}_total"}),
434
                          2);
435
        $form->{"${item}_netto"} =
436
          $form->format_amount(\%myconfig, $form->{"${item}_netto"}, 2);
437
        $form->{"${item}_total"} =
438
          $form->format_amount(\%myconfig, $form->{"${item}_total"}, 2);
439

  
440
        $tax .= qq|
441
	      <tr>
442
		<th align=right>Enthaltene $form->{"${item}_description"}&nbsp;|
443
		                    . $form->{"${item}_rate"} * 100 .qq|%</th>
444
		<td align=right>$form->{"${item}_total"}</td>
445
	      </tr>
446
	      <tr>
447
	        <th align=right>Nettobetrag</th>
448
		<td align=right>$form->{"${item}_netto"}</td>
449
	      </tr>
450
|;
368
  # tax, total and subtotal calculations
369
  my ($tax, $subtotal);
370
  $form->{taxaccounts_array} = [ split / /, $form->{taxaccounts} ];
371

  
372
  foreach my $item (@{ $form->{taxaccounts_array} }) {
373
    if ($form->{"${item}_base"}) {
374
      if ($form->{taxincluded}) {
375
        $form->{"${item}_total"} = $form->round_amount( ($form->{"${item}_base"} * $form->{"${item}_rate"}
376
                                                                                 / (1 + $form->{"${item}_rate"})), 2);
377
        $form->{"${item}_netto"} = $form->round_amount( ($form->{"${item}_base"} - $form->{"${item}_total"}), 2);
378
      } else {
379
        $form->{"${item}_total"} = $form->round_amount( $form->{"${item}_base"} * $form->{"${item}_rate"}, 2);
380
        $form->{invtotal} += $form->{"${item}_total"};
451 381
      }
452 382
    }
453

  
454 383
  }
455 384

  
456
  $form->{oldinvtotal} = $form->{invtotal};
457
  $form->{invtotal}    =
458
    $form->format_amount(\%myconfig, $form->{invtotal}, 2, 0);
459

  
460
  my $follow_ups_block;
385
  # follow ups
461 386
  if ($form->{id}) {
462
    my $follow_ups = FU->follow_ups('trans_id' => $form->{id});
463

  
464
    if (@{ $follow_ups} ) {
465
      my $num_due       = sum map { $_->{due} * 1 } @{ $follow_ups };
466
      $follow_ups_block = qq|
467
      <tr>
468
        <td colspan="2">| . $locale->text("There are #1 unfinished follow-ups of which #2 are due.", scalar @{ $follow_ups }, $num_due) . qq|</td>
469
      </tr>
470
|;
471
    }
472
  }
473

  
474
  our $colspan;
475
  print qq|
476
  <tr>
477
    <td colspan=$colspan>
478
      <table cellspacing="0">
479
	<tr valign=bottom>
480
	  <td>
481
	    <table>
482
	      <tr>
483
		<th align=left>| . $locale->text('Notes') . qq|</th>
484
		<th align=left>| . $locale->text('Internal Notes') . qq|</th>
485
	      </tr>
486
	      <tr valign=top>
487
		<td>$notes</td>
488
		<td>$intnotes</td>
489
	      </tr>
490
        $follow_ups_block
491
	    </table>
492
	  </td>
493
	  <td colspan=2 align=right width=100%>
494
	    $taxincluded
495
	    <br>
496
	    <table width=100%>
497
	      $subtotal
498
	      $tax
499
	      <tr>
500
		<th align=right>| . $locale->text('Total') . qq|</th>
501
		<td align=right>$form->{invtotal}</td>
502
	      </tr>
503
	    </table>
504
	  </td>
505
	</tr>
506
      </table>
507
    </td>
508
  </tr>
509
|;
510
  my $webdav_list;
511
  if ($main::webdav) {
512
    $webdav_list = qq|
513
  <tr>
514
    <td><hr size=3 noshade></td>
515
  </tr>
516
  <tr>
517
    <th class=listtop align=left>Dokumente im Webdav-Repository</th>
518
  </tr>
519
    <table width=100%>
520
      <td align=left width=30%><b>Dateiname</b></td>
521
      <td align=left width=70%><b>Webdavlink</b></td>
522
|;
523
    foreach my $file (@{ $form->{WEBDAV} }) {
524
      $webdav_list .= qq|
525
      <tr>
526
        <td align="left">$file->{name}</td>
527
        <td align="left"><a href="$file->{link}">$file->{type}</a></td>
528
      </tr>
529
|;
530
    }
531
    $webdav_list .= qq|
532
    </table>
533
  </tr>
534
|;
535

  
536
    print $webdav_list;
537
  }
538
  print qq|
539
  <tr>
540
    <td colspan=$colspan>
541
      <table width=100%>
542
        <tr>
543
	  <th colspan=6 class=listheading>| . $locale->text('Payments') . qq|</th>
544
	</tr>
545
|;
546

  
547
  my @column_index;
548
  if ($form->{currency} eq $form->{defaultcurrency}) {
549
    @column_index = qw(datepaid source memo paid AP_paid);
550
  } else {
551
    @column_index = qw(datepaid source memo paid exchangerate AP_paid);
387
    $form->{follow_ups}            = FU->follow_ups('trans_id' => $form->{id}) || [];
388
    $form->{follow_ups_unfinished} = ( sum map { $_->{due} * 1 } @{ $form->{follow_ups} } ) || 0;
552 389
  }
553 390

  
554
  my %column_data;
555
  $column_data{datepaid}     = "<th>" . $locale->text('Date') . "</th>";
556
  $column_data{paid}         = "<th>" . $locale->text('Amount') . "</th>";
557
  $column_data{exchangerate} = "<th>" . $locale->text('Exch') . "</th>";
558
  $column_data{AP_paid}      = "<th>" . $locale->text('Account') . "</th>";
559
  $column_data{source}       = "<th>" . $locale->text('Source') . "</th>";
560
  $column_data{memo}         = "<th>" . $locale->text('Memo') . "</th>";
561

  
562
  print qq|
563
	<tr>
564
|;
565
  map { print "$column_data{$_}\n" } @column_index;
566
  print qq|
567
	</tr>
568
|;
569

  
570
  my @triggers  = ();
391
  # payments
571 392
  my $totalpaid = 0;
572

  
573 393
  $form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"});
574
  for my $i (1 .. $form->{paidaccounts}) {
575

  
576
    print qq|
577
	<tr>
578
|;
394
  $form->{paid_indices} = [ 1 .. $form->{paidaccounts} ];
579 395

  
396
  for my $i (1 .. $form->{paidaccounts}) {
580 397
    $form->{"selectAP_paid_$i"} = $form->{selectAP_paid};
581
    $form->{"selectAP_paid_$i"} =~
582
      s/option>\Q$form->{"AP_paid_$i"}\E/option selected>$form->{"AP_paid_$i"}/;
583

  
398
    $form->{"selectAP_paid_$i"} =~ s/option>\Q$form->{"AP_paid_$i"}\E/option selected>$form->{"AP_paid_$i"}/;
584 399
    $totalpaid += $form->{"paid_$i"};
585

  
586
    # format amounts
587
    if ($form->{"paid_$i"}) {
588
      $form->{"paid_$i"} =
589
        $form->format_amount(\%myconfig, $form->{"paid_$i"}, 2);
590
    }
591
    $form->{"exchangerate_$i"} =
592
      $form->format_amount(\%myconfig, $form->{"exchangerate_$i"});
593

  
594
    my $exchangerate = qq|&nbsp;|;
595
    if ($form->{currency} ne $form->{defaultcurrency}) {
596
      if ($form->{"forex_$i"}) {
597
        $exchangerate =
598
          qq|<input type=hidden name="exchangerate_$i" value=$form->{"exchangerate_$i"}>$form->{"exchangerate_$i"}|;
599
      } else {
600
        $exchangerate =
601
          qq|<input name="exchangerate_$i" size=10 value=$form->{"exchangerate_$i"}>|;
602
      }
603
    }
604
    $exchangerate .= qq|
605
<input type=hidden name="forex_$i" value=$form->{"forex_$i"}>
606
|;
607

  
608
    $column_data{"paid_$i"} =
609
      qq|<td align=center><input name="paid_$i" size=11 value="$form->{"paid_$i"}" onBlur=\"check_right_number_format(this)\"></td>|;
610
    $column_data{"exchangerate_$i"} = qq|<td align=center>$exchangerate</td>|;
611
    $column_data{"AP_paid_$i"}      =
612
      qq|<td align=center><select name="AP_paid_$i">$form->{"selectAP_paid_$i"}</select></td>|;
613
    $column_data{"datepaid_$i"} =
614
      qq|<td align=center><input name="datepaid_$i" id="datepaid_$i" size=11 title="$myconfig{dateformat}" value="$form->{"datepaid_$i"}" onBlur=\"check_right_date_format(this)\">
615
         <input type="button" name="datepaid_$i" id="trigger_datepaid_$i" value="?"></td>|;
616
    $column_data{"source_$i"} =
617
      qq|<td align=center><input name="source_$i" size=11 value="$form->{"source_$i"}"></td>|;
618
    $column_data{"memo_$i"} =
619
      qq|<td align=center><input name="memo_$i" size=11 value="$form->{"memo_$i"}"></td>|;
620

  
621
    map { print qq|$column_data{"${_}_$i"}\n| } @column_index;
622

  
623
    print qq|
624
	</tr>
625
|;
626
    push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i");
627
  }
628

  
629
  my $paid_missing = $form->{oldinvtotal} - $totalpaid;
630

  
631
  print qq|
632
        <tr>
633
          <td></td>
634
          <td></td>
635
          <td align="center">| . $locale->text('Total') . qq|</td>
636
          <td align="center">| . H($form->format_amount(\%myconfig, $totalpaid, 2)) . qq|</td>
637
        </tr>
638
        <tr>
639
          <td></td>
640
          <td></td>
641
          <td align="center">| . $locale->text('Missing amount') . qq|</td>
642
          <td align="center">| . H($form->format_amount(\%myconfig, $paid_missing, 2)) . qq|</td>
643
        </tr>
644

  
645
	    <input type=hidden name=oldinvtotal value=$form->{oldinvtotal}>
646
	    <input type=hidden name=paidaccounts value=$form->{paidaccounts}>
647
      	    <input type=hidden name=selectAP_paid value="$form->{selectAP_paid}">
648
      </table>
649
    </td>
650
  </tr>
651
  <tr>
652
    <td><hr size=3 noshade></td>
653
  </tr>
654
</table>
655
<br>
656
|;
657

  
658
  my $invdate  = $form->datetonum($form->{invdate},  \%myconfig);
659
  my $closedto = $form->datetonum($form->{closedto}, \%myconfig);
660

  
661
  print qq|<input class=submit type=submit name=action id=update_button value="|
662
    . $locale->text('Update') . qq|">
663
|;
664

  
665
  if ($form->{id}) {
666
    my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap") && (($totalpaid == 0) || ($totalpaid eq ""));
667

  
668
    print qq|<input class=submit type=submit name=action value="|
669
      . $locale->text('Post Payment') . qq|">
670
|;
671
    print qq|<input class=submit type=submit name=action value="|
672
      . $locale->text('Storno') . qq|">
673
| if ($show_storno);
674
    if ($form->{radier}) {
675
    print qq|
676
    <input class=submit type=submit name=action value="|
677
      . $locale->text('Delete') . qq|">
678
|;
679
  }
680
    print qq|<input class=submit type=submit name=action value="|
681
      . $locale->text('Use As Template') . qq|">
682
        <input type="button" class="submit" onclick="follow_up_window()" value="|
683
      . $locale->text('Follow-Up')
684
      . qq|">
685
|;
686

  
687 400
  }
688 401

  
689
  if (!$form->{id} && ($invdate > $closedto)) {
690
    print qq| <input class=submit type=submit name=action value="|
691
      . $locale->text('Post') . qq|"> | .
692
      NTI($cgi->submit('-name' => 'action', '-value' => $locale->text('Save draft'),
693
                       '-class' => 'submit'));
694
  }
695

  
696
  print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers);
697
  $form->hide_form(qw(rowcount callback draft_id draft_description vendor_discount));
698

  
699
  # button for saving history
700
  if($form->{id} ne "") {
701
    print qq|
702
  	  <input type="button" class="submit" onclick="set_history_window(|
703
  	  . Q($form->{id})
704
  	  . qq|);" name="history" id="history" value="|
705
  	  . $locale->text('history')
706
  	  . qq|">|;
707
  }
708
  # /button for saving history
709
  # mark_as_paid button
710
  if($form->{id} ne "") {
711
    print qq| <input type="submit" class="submit" name="action" value="|
712
          . $locale->text('mark as paid') . qq|">|;
713
  }
714
  # /mark_as_paid button
715
print qq|</form>
716
</body>
717
</html>
718
|;
402
  print $form->parse_html_template('ir/form_footer', {
403
    is_type_credit_note => ($form->{type} eq "credit_note"),
404
    totalpaid           => $totalpaid,
405
    paid_missing        => $form->{invtotal} - $totalpaid,
406
    show_storno         => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap") && !$totalpaid,
407
    show_delete         => ($form->current_date(\%myconfig) eq $form->{gldate}),
408
  });
409
##print $form->parse_html_template('ir/_payments'); # parser
410
##print $form->parse_html_template('webdav/_list'); # parser
719 411

  
720 412
  $main::lxdebug->leave_sub();
721 413
}
locale/de/ir
9 9
  'AP Transaction'              => 'Kreditorenbuchung',
10 10
  'AR'                          => 'Verkauf',
11 11
  'AR Transaction'              => 'Debitorenbuchung',
12
  'Account'                     => 'Konto',
13 12
  'Add Purchase Order'          => 'Lieferantenauftrag erfassen',
14 13
  'Add Quotation'               => 'Angebot erfassen',
15 14
  'Add Request for Quotation'   => 'Anfrage erfassen',
......
18 17
  'Address'                     => 'Adresse',
19 18
  'Advance turnover tax return' => 'Umsatzsteuervoranmeldung',
20 19
  'All reports'                 => 'Alle Berichte (Konten&uuml;bersicht, Summen- u. Saldenliste, GuV, BWA, Bilanz, Projektbuchungen)',
21
  'Amount'                      => 'Betrag',
22 20
  'Apr'                         => 'Apr',
23 21
  'April'                       => 'April',
24 22
  'Are you sure you want to delete Invoice Number' => 'Soll die Rechnung mit folgender Nummer wirklich gel?scht werden:',
......
88 86
  'Date'                        => 'Datum',
89 87
  'Dec'                         => 'Dez',
90 88
  'December'                    => 'Dezember',
91
  'Delete'                      => 'L?schen',
92 89
  'Delete drafts'               => 'Entw?rfe l?schen',
93 90
  'Delivered'                   => 'Geliefert',
94 91
  'Delivery Date'               => 'Lieferdatum',
......
108 105
  'Enter longdescription'       => 'Langtext eingeben',
109 106
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
110 107
  'Ertrag'                      => 'Ertrag',
111
  'Exch'                        => 'Wechselkurs.',
112 108
  'Exchangerate for payment missing!' => 'Es fehlt der Wechselkurs f?r die Bezahlung!',
113 109
  'Exchangerate missing!'       => 'Es fehlt der Wechselkurs!',
114 110
  'Extended'                    => 'Gesamt',
......
116 112
  'Feb'                         => 'Feb',
117 113
  'February'                    => 'Februar',
118 114
  'File'                        => 'Datei',
119
  'Follow-Up'                   => 'Wiedervorlage',
120 115
  'GL Transaction'              => 'Dialogbuchung',
121 116
  'General ledger and cash'     => 'Finanzbuchhaltung und Zahlungsverkehr',
122 117
  'Group'                       => 'Warengruppe',
123 118
  'History'                     => 'Historie',
124 119
  'In-line'                     => 'im Text',
125
  'Internal Notes'              => 'interne Bemerkungen',
126 120
  'Invnumber missing!'          => 'Rechnungsnummer fehlt!',
127 121
  'Invoice'                     => 'Rechnung',
128 122
  'Invoice Date missing!'       => 'Rechnungsdatum fehlt!',
......
148 142
  'May'                         => 'Mai',
149 143
  'May '                        => 'Mai',
150 144
  'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen',
151
  'Memo'                        => 'Memo',
152 145
  'Message'                     => 'Nachricht',
153 146
  'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
154 147
  'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
155
  'Missing amount'              => 'Fehlbetrag',
156 148
  'Missing parameter #1 in call to sub #2.' => 'Fehlernder Parameter \'#1\' in Funktionsaufruf \'#2\'.',
157 149
  'Missing parameter (at least one of #1) in call to sub #2.' => 'Fehlernder Parameter (mindestens einer aus \'#1\') in Funktionsaufruf \'#2\'.',
158 150
  'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
......
166 158
  'No part was found matching the search parameters.' => 'Es wurde kein Artikel gefunden, auf den die Suchparameter zutreffen.',
167 159
  'No vendor has been selected yet.' => 'Es wurde noch kein Lieferant ausgew?hlt.',
168 160
  'No.'                         => 'Position',
169
  'Notes'                       => 'Bemerkungen',
170 161
  'Nov'                         => 'Nov',
171 162
  'November'                    => 'November',
172 163
  'Number'                      => 'Nummer',
......
192 183
  'Part description'            => 'Artikelbeschreibung',
193 184
  'Payment date missing!'       => 'Tag der Zahlung fehlt!',
194 185
  'Payment posted!'             => 'Zahlung gebucht!',
195
  'Payments'                    => 'Zahlungsausg?nge',
196 186
  'Phone'                       => 'Telefon',
197 187
  'Pick List'                   => 'Sammelliste',
198 188
  'Please enter values'         => 'Bitte Werte eingeben',
199
  'Post'                        => 'Buchen',
200
  'Post Payment'                => 'Zahlung buchen',
201 189
  'Postscript'                  => 'Postscript',
202 190
  'Preview'                     => 'Druckvorschau',
203 191
  'Price'                       => 'Preis',
......
229 217
  'Sales Invoice'               => 'Rechnung',
230 218
  'Sales Order'                 => 'Kundenauftrag',
231 219
  'Sales quotation'             => 'Angebot',
232
  'Save draft'                  => 'Entwurf speichern',
233 220
  'Screen'                      => 'Bildschirm',
234 221
  'Select a Customer'           => 'Endkunde ausw?hlen',
235 222
  'Select a customer'           => 'Einen Kunden ausw&auml;hlen',
......
248 235
  'Shipping Address'            => 'Lieferadresse',
249 236
  'Show details'                => 'Details anzeigen',
250 237
  'Skip'                        => '?berspringen',
251
  'Source'                      => 'Beleg',
252
  'Storno'                      => 'Storno',
253 238
  'Storno Invoice'              => 'Stornorechnung',
254 239
  'Storno Packing List'         => 'Stornolieferschein',
255 240
  'Street'                      => 'Stra?e',
256 241
  'Subject'                     => 'Betreff',
257 242
  'Subtotal'                    => 'Zwischensumme',
258
  'Tax Included'                => 'Steuer im Preis inbegriffen',
259 243
  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
260 244
  '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.',
261 245
  'The config file "config/authentication.pl" contained invalid Perl code:' => 'Die Konfigurationsdatei "config/authentication.pl" enthielt ung&uuml;tigen Perl-Code:',
......
264 248
  'The connection to the authentication database failed:' => 'Die Verbindung zur Authentifizierungsdatenbank schlug fehl:',
265 249
  'The connection to the template database failed:' => 'Die Verbindung zur Vorlagendatenbank schlug fehl:',
266 250
  'The creation of the authentication database failed:' => 'Das Anlegen der Authentifizierungsdatenbank schlug fehl:',
267
  'There are #1 unfinished follow-ups of which #2 are due.' => 'Es gibt #1 Wiedervorlage(n), von denen #2 f?llig ist/sind.',
268 251
  'To (email)'                  => 'An',
269
  'Total'                       => 'Summe',
270 252
  'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
271 253
  'Transfer To Stock'           => 'Lagereingang',
272 254
  'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
273 255
  'Unit'                        => 'Einheit',
274 256
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
275
  'Update'                      => 'Erneuern',
276
  'Use As Template'             => 'Als Vorlage verwenden',
277 257
  'Value'                       => 'Wert',
278 258
  'Variable'                    => 'Variable',
279 259
  'Vendor'                      => 'Lieferant',
......
297 277
  'config/authentication.pl: Missing parameters in "LDAP_config". Required parameters are "host", "attribute" and "base_dn".' => 'config/authentication.pl: Fehlende Parameter in "LDAP_config". Ben&ouml;tigt werden "host", "attribute" und "base_dn".',
298 278
  'customer'                    => 'Kunde',
299 279
  'emailed to'                  => 'gemailt an',
300
  'history'                     => 'Historie',
301 280
  'invoice'                     => 'Rechnung',
302
  'mark as paid'                => 'als bezahlt markieren',
303 281
  'no'                          => 'nein',
304 282
  'none (pricegroup)'           => 'keine',
305 283
  'packing_list'                => 'Versandliste',
......
409 387
  'buchen'                      => 'post',
410 388
  'zahlung_buchen'              => 'post_payment',
411 389
  'entwurf_speichern'           => 'save_draft',
390
  'entwurf_speichern'           => 'save_draft',
412 391
  '?berspringen'                => 'skip',
413 392
  'storno'                      => 'storno',
414 393
  'erneuern'                    => 'update',
templates/webpages/ir/_payments_de.html
1
[%- USE LxERP %]
2
  <tr>
3
   <td>
4
    <table width="100%">
5
     <tr class="listheading">
6
[% IF is_type_credit_note %]
7
      <th colspan="6" class="listheading">Zahlungsausg?nge</th>
8
[% ELSE %]
9
      <th colspan="6" class="listheading">Zahlungseing?nge</th>
10
[%- END %]
11
     </tr>
12

  
13

  
14
     <tr>
15
      <th>Datum</th>
16
      <th>Beleg</th>
17
      <th>Memo</th>
18
      <th>Betrag</th>
19
[% IF show_exchangerate %]
20
      <th>Wechselkurs.</th>
21
[% END %]
22
      <th>Konto</th>
23
     </tr>
24

  
25

  
26
[% FOREACH i = paid_indices %]
27
  [% SET datepaid      = 'datepaid_'      _ i %]
28
  [% SET source        = 'source_'        _ i %]
29
  [% SET memo          = 'memo_'          _ i %]
30
  [% SET paid          = 'paid_'          _ i %]
31
  [% SET selectAP_paid_ref = 'selectAP_paid_' _ i %]
32

  
33
     <tr>
34

  
35
    <td align="center">
36
      <input id="datepaid_[% i %]" name="datepaid_[% i %]" size="11" title="[% dateformat %]" value="[% $datepaid %]">
37
      <input type="button" name="datepaid_[% i %]" id="trigger_datepaid_[% i %]" value="?">
38
     </td>
39
     <td align=center><input name="source_[% i %]" size="11" value="[% $source %]"></td>
40
     <td align="center"><input name="memo_[% i %]" size="11" value="[% $memo %]"></td>
41
     <td align="center"><input name="paid_[% i %]" size="11" value="[% LxERP.format_amount($paid, 2, 1) %]"></td>
42
[% IF show_exchangerate %]
43
     <td align="center">
44
  [% SET forex        = 'forex_'        _ i %]
45
  [% SET exchangerate = 'exchangerate_' _ i %]
46
  [% IF forex %]
47
        <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
48
        [% LxERP.format_amount(exchangerate, 2) %]
49
  [% ELSE %]
50
        <input name="exchangerate_[% i %]" size="10" value="[% LxERP.format_amount($exchangerate, 2, 1) %]">
51
  [% END %]
52
        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">;
53
     </td>
54
[% END %]
55
     <td align="center"><select name="AP_paid_[% i %]">[% $selectAP_paid_ref %]</select></td>
56

  
57
    </tr>
58
    <script type='text/javascript'>
59
     Calendar.setup({ inputField : "datepaid_[% i %]", ifFormat :"[% myconfig_jsc_dateformat %]", align : "TR", button : "trigger_datepaid_[% i %]" });
60
     $('input[name="paid_[% i %]"]').blur(function(){ check_right_number_format(this) });
61
     $('#datepaid_[% i %]').blur(function(){ check_right_date_format(this) });
62
    </script>
63

  
64
[% END # foreach %]
65

  
66
    <tr>
67
      <td></td>
68
      <td></td>
69
      <td align="center">Summe</td>
70
      <td align="center">[% LxERP.foramt_amount(totalpaid, 2) | html %]</td>
71
    </tr>
72
    <tr>
73
      <td></td>
74
      <td></td>
75
      <td align="center">Fehlbetrag</td>
76
      <td align="center">[% LxERP.format_amount(paid_missing, 2) | html %]</td>
77
    </tr>
78

  
79
     <input type="hidden" name="paidaccounts" value="[% paidaccounts %]">
80
     <input type="hidden" name="selectAP_paid" value="[% selectAP_paid %]">
81
     <input type="hidden" name="oldinvtotal" value="[% oldinvtotal %]">
82

  
83
     <input type="hidden" name="oldtotalpaid" value="[% totalpaid %]">
84
    </table>
85

  
86
    </td>
87
  </tr>
templates/webpages/ir/_payments_master.html
1
[%- USE LxERP %]
2
  <tr>
3
   <td>
4
    <table width="100%">
5
     <tr class="listheading">
6
[% IF is_type_credit_note %]
7
      <th colspan="6" class="listheading"><translate>Payments</translate></th>
8
[% ELSE %]
9
      <th colspan="6" class="listheading"><translate>Incoming Payments</translate></th>
10
[%- END %]
11
     </tr>
12

  
13

  
14
     <tr>
15
      <th><translate>Date</translate></th>
16
      <th><translate>Source</translate></th>
17
      <th><translate>Memo</translate></th>
18
      <th><translate>Amount</translate></th>
19
[% IF show_exchangerate %]
20
      <th><translate>Exch</translate></th>
21
[% END %]
22
      <th><translate>Account</translate></th>
23
     </tr>
24

  
25

  
26
[% FOREACH i = paid_indices %]
27
  [% SET datepaid      = 'datepaid_'      _ i %]
28
  [% SET source        = 'source_'        _ i %]
29
  [% SET memo          = 'memo_'          _ i %]
30
  [% SET paid          = 'paid_'          _ i %]
31
  [% SET selectAP_paid_ref = 'selectAP_paid_' _ i %]
32

  
33
     <tr>
34

  
35
    <td align="center">
36
      <input id="datepaid_[% i %]" name="datepaid_[% i %]" size="11" title="[% dateformat %]" value="[% $datepaid %]">
37
      <input type="button" name="datepaid_[% i %]" id="trigger_datepaid_[% i %]" value="?">
38
     </td>
39
     <td align=center><input name="source_[% i %]" size="11" value="[% $source %]"></td>
40
     <td align="center"><input name="memo_[% i %]" size="11" value="[% $memo %]"></td>
41
     <td align="center"><input name="paid_[% i %]" size="11" value="[% LxERP.format_amount($paid, 2, 1) %]"></td>
42
[% IF show_exchangerate %]
43
     <td align="center">
44
  [% SET forex        = 'forex_'        _ i %]
45
  [% SET exchangerate = 'exchangerate_' _ i %]
46
  [% IF forex %]
47
        <input type="hidden" name="exchangerate_[% i %]" value="[% LxERP.format_amount($exchangerate, 2) %]">
48
        [% LxERP.format_amount(exchangerate, 2) %]
49
  [% ELSE %]
50
        <input name="exchangerate_[% i %]" size="10" value="[% LxERP.format_amount($exchangerate, 2, 1) %]">
51
  [% END %]
52
        <input type="hidden" name="forex_[% i %]" value="[% $forex %]">;
53
     </td>
54
[% END %]
55
     <td align="center"><select name="AP_paid_[% i %]">[% $selectAP_paid_ref %]</select></td>
56

  
57
    </tr>
58
    <script type='text/javascript'>
59
     Calendar.setup({ inputField : "datepaid_[% i %]", ifFormat :"[% myconfig_jsc_dateformat %]", align : "TR", button : "trigger_datepaid_[% i %]" });
60
     $('input[name="paid_[% i %]"]').blur(function(){ check_right_number_format(this) });
61
     $('#datepaid_[% i %]').blur(function(){ check_right_date_format(this) });
62
    </script>
63

  
64
[% END # foreach %]
65

  
66
    <tr>
67
      <td></td>
68
      <td></td>
69
      <td align="center"><translate>Total</translate></td>
70
      <td align="center">[% LxERP.foramt_amount(totalpaid, 2) | html %]</td>
71
    </tr>
72
    <tr>
73
      <td></td>
74
      <td></td>
75
      <td align="center"><translate>Missing amount</translate></td>
76
      <td align="center">[% LxERP.format_amount(paid_missing, 2) | html %]</td>
77
    </tr>
78

  
79
     <input type="hidden" name="paidaccounts" value="[% paidaccounts %]">
80
     <input type="hidden" name="selectAP_paid" value="[% selectAP_paid %]">
81
     <input type="hidden" name="oldinvtotal" value="[% oldinvtotal %]">
82

  
83
     <input type="hidden" name="oldtotalpaid" value="[% totalpaid %]">
84
    </table>
85

  
86
    </td>
87
  </tr>
templates/webpages/ir/form_footer_de.html
1
[%- USE HTML %]
2
[%- USE LxERP %]
3
  <tr>
4
   <td>
5
    <table width="100%">
6
     <tr valign="bottom">
7
      <td>
8
       <table>
9
        <tr>
10
         <th align="left">Bemerkungen</th>
11
         <th align="left">interne Bemerkungen</th>
12
        </tr>
13
        <tr valign="top">
14
         <td>
15
          <textarea name="notes" rows="[% rows %]" cols="26" wrap="soft">[% notes %]</textarea>
16
         </td>
17
         <td>
18
          <textarea name="intnotes" rows="[% rows %]" cols="35" wrap="soft">[% intnotes %]</textarea>
19
         </td>
20
        </tr>
21
[%- IF id && follow_ups.size %]
22
        <tr>
23
          <td colspan="2">
24
            [%- LxERP.format_string('Es gibt #1 Wiedervorlage(n), von denen #2 f?llig ist/sind.',
25
                                     follow_ups.size, follow_ups_unfinished) | html
26
            %]
27
          <td>
28
        </tr>
29
[%- END %]
30
       </table>
31
      </td>
32
      <td align="right">
33
  [%- IF taxaccounts %]
34
       <input name="taxincluded" class="checkbox" type="checkbox" [% IF taxincluded %]checked[% END %]>
35
       <b>Steuer im Preis inbegriffen</b>
36
       <br>
37
       <br>
38
  [%- END %]
39
       <table>
40

  
41
[%- UNLESS taxincluded %]
42
        <tr>
43
         <th align="right">Zwischensumme</th>
44
         <td align="right">[% LxERP.format_amount(invsubtotal, 2) %]</td>
45
       </tr>
46
[%- END %]
47

  
48
[%# tax %]
49
[% FOREACH item = taxaccounts_array %]
50
[% SET description_ref = item _ '_description' %]
51
[% SET rate_ref        = item _ '_rate' %]
52
[% SET total_ref       = item _ '_total' %]
53
[% SET netto_ref       = item _ '_netto' %]
54
       <tr>
55
        <th align="right">Enthaltene [% $description_ref | html %]&nbsp;[% $rate_ref * 100 %]%</th>
56
        <td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
57
       </tr>
58
  [%- IF taxincluded %]
59
       <tr>
60
        <th align="right">Nettobetrag</th>
61
        <td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
62
       </tr>
63
  [%- END %]
64
[%- END %]
65

  
66
        <tr>
67
         <th align="right">Summe</th>
68
         <td align="right">[% LxERP.format_amount(invtotal, 2) %]</td>
69
        </tr>
70
       </table>
71
      </td>
72
     </tr>
73
    </table>
74
   </td>
75
  </tr>
76

  
77
[% PROCESS 'webdav/_list_de.html' %]
78

  
79
[% PROCESS 'ir/_payments_de.html' %]
80

  
81
  <tr>
82
    <td><hr size="3" noshade></td>
83
  </tr>
84
  <tr>
85
    <td>
86
[% print_options %]
87
    </td>
88
  </tr>
89
 </table>
90

  
91

  
92

  
93
  [% IF id %]
94

  
95
    <input class="submit" type="submit" accesskey="u" name="action" id="update_button" value="Erneuern">
96
[% IF  show_storno %]
97
    <input class="submit" type="submit" name="action" value="Storno">
98
[% END %]
99
    <input class="submit" type="submit" name="action" value="Zahlung buchen">
100
    <input class="submit" type="submit" name="action" value="Als Vorlage verwenden">
101

  
102
[% IF show_delete %]
103
    <input class="submit" type="submit" name="action" value="L?schen">
104
[% END %]
105

  
106
    <input type="button" class="submit" onclick="follow_up_window()" value="Wiedervorlage">
107

  
108
 [% ELSE # no id %]
109
   [% UNLESS locked %]
110
      <input class="submit" type="submit" name="action" id="update_button" value="Erneuern">
111
      <input class="submit" type="submit" name="action" value="Buchen">
112
      <input class="submit" type="submit" name="action" value="Entwurf speichern">
113
   [%- END %]
114
 [% END # id %]
115

  
116
  [% IF id %]
117
      [%#- button for saving history %]
118
      <input type="button" class="submit" onclick="set_history_window([% id | html %]);" name="history" id="history" value="Historie">
119

  
120
      <input type="submit" class="submit" name="action" value="als bezahlt markieren">
121
  [% END %]
122

  
123
<input type="hidden" name="rowcount" value="[% rowcount %]">
124
<input type="hidden" name="callback" value="[% callback %]">
125
<input type="hidden" name="draft_id" value="[% draft_id %]">
126
<input type="hidden" name="draft_description" value="[% draft_description %]">
127
<input type="hidden" name="vendor_discount" value="[% vendor_discount %]">
128

  
129
</form>
130

  
131
</body>
132

  
133
</html>
templates/webpages/ir/form_footer_master.html
1
[%- USE HTML %]
2
[%- USE LxERP %]
3
  <tr>
4
   <td>
5
    <table width="100%">
6
     <tr valign="bottom">
7
      <td>
8
       <table>
9
        <tr>
10
         <th align="left"><translate>Notes</translate></th>
11
         <th align="left"><translate>Internal Notes</translate></th>
12
        </tr>
13
        <tr valign="top">
14
         <td>
15
          <textarea name="notes" rows="[% rows %]" cols="26" wrap="soft">[% notes %]</textarea>
16
         </td>
17
         <td>
18
          <textarea name="intnotes" rows="[% rows %]" cols="35" wrap="soft">[% intnotes %]</textarea>
19
         </td>
20
        </tr>
21
[%- IF id && follow_ups.size %]
22
        <tr>
23
          <td colspan="2">
24
            [%- LxERP.format_string('<translate>There are #1 unfinished follow-ups of which #2 are due.</translate>',
25
                                     follow_ups.size, follow_ups_unfinished) | html
26
            %]
27
          <td>
28
        </tr>
29
[%- END %]
30
       </table>
31
      </td>
32
      <td align="right">
33
  [%- IF taxaccounts %]
34
       <input name="taxincluded" class="checkbox" type="checkbox" [% IF taxincluded %]checked[% END %]>
35
       <b><translate>Tax Included</translate></b>
36
       <br>
37
       <br>
38
  [%- END %]
39
       <table>
40

  
41
[%- UNLESS taxincluded %]
42
        <tr>
43
         <th align="right"><translate>Subtotal</translate></th>
44
         <td align="right">[% LxERP.format_amount(invsubtotal, 2) %]</td>
45
       </tr>
46
[%- END %]
47

  
48
[%# tax %]
49
[% FOREACH item = taxaccounts_array %]
50
[% SET description_ref = item _ '_description' %]
51
[% SET rate_ref        = item _ '_rate' %]
52
[% SET total_ref       = item _ '_total' %]
53
[% SET netto_ref       = item _ '_netto' %]
54
       <tr>
55
        <th align="right">Enthaltene [% $description_ref | html %]&nbsp;[% $rate_ref * 100 %]%</th>
56
        <td align="right">[% LxERP.format_amount($total_ref, 2) %]</td>
57
       </tr>
58
  [%- IF taxincluded %]
59
       <tr>
60
        <th align="right">Nettobetrag</th>
61
        <td align="right">[% LxERP.format_amount($netto_ref, 2) %]</td>
62
       </tr>
63
  [%- END %]
64
[%- END %]
65

  
66
        <tr>
67
         <th align="right"><translate>Total</translate></th>
68
         <td align="right">[% LxERP.format_amount(invtotal, 2) %]</td>
69
        </tr>
70
       </table>
71
      </td>
72
     </tr>
73
    </table>
74
   </td>
75
  </tr>
76

  
77
[% PROCESS 'webdav/_list_<translate>master</translate>.html' %]
78

  
79
[% PROCESS 'ir/_payments_<translate>master</translate>.html' %]
80

  
81
  <tr>
82
    <td><hr size="3" noshade></td>
83
  </tr>
84
  <tr>
85
    <td>
86
[% print_options %]
87
    </td>
88
  </tr>
89
 </table>
90

  
91

  
92

  
93
  [% IF id %]
94

  
95
    <input class="submit" type="submit" accesskey="u" name="action" id="update_button" value="<translate>Update</translate>">
96
[% IF  show_storno %]
97
    <input class="submit" type="submit" name="action" value="<translate>Storno</translate>">
98
[% END %]
99
    <input class="submit" type="submit" name="action" value="<translate>Post Payment</translate>">
100
    <input class="submit" type="submit" name="action" value="<translate>Use As Template</translate>">
101

  
102
[% IF show_delete %]
103
    <input class="submit" type="submit" name="action" value="<translate>Delete</translate>">
104
[% END %]
105

  
106
    <input type="button" class="submit" onclick="follow_up_window()" value="<translate>Follow-Up</translate>">
107

  
108
 [% ELSE # no id %]
109
   [% UNLESS locked %]
110
      <input class="submit" type="submit" name="action" id="update_button" value="<translate>Update</translate>">
111
      <input class="submit" type="submit" name="action" value="<translate>Post</translate>">
112
      <input class="submit" type="submit" name="action" value="<translate>Save Draft</translate>">
113
   [%- END %]
114
 [% END # id %]
115

  
116
  [% IF id %]
117
      [%#- button for saving history %]
118
      <input type="button" class="submit" onclick="set_history_window([% id | html %]);" name="history" id="history" value="<translate>history</translate>">
119

  
120
      <input type="submit" class="submit" name="action" value="<translate>mark as paid</translate>">
121
  [% END %]
122

  
123
<input type="hidden" name="rowcount" value="[% rowcount %]">
124
<input type="hidden" name="callback" value="[% callback %]">
125
<input type="hidden" name="draft_id" value="[% draft_id %]">
126
<input type="hidden" name="draft_description" value="[% draft_description %]">
127
<input type="hidden" name="vendor_discount" value="[% vendor_discount %]">
128

  
129
</form>
130

  
131
</body>
132

  
133
</html>

Auch abrufbar als: Unified diff