Revision e50a00d2
Von Sven Schöling vor fast 15 Jahren hinzugefügt
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"} | |
|
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"} | |
|
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| |; |
|
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ü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ä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 überprü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ü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ä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ö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 %] [% $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 %] [% $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
ir.pl: template footer, payments.