use SL::FU;
use SL::IS;
use SL::PE;
+use SL::OE;
use Data::Dumper;
use List::Util qw(max sum);
$ref->{name} = $form->quote($ref->{name});
}
+ # Load data for a specific order and update form fields
+ my $order_data = OE->get_order_data_by_ordnumber(%$form) if $form->{ordnumber};
+
+ # Copy the fields we need to %form
+ for my $key (qw(payment_id salesman_id orddate taxzone_id quonumber)) {
+ $form->{$key} = $order_data->{$key};
+ }
+
$form->restore_vars(qw(id));
IS->retrieve_invoice(\%myconfig, \%$form);
$form->restore_vars(qw(taxincluded)) if $form->{id};
$form->restore_vars(qw(salesman_id)) if $main::editing;
+
# build vendor/customer drop down comatibility... don't ask
if (@{ $form->{"all_customer"} }) {
$form->{"selectcustomer"} = 1;
(my $dec_qty) = ($form->{"qty_$i"} =~ /\.(\d+)/);
$dec_qty = length $dec_qty;
+ $form->{"lastcost_$i"} = $form->format_amount(\%myconfig, $form->{"lastcost_$i"}, $decimalplaces);
+
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);
$form->{rowcount} = $i;
$form->{creditremaining} -= $amount;
- map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, $decimalplaces) } qw(sellprice listprice);
+ map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, $decimalplaces) } qw(sellprice listprice lastcost);
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"});
&update;
exit;
}
+
+ if ($myconfig{mandatory_departments} && !$form->{department_id}) {
+ $form->{saved_message} = $::locale->text('You have to specify a department.');
+ update();
+ exit;
+ }
+
if ($form->{second_run}) {
$form->{print_and_post} = 0;
}
+ remove_emptied_rows();
&validate_items;
my $closedto = $form->datetonum($form->{closedto}, \%myconfig);
$form->{creditremaining} -= ($form->{oldinvtotal} - $form->{ordtotal});
+ # bei Gutschriften werden Zahlungseingänge aus Rechnung nicht übernommen
+ for my $i (1 .. $form->{paidaccounts}) {
+ delete $form->{"paid_$i"};
+ delete $form->{"source_$i"};
+ delete $form->{"memo_$i"};
+ delete $form->{"datepaid_$i"};
+ delete $form->{"AR_paid_$i"};
+ };
+ $form->{paidaccounts} = 1;
+
&prepare_invoice;