use strict;
+my $print_post;
+
1;
# end of main
-my $print_post;
-
sub check_do_access {
$main::auth->assert($main::form->{type} . '_edit');
}
my $rows = scalar @{ $form->{item_list} };
if ($rows) {
- $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
+ $form->{"qty_$i"} = 1 unless $form->parse_amount(\%myconfig, $form->{"qty_$i"});
if ($rows > 1) {
my @hidden_variables = map { "l_${_}" } @columns;
push @hidden_variables, $form->{vc}, qw(l_closed l_notdelivered open closed delivered notdelivered donumber ordnumber
- transaction_description transdatefrom transdateto type vc employee_id salesman_id);
+ transaction_description transdatefrom transdateto type vc employee_id salesman_id project_id);
my $href = build_std_url('action=orders', grep { $form->{$_} } @hidden_variables);
# $locale->text('Customer missing!');
# $locale->text('Vendor missing!');
+ remove_emptied_rows();
validate_items();
# if the name changed get new values
}
$form->{id} = 0 if $form->{saveasnew};
-
+ # best case fix für bug 1079. Einkaufsrabatt wird nicht richtig
+ # aus Lieferantenauftrag -> Lieferschein -> Rechnung übernommen
+ # Tritt nur auf, wenn man direkt über Lieferschein -> speichern ->
+ # Workflow Rechnung geht (beim Aufruf über edit() i.O.)
+ # Gut. DO-save() speichert den Discount im DB-Format 0.12 für
+ # 12%, die Konvertierung wird leider in $form gemacht und daher
+ # wird die Maske mit dem falschen Rabatt wieder aufgebaut.
+ # Wie immer: backup_vars verwenden um nichts anderes kaputt zu
+ # machen. jan 03.03.2010
+ for my $i (1 .. $form->{rowcount}) {
+ $form->{"backup_discount_$i"} = $form->{"discount_$i"};
+ };
DO->save();
-
+ for my $i (1 .. $form->{rowcount}) {
+ $form->{"discount_$i"} = $form->{"backup_discount_$i"};
+ delete $form->{"backup_discount_$i"};
+ };
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
- $form->{addition} = "SAVED";
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "SAVED";
+ $form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
- $form->{addition} = "DELETED";
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "DELETED";
+ $form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
$form->{type} = "invoice";
# locale messages
- $locale = new Locale "$myconfig{countrycode}", "$script";
+ $main::locale = new Locale "$myconfig{countrycode}", "$script";
+ $locale = $main::locale;
require "bin/mozilla/$form->{script}";
# zwischenspeichern (DO.pm) und als ' '-separierte Liste wieder zurueckschreiben
# Hinweis: delete gibt den wert zurueck und loescht danach das element (nett und einfach)
# $shell: perldoc perlunc; /delete EXPR
- $form->{donumber} = delete $form->{donumber_array};
+ $form->{donumber} = delete $form->{donumber_array};
$form->{deliverydate} = $form->{transdate};
$form->{transdate} = $form->current_date(\%myconfig);
$form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
$ref->{reqdate} ||= $ref->{dord_transdate}; # copy transdates into each invoice row
map { $form->{"${_}_$form->{rowcount}"} = $ref->{$_} } keys %{ $ref };
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice discount lastcost);
- $form->{"discount_$form->{rowcount}"} = $form->{"discount_$form->{rowcount}"} * 100; #s.a. Bug 1151
- # Anm.: Eine Änderung des discounts in der SL/DO.pm->retrieve (select (doi.discount * 100) as discount) ergibt in psql einen
- # Wert von 10.0000001490116. Ferner ist der Rabatt in der Rechnung dann bei 1.0 (?). Deswegen lasse ich das hier. jb 10.10.09
+ $form->{"discount_$form->{rowcount}"} = $form->{"discount_$form->{rowcount}"} * 100; #s.a. Bug 1151
+ # Anm.: Eine Änderung des discounts in der SL/DO.pm->retrieve (select (doi.discount * 100) as discount) ergibt in psql einen
+ # Wert von 10.0000001490116. Ferner ist der Rabatt in der Rechnung dann bei 1.0 (?). Deswegen lasse ich das hier. jb 10.10.09
}
delete $form->{form_details};