Revision 5d711a25
Von Martin Helmling martin.helmling@octosoft.eu vor fast 8 Jahren hinzugefügt
SL/Dev/Part.pm | ||
---|---|---|
40 | 40 |
my (%params) = @_; |
41 | 41 |
|
42 | 42 |
my @parts; |
43 |
my $part1 = SL::Dev::Part::create_part(partnumber => 'ap1', |
|
43 |
my $partnumber = delete $params{part1number} || 'ap1'; |
|
44 |
my $part1 = SL::Dev::Part::create_part(partnumber => $partnumber, |
|
44 | 45 |
description => 'Testpart', |
45 | 46 |
)->save; |
46 | 47 |
push(@parts, $part1); |
... | ... | |
49 | 50 |
|
50 | 51 |
for my $i ( 2 .. $number_of_parts ) { |
51 | 52 |
my $part = $parts[0]->clone_and_reset; |
52 |
$part->partnumber( ($part->partnumber // '') . " " . $i );
|
|
53 |
$part->partnumber( $partnumber . " " . $i );
|
|
53 | 54 |
$part->description( ($part->description // '') . " " . $i ); |
54 | 55 |
$part->save; |
55 | 56 |
push(@parts, $part); |
56 | 57 |
} |
57 | 58 |
|
59 |
my $assnumber = delete $params{assnumber} || 'as1'; |
|
58 | 60 |
my $assembly = SL::DB::Part->new_assembly( |
59 |
partnumber => 'as1',
|
|
61 |
partnumber => $assnumber,
|
|
60 | 62 |
description => 'Test Assembly', |
61 | 63 |
sellprice => '10', |
62 | 64 |
lastcost => '5', |
Auch abrufbar als: Unified diff
Prüfen der Bestandteile eines Erzeugnisses beim Hinzufügen
Erst Prüfung innerhalb des Erzeugnisses,
dann recursive Prüfung der das Erzeugnis enthaltenen Erzeugnisse,
Abbruch nach 100 Rekursionen.
Die Abfrage ist so, dass nur vom Erzeugnis abwärts der Baum in die Tiefe geprüft wird.
Dabei darf auf einem Graph kein Erzeugnis doppelt vorkommen.
Erzeugnisse sind nun editierbar, wenn sie von einem anderen Erzeugnis verwendet werden
solange sie in keinem ERP-Dokument verwendet werden.
Implementiert in einem Helper für SL::Controller::Part.
Er wird auch im Test t/part/assembly.t verwendet