Revision b092fef7
Von Jan Büren vor etwa 10 Jahren hinzugefügt
SL/DB/OrderItem.pm | ||
---|---|---|
34 | 34 |
return sum(map { AM->convert_unit($_->unit => $self->unit) * $_->qty } @doi); |
35 | 35 |
} |
36 | 36 |
|
37 |
sub delivered_qty { |
|
38 |
my ($self) = @_; |
|
39 |
|
|
40 |
my $d_orders = $self->order->linked_records(direction => 'to', to => 'SL::DB::DeliveryOrder'); |
|
41 |
my @d_orders_delivered; |
|
42 |
|
|
43 |
foreach (@$d_orders) { |
|
44 |
push (@d_orders_delivered, $_) if $_->delivered; |
|
45 |
} |
|
46 |
|
|
47 |
my @doi_delivered = grep { $_->parts_id == $self->parts_id } map { $_->orderitems } @d_orders_delivered; |
|
48 |
|
|
49 |
require SL::AM; |
|
50 |
return sum(map { AM->convert_unit($_->unit => $self->unit) * $_->qty } @doi_delivered); |
|
51 |
} |
|
52 |
|
|
37 | 53 |
1; |
Auch abrufbar als: Unified diff
Lieferplan-Bericht um Berichts-Feld "ausgelagerte Menge" erweitert
Der Lieferplan berechnet aktuell die "verschickte" Menge der Waren
aus der Menge der generierten Lieferschein, beachtet aber nicht den
tatsächlichen Status des Lieferscheins (ausgelagert oder nicht).
Entsprechend ein Extra-Feld in dem Bericht hinzugefügt, dass diese
Untermenge der Lieferscheine (Status ausgelagert) berücksichtigt.
Nur teilweise ausgelagerte Lieferscheine werden NICHT berücksichtigt.
-> technischer Hintergrund: keine Verknüpfung mit inventory
Die "große" UNION-Query (sub delivery_plan_query) musste nicht angefasst werden,
da der Filter über "offene Verkaufsaufträge" geht. Verkaufsaufträge werden aber
erst dann geschlossen wenn alle Menge in der Verkaufsrechnung verbucht
worden sind und NICHT wenn alle Mengen in den Lieferscheinen (unabhängig
vom Status 'ausgelagert') verbucht / geschrieben wurden.