X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=bc4cc453abd8ed3186146cb766a9ca53e63c1b8a;hb=16d8d3266859c841fe6a1a1e18630a230df36cc5;hp=4d40e0bc7cb73163579a0025ba40eacb53d41f5d;hpb=8be9afee4fef39c4753399a2d4a7c42a5658f828;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 4d40e0bc7..bc4cc453a 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -33,6 +33,7 @@ use POSIX qw(strftime); +use SL::DO; use SL::FU; use SL::OE; use SL::IR; @@ -229,8 +230,13 @@ sub order_links { $form->{employee} = "$form->{employee}--$form->{employee_id}"; # build vendor/customer drop down comatibility... don't ask - $form->{"old$form->{vc}"} = $form->{vc}; - $form->{"select$form->{vc}"} = 1; + if (@{ $form->{"all_$form->{vc}"} }) { + $form->{"select$form->{vc}"} = 1; + $form->{$form->{vc}} = qq|$form->{$form->{vc}}--$form->{"$form->{vc}_id"}|; + } + + $form->{"old$form->{vc}"} = $form->{$form->{vc}}; + $form->{"old$form->{vc}"} .= qq|--$form->{"$form->{vc}_id"}| unless ($form->{"old$form->{vc}"} =~ m/--\d+$/); $lxdebug->leave_sub(); } @@ -1451,15 +1457,14 @@ sub invoice { OE->close_orders(\%myconfig, \%$form); } - $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig); - $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1); + $form->{convert_from_oe_ids} = $form->{id}; + $form->{transdate} = $form->{invdate} = $form->current_date(\%myconfig); + $form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1); + $form->{shipto} = 1; + $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); - $form->{id} = ''; - $form->{closed} = 0; + delete @{$form}{qw(id closed)}; $form->{rowcount}--; - $form->{shipto} = 1; - - $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); if ($form->{type} =~ /_order$/) { $form->{exchangerate} = $exchangerate; @@ -1812,9 +1817,9 @@ sub sales_order { $form->{cp_id} *= 1; - $form->{title} = $locale->text('Add Sales Order'); - $form->{vc} = "customer"; - $form->{type} = "sales_order"; + $form->{title} = $locale->text('Add Sales Order'); + $form->{vc} = "customer"; + $form->{type} = "sales_order"; &poso; @@ -1830,30 +1835,30 @@ sub poso { $form->{transdate} = $form->current_date(\%myconfig); delete $form->{duedate}; - $form->{closed} = 0; + $form->{convert_from_oe_ids} = $form->{id}; + $form->{closed} = 0; - $form->{old_employee_id} = $form->{employee_id}; - $form->{old_salesman_id} = $form->{salesman_id}; + $form->{old_employee_id} = $form->{employee_id}; + $form->{old_salesman_id} = $form->{salesman_id}; # reset - map { delete $form->{$_} } - qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal); + map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued customer vendor creditlimit creditremaining discount tradediscount oldinvtotal delivered); for $i (1 .. $form->{rowcount}) { - map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, - $form->{"${_}_${i}"}) - if ($form->{"${_}_${i}"}) } - qw(ship qty sellprice listprice basefactor)); + map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor); } + my %saved_vars = map { $_ => $form->{$_} } grep { $form->{$_} } qw(currency); + &order_links; + map { $form->{$_} = $saved_vars{$_} } keys %saved_vars; + &prepare_order; # format amounts for $i (1 .. $form->{rowcount} - 1) { - map { $form->{"${_}_$i"} =~ s/\"/"/g } - qw(partnumber description unit); + map { $form->{"${_}_$i"} =~ s/\"/"/g } qw(partnumber description unit); } &update; @@ -1879,17 +1884,16 @@ sub delivery_order { require "bin/mozilla/do.pl"; - $form->{cp_id} *= 1; - $form->{transdate} = $form->current_date(\%myconfig); + $form->{cp_id} *= 1; + $form->{convert_from_oe_ids} = $form->{id}; + $form->{transdate} = $form->current_date(\%myconfig); delete $form->{duedate}; - $form->{closed} = 0; - $form->{old_employee_id} = $form->{employee_id}; $form->{old_salesman_id} = $form->{salesman_id}; # reset - map { delete $form->{$_} } qw(id subject message cc bcc printed emailed queued creditlimit creditremaining discount tradediscount oldinvtotal); + delete @{$form}{qw(id subject message cc bcc printed emailed queued creditlimit creditremaining discount tradediscount oldinvtotal closed delivered)}; for $i (1 .. $form->{rowcount}) { map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor);