$form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
$form->{javascript} .= qq|<script type="text/javascript" src="js/follow_up.js"></script>|;
+ my $globalprojectnumber =
+ NTI($cgi->popup_menu('-name' => "globalproject_id",
+ '-values' => \@project_values,
+ '-labels' => \%project_labels,
+ '-default' => $form->{"globalproject_id"} ));
+
$form->header;
my $onload = qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|;
$onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
<th align=right nowrap>| . $locale->text('Due Date') . qq|</th>
$button2
</tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Project Number') . qq|</th>
+ <td>$globalprojectnumber</td>
+ </tr>
</table>
</td>
</tr>
# format amounts
if ($form->{"paid_$i"}) {
$form->{"paid_$i"} =
- $form->format_amount(\%myconfig, $form->{"paid_$i"}, 2);
+ $form->format_amount(\%myconfig, $form->{"paid_$i"}, 2);
}
- $form->{"exchangerate_$i"} =
- $form->format_amount(\%myconfig, $form->{"exchangerate_$i"});
if ($form->{"exchangerate_$i"} == 0) {
$form->{"exchangerate_$i"} = "";
+ } else {
+ $form->{"exchangerate_$i"} =
+ $form->format_amount(\%myconfig, $form->{"exchangerate_$i"});
}
+ print qq|<input type=hidden name="gldate_$i" value=$form->{"gldate_$i"}>\n|;
+ my $changeable = (($form->{"gldate_$i"} eq '') || $form->current_date(\%myconfig) eq $form->{"gldate_$i"});
+ $form->{"payment_readonly_$i"} = ($changeable)? 0 : 1;
+ print qq|<input type=hidden name="payment_readonly_$i" value=$form->{"payment_readonly_$i"}>\n|;
+
$exchangerate = qq| |;
if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
if ($form->{"forex_$i"}) {
$exchangerate =
qq|<input type=hidden name="exchangerate_$i" value=$form->{"exchangerate_$i"}>$form->{"exchangerate_$i"}|;
} else {
- $exchangerate =
- qq|<input name="exchangerate_$i" size=10 value=$form->{"exchangerate_$i"}>|;
+ if ($changeable) {
+ $exchangerate =
+ qq|<input name="exchangerate_$i" size=10 value=$form->{"exchangerate_$i"}>|;
+ } else {
+ $exchangerate = qq|$form->{"exchangerate_$i"}|.
+ qq|<input type=hidden name="exchangerate_$i" value=$form->{"exchangerate_$i"}>$form->{"exchangerate_$i"}|;
+ }
}
}
<input type=hidden name="forex_$i" value=$form->{"forex_$i"}>
|;
- $column_data{"paid_$i"} =
- qq|<td align=center><input name="paid_$i" size=11 value="$form->{"paid_$i"}" onBlur=\"check_right_number_format(this)\"></td>|;
- $column_data{"AP_paid_$i"} =
- qq|<td align=center>${selectAP_paid}</td>|;
- $column_data{"exchangerate_$i"} = qq|<td align=center>$exchangerate</td>|;
- $column_data{"datepaid_$i"} =
- 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)\">
+ my $datepaid;
+ if ($changeable) {
+ $datepaid = 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)\">
<input type="button" name="datepaid_$i" id="trigger_datepaid_$i" value="| . $locale->text('Details (one letter abbreviation)') . qq|"></td>|;
- $column_data{"source_$i"} =
- qq|<td align=center><input name="source_$i" size=11 value="$form->{"source_$i"}"></td>|;
- $column_data{"memo_$i"} =
- qq|<td align=center><input name="memo_$i" size=11 value="$form->{"memo_$i"}"></td>|;
- $column_data{"paid_project_id_$i"} =
+ } else {
+ $datepaid = qq|<td align=center>$form->{"datepaid_$i"}</td>|.
+ qq|<input type=hidden name="datepaid_$i" value=$form->{"datepaid_$i"}>|;
+ }
+
+ my $paid;
+ if ($changeable) {
+ $paid = qq|<td align=center><input name="paid_$i" size=11 value="$form->{"paid_$i"}" onBlur=\"check_right_number_format(this)\"></td>|;
+ } else {
+ $paid = qq|<td align=center>$form->{"paid_$i"}</td>|.
+ qq|<input type=hidden name="paid_$i" value=$form->{"paid_$i"}>|;
+ }
+
+ my $source;
+ if ($changeable) {
+ $source = qq|<td align=center><input name="source_$i" size=11 value="$form->{"source_$i"}"></td>|;
+ } else {
+ $source = qq|<td align=center>$form->{"source_$i"}</td>|.
+ qq|<input type=hidden name="source_$i" value=$form->{"source_$i"}>|;
+ }
+
+ my $memo;
+ if ($changeable) {
+ $memo = qq|<td align=center><input name="memo_$i" size=11 value="$form->{"memo_$i"}"></td>|;
+ } else {
+ $memo = qq|<td align=center>$form->{"memo_$i"}</td>|.
+ qq|<input type=hidden name="memo_$i" value=$form->{"memo_$i"}>|;
+ }
+
+ my $AP_paid;
+ if ($changeable) {
+ $AP_paid = qq|<td align=center>${selectAP_paid}</td>|;
+ } else {
+ $AP_paid = qq|<td align=center>$form->{"AP_paid_$i"}</td>|.
+ qq|<input type=hidden name="AP_paid_$i" value=$form->{"AP_paid_$i"}>|;
+ }
+
+ my $paid_project_id;
+ if ($changeable) {
+ $paid_project_id =
qq|<td>|
. NTI($cgi->popup_menu('-name' => "paid_project_id_$i",
'-values' => \@project_values,
'-labels' => \%project_labels,
'-default' => $form->{"paid_project_id_$i"} ))
. qq|</td>|;
+ } else {
+ my $projectnumber = $project_labels{$form->{"paid_project_id_$i"}};
+ $paid_project_id = qq|<td>$projectnumber</td>|.
+ qq|<input type=hidden name="paid_project_id_$i" value=$form->{"paid_project_id_$i"}>|;
+ }
+
+ $column_data{"paid_$i"} = $paid;
+ $column_data{"AP_paid_$i"} = $AP_paid;
+ $column_data{"exchangerate_$i"} = qq|<td align=center>$exchangerate</td>|;
+ $column_data{"datepaid_$i"} = $datepaid;
+ $column_data{"source_$i"} = $source;
+ $column_data{"memo_$i"} = $memo;
+ $column_data{"paid_project_id_$i"} = $paid_project_id;
map { print qq|$column_data{"${_}_$i"}\n| } @column_index;
print "
</tr>
";
- push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i");
+ if ($changeable) {
+ push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i");
+ }
}
my $paid_missing = $form->{invtotal_unformatted} - $form->{totalpaid};
$main::auth->assert('general_ledger');
- map { delete $form->{$_} } qw(printed emailed queued invnumber invdate deliverydate id datepaid_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno);
+ map { delete $form->{$_} } qw(printed emailed queued invnumber invdate deliverydate id datepaid_1 gldate_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno);
$form->{paidaccounts} = 1;
$form->{rowcount}--;
$form->{invdate} = $form->current_date(\%myconfig);
'transaction_description' => { 'text' => $locale->text('Transaction description'), },
'notes' => { 'text' => $locale->text('Notes'), },
'employee' => { 'text' => $locale->text('Employee'), },
- 'globalprojectnumber' => { 'text' => $locale->text('Project Number'), },
+ 'globalprojectnumber' => { 'text' => $locale->text('Document Project Number'), },
'vendornumber' => { 'text' => $locale->text('Vendor Number'), },
'country' => { 'text' => $locale->text('Country'), },
'ustid' => { 'text' => $locale->text('USt-IdNr.'), },