Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 34420ddb

Von Jan Büren vor etwa 10 Jahren hinzugefügt

  • ID 34420ddb07d6ebea006aa96f131aaa050a7037bc
  • Vorgänger f34953ca
  • Nachfolger c1c1deac

Verknüpfung von Einzelpositionen auch bei periodisch erzeugten Rechnungen (Auftrag -> Rechnung)
Für InvoiceItem in Invoice ein converted_from_*_id hinzugefügt wie bei der Verknüpfung von Auftrag zu
Rechnung, bzw. Lieferschein zu Rechnung. Letzterer Weg wird aktuell bei Objekten noch nicht
benutzt. Ferner einen Rückgabewert von create_links (RecordLinks) etwas verbessert (undef bei nicht
erfolgtem Anlegen).
Offen: Implementierung der Verknüpfung von DeliveryOrderItem-Objekten mit InvoiceItem-Objekten.
Diese werden aktuell nicht benutzt und betrifft auch nicht periodische Rechnungen.

Unterschiede anzeigen:

SL/DB/Invoice.pm
$item_parents{$source_item_id} ||= $source_item->$item_parent_column;
my $item_parent = $item_parents{$source_item_id};
SL::DB::InvoiceItem->new(map({ ( $_ => $source_item->$_ ) }
qw(parts_id description qty sellprice discount project_id serialnumber pricegroup_id transdate cusordnumber unit
base_qty longdescription lastcost price_factor_id active_discount_source active_price_source), @item_columns),
deliverydate => $source_item->reqdate,
fxsellprice => $source_item->sellprice,
custom_variables => \@custom_variables,
ordnumber => ref($item_parent) eq 'SL::DB::Order' ? $item_parent->ordnumber : $source_item->ordnumber,
donumber => ref($item_parent) eq 'SL::DB::DeliveryOrder' ? $item_parent->donumber : $source_item->can('donumber') ? $source_item->donumber : '',
);
my $current_invoice_item =
SL::DB::InvoiceItem->new(map({ ( $_ => $source_item->$_ ) }
qw(parts_id description qty sellprice discount project_id serialnumber pricegroup_id transdate cusordnumber unit
base_qty longdescription lastcost price_factor_id active_discount_source active_price_source), @item_columns),
deliverydate => $source_item->reqdate,
fxsellprice => $source_item->sellprice,
custom_variables => \@custom_variables,
ordnumber => ref($item_parent) eq 'SL::DB::Order' ? $item_parent->ordnumber : $source_item->ordnumber,
donumber => ref($item_parent) eq 'SL::DB::DeliveryOrder' ? $item_parent->donumber : $source_item->can('donumber') ? $source_item->donumber : '',
);
$current_invoice_item->{"converted_from_orderitems_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::Order';
$current_invoice_item->{"converted_from_delivery_order_items_id"} = $_->{id} if ref($item_parent) eq 'SL::DB::DeliveryOrder';
$current_invoice_item;
} @{ $items };
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};

Auch abrufbar als: Unified diff