From: G. Richardson Date: Tue, 9 Aug 2016 22:14:38 +0000 (+0200) Subject: Neue Part-Methoden für Erzeugnis- und Sortimentssummen X-Git-Tag: release-3.5.4~1887 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=0d5564ee4eaf6af6cbcc0c59b08e9ed16c828b49;p=kivitendo-erp.git Neue Part-Methoden für Erzeugnis- und Sortimentssummen derzeit noch nicht rekursiv (wenn ein Sortiment wiederum aus anderen Sortimenten besteht). --- diff --git a/SL/DB/Part.pm b/SL/DB/Part.pm index 2535efca9..901f57aa8 100644 --- a/SL/DB/Part.pm +++ b/SL/DB/Part.pm @@ -16,6 +16,7 @@ use SL::DB::Helper::CustomVariables ( module => 'IC', cvars_alias => 1, ); +use List::Util qw(sum); __PACKAGE__->meta->add_relationships( assemblies => { @@ -284,6 +285,34 @@ sub clone_and_reset_deep { return $clone; } +sub assembly_sellprice_sum { + my ($self) = @_; + + return unless $self->is_assembly; + sum map { $_->linetotal } @{$self->part->assemblies}; +}; + +sub assembly_lastcost_sum { + my ($self) = @_; + + return unless $self->is_assembly; + sum map { $_->linetotal } @{$self->part->assemblies}; +}; + +sub assortment_sellprice_sum { + my ($self) = @_; + + return unless $self->is_assortment; + sum map { $_->linetotal } @{$self->part->assortment_items}; +}; + +sub assortment_lastcost_sum { + my ($self) = @_; + + return unless $self->is_assortment; + sum map { $_->linetotal } @{$self->part->assortment_items}; +}; + 1; __END__ @@ -422,6 +451,22 @@ Used to set the accounting information from a L object. Please note, that this is a write only accessor, the original Buchungsgruppe can not be retrieved from an article once set. +=item C + +Non-recursive sellprice sum of all the assembly item sellprices. + +=item C + +Non-recursive sellprice sum of all the assortment item sellprices. + +=item C + +Non-recursive lastcost sum of all the assembly item lastcosts. + +=item C + +Non-recursive lastcost sum of all the assortment item lastcosts. + =back =head1 AUTHORS