Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision cbb8eb07

Von Sven Schöling vor fast 3 Jahren hinzugefügt

  • ID cbb8eb078305a3eeca9c6c192a66176676da54f8
  • Vorgänger 95dd02de
  • Nachfolger 8f413df4

ShippedQty: delivered korrekt setzen

Wenn der Helper ohne fill_up aufgerufen wurde, wurden nicht existierende
Positionen für die delivered Berechnung ignoriert

Unterschiede anzeigen:

SL/Helper/ShippedQty.pm
270 270
  $self->shipped_qty({});
271 271
}
272 272

  
273
# some of the invocations never need to load all orderitems to copute their answers
274
# delivered however needs oi_qty to be set for each orderitem to decide whether
275
# delivered should be set or not.
276
sub ensure_all_orderitems_for_orders {
277
  my ($self) = @_;
278

  
279
  return if $self->fill_up;
280

  
281
  my $oi_query  = sprintf $fill_up_oi_query,   join (', ', ('?')x@{ $self->oe_ids });
282
  my $oi  = selectall_hashref_query($::form, $self->dbh, $oi_query, @{ $self->oe_ids });
283
  for (@$oi) {
284
    $self->{oi_qty}{ $_->{id} } //= $_->{qty};
285
    $self->{oi2oe}{ $_->{id} }  //= $_->{trans_id};
286
  }
287
}
288

  
273 289
sub available_item_identity_fields {
274 290
  map { [ $_ => $item_identity_fields{$_} ] } @known_item_identity_fields;
275 291
}
......
291 307
sub init_matches { [] }
292 308
sub init_delivered {
293 309
  my ($self) = @_;
310

  
311
  $self->ensure_all_orderitems_for_orders;
312

  
294 313
  my $d = { };
295 314
  for (keys %{ $self->oi_qty }) {
296 315
    my $oe_id = $self->oi2oe->{$_};

Auch abrufbar als: Unified diff