Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision df1b03d5

Von Sven Schöling vor mehr als 9 Jahren hinzugefügt

  • ID df1b03d578280d71fb839b437505dd283f6dd749
  • Vorgänger 0409db7c
  • Nachfolger 2bdd0bc5

PriceSource: Featureabdeckung

- Einkaufs/Verkauf abgedeckt
- Klarere Regeln für price_from_source, available_prices und best_price
- makemodels unterstützung
- bugfixes für Rechnungen und neue Belege
- best_price jetzt getestet
- Verkäuferabhängigkeit von makemodels und pricegroup implementiert und getestet

Unterschiede anzeigen:

bin/mozilla/io.pl
234 234
      $form->{"sellprice_$i"} = $form->{"price_new_$i"};
235 235
    }
236 236

  
237
    my $record_item = $record->items->[$i-1];
237
    my $record_item = $record->id && $record->items ? $record->items->[$i-1] : _make_record_item($i);
238 238

  
239 239
# unit begin
240 240
    $form->{"unit_old_$i"}      ||= $form->{"unit_$i"};
......
520 520

  
521 521
  map { $form->{"${_}_$i"} = $new_item->{$_} } @new_fields;
522 522

  
523
  my $record       = _make_record();
524
  my $price_source = SL::PriceSource->new(record_item => $record->items->[$i-1], record => $record);
525
  my $best_price   = $price_source->best_price;
526

  
527
  if ($best_price) {
528
    $::form->{"sellprice_$i"}           = $best_price->price;
529
    $::form->{"active_price_source_$i"} = $best_price->source;
530
  }
531

  
532

  
523 533
  $form->{"marge_price_factor_$i"} = $new_item->{price_factor};
524 534

  
525 535
  if ($form->{"part_payment_id_$i"} ne "") {
......
1941 1951
    purchase_oder           => 'Order',
1942 1952
    sales_quotation         => 'Order',
1943 1953
    request_quotation       => 'Order',
1944
    invoice                 => 'Invoice',
1945
    purchase_invoice        => 'PurchaseInvoice',
1946 1954
    purchase_delivery_order => 'DeliveryOrder',
1947 1955
    sales_delivery_order    => 'DeliveryOrder',
1948 1956
  }->{$::form->{type}};
1949 1957

  
1958
  if ($::form->{type} eq 'invoice') {
1959
    $class = $::form->{vc} eq 'customer' ? 'Invoice'
1960
           : $::form->{vc} eq 'vendor'   ? 'PurchaseInvoice'
1961
           : do { die 'unknown invoice type' };
1962
  }
1963

  
1950 1964
  return unless $class;
1951 1965

  
1952 1966
  $class = 'SL::DB::' . $class;
......
1976 1990
    push @items, _make_record_item($i)
1977 1991
  }
1978 1992

  
1979
  $obj->orderitems(@items);
1993
  $obj->items(@items) if @items;
1980 1994

  
1981 1995
  return $obj;
1982 1996
}

Auch abrufbar als: Unified diff