Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision da804bf2

Von G. Richardson vor mehr als 14 Jahren hinzugefügt

EK-Preis editierbar gemacht und marge_total repariert

Der EK-Preis ist jetzt in Angebot/Auftrag/Rechnung editierbar.

Dies ist praktisch für Händler/Wiederverkäufer, bei denen sich der EK-Preis
häufig ändert, und es sich nicht lohnt, diesen in den Stammdaten zu pflegen.

Der EK-Preis wird (als lastcost) zusammen mit marge_total und marge_percent für
jeden Artikel in orderitems/invoice in der DB gespeichert. (Bei marge_total gab
es hier einen Bug, der falsche Variablenname wurde benutzt und marge_total war
immer leer.)

Der Stammdaten-EK-Preis wird nicht verändert, wenn man einen abweichenden
EK-Preis eingibt.

Unterschiede anzeigen:

bin/mozilla/io.pl
159 159
  );
160 160
  my @column_index = map { $_->{id} } grep { $_->{display} } @HEADER;
161 161

  
162

  
162 163
  # cache units
163 164
  my $all_units       = AM->retrieve_units(\%myconfig, $form);
164 165

  
......
209 210
    my %column_data = ();
210 211

  
211 212
    # undo formatting
212
    map { $form->{"${_}_$i"} = $form->parse_amount(\%myconfig, $form->{"${_}_$i"}) } qw(qty discount sellprice price_new price_old) unless ($form->{simple_save});
213
    map { $form->{"${_}_$i"} = $form->parse_amount(\%myconfig, $form->{"${_}_$i"}) } 
214
      qw(qty discount sellprice lastcost price_new price_old) 
215
        unless ($form->{simple_save});
213 216

  
214 217
# unit begin
215 218
    $form->{"unit_old_$i"}      ||= $form->{"unit_$i"};
......
294 297
      }
295 298
      $column_data{sellprice} = $cgi->textfield(-name => "sellprice_$i", -size => 10, -onBlur => "check_right_number_format(this)", -value =>
296 299
                                                $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces));
300

  
297 301
    }
298 302
    $column_data{discount}    = $cgi->textfield(-name => "discount_$i", -size => 3, -value => $form->format_amount(\%myconfig, $form->{"discount_$i"}));
299 303
    $column_data{linetotal}   = $form->format_amount(\%myconfig, $linetotal, 2);
......
338 342

  
339 343
    map { $form->{"${_}_$i"} = $form->format_amount(\%myconfig, $form->{"${_}_$i"}, 2) } qw(marge_absolut marge_percent);
340 344

  
341
    push @ROW2, { value => sprintf qq|<font %s><b>%s</b> %s &nbsp;%s%% </font> &nbsp;<b>%s</b> %s &nbsp;<b>%s</b> %s|,
345
    push @ROW2, { value => sprintf qq|
346
         <font %s><b>%s</b> %s &nbsp;%s%% </font> 
347
        &nbsp;<b>%s</b> %s 
348
        &nbsp;<b>%s</b> <input size="5" name="lastcost_$i" value="%s">|,
342 349
                   $marge_color, $locale->text('Ertrag'),$form->{"marge_absolut_$i"}, $form->{"marge_percent_$i"},
343 350
                   $locale->text('LP'), $form->format_amount(\%myconfig, $form->{"listprice_$i"}, 2),
344 351
                   $locale->text('EK'), $form->format_amount(\%myconfig, $form->{"lastcost_$i"}, 2) }
......
361 368
    my @hidden_vars;
362 369

  
363 370
    if ($is_delivery_order) {
364
      map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount);
365
      push @hidden_vars, qw(sellprice discount price_factor_id);
371
      map { $form->{"${_}_${i}"} = $form->format_amount(\%myconfig, $form->{"${_}_${i}"}) } qw(sellprice discount lastcost);
372
      push @hidden_vars, qw(sellprice discount price_factor_id lastcost);
366 373
      push @hidden_vars, "stock_${stock_in_out}_sum_qty", "stock_${stock_in_out}";
367 374
    }
368 375

  
......
372 379
          map { ($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } map { $_."_$i" }
373 380
            (qw(orderitems_id bo pricegroup_old price_old id inventory_accno bin partsgroup partnotes
374 381
                income_accno expense_accno listprice assembly taxaccounts ordnumber transdate cusordnumber
375
                longdescription basefactor marge_absolut marge_percent marge_price_factor lastcost), @hidden_vars)
382
                longdescription basefactor marge_absolut marge_percent marge_price_factor), @hidden_vars)
376 383
    );
377 384

  
378 385
    map { $form->{"${_}_base"} += $linetotal } (split(/ /, $form->{"taxaccounts_$i"}));

Auch abrufbar als: Unified diff