- $i=0;while ($i <= $#fieldname) {
- if ($fieldname[$i] eq "Category") {
- $attribs->{completion_entry_function} = $attribs->{list_completion_function};
- $attribs->{completion_word} = \@categories;
- } elsif ($fieldname[$i] eq "Year") {
- $attribs->{completion_entry_function} = $attribs->{list_completion_function};
- $input[$i] = substr($input[0],-4);
- $attribs->{completion_word} = $input[$i];
- } elsif ($fieldname[$i] eq "Description") {
- $attribs->{completion_entry_function} = $attribs->{list_completion_function};
- @descriptions = get_descriptions $input[1];
- $attribs->{completion_word} = \@descriptions;
- } elsif ($fieldname[$i] eq "Tax assigned") {
- if ($input[$i-1] == 0) {
- $input[$i++] = 0;
- next;
- }
- } else {
- $attribs->{completion_word} = undef;
- }
- $ans = read_input($fieldname[$i],$input[$i]);
- if ($fieldname[$i] eq "Category" && $ans eq "?") {
- printf " %s\n", join (", ",@categories);
- } elsif ($fieldname[$i] eq "Datum") {
- if ($ans =~ /^\d+\.\d+.\d+$/) {
- $input[$i] = $ans;
- $i++;
- } elsif ($ans =~ /^\d+\.\d+.$/) {
- $ans .= $date_year + 1900;
- $input[$i] = $ans;
- $i++;
- } elsif ($ans =~ /^\d+\.$/) {
- $ans .= sprintf ("%d.%d", $date_mon + 1, $date_year + 1900);
- $input[$i] = $ans;
- $i++;
- }
- } elsif ($fieldname[$i] eq "Paid" || $fieldname[$i] eq "PDF") {
- if ($ans =~ /[1jJyY]/) {
- $input[$i] = 1;
- } else {
- $input[$i] = 0;
- }
- $i++;
- } else {
- $input[$i] = $ans;
- $i++;
- }
- }
- if (!$input[7]) { # USt selbst berechnen
- if ($input[6] != 0) {
- $input[7] = $input[8] - ($input[8] / ((100+$input[6])/100));
- }
- }
-
- if ($input[5] =~ /[EeIi\+]/) {
- $input[7] *= -1 if ($input[7] < 0);
- $input[8] *= -1 if ($input[8] < 0);
- } else {
- $input[7] *= -1 if ($input[7] > 0);
- $input[8] *= -1 if ($input[8] > 0);