Revision 04bfdc11
Von Moritz Bunkus vor fast 12 Jahren hinzugefügt
SL/DB/Buchungsgruppe.pm | ||
---|---|---|
5 | 5 |
use SL::DB::MetaSetup::Buchungsgruppe; |
6 | 6 |
use SL::DB::Manager::Buchungsgruppe; |
7 | 7 |
|
8 |
__PACKAGE__->meta->add_relationship( |
|
9 |
inventory_account => { |
|
10 |
type => 'many to one', |
|
11 |
class => 'SL::DB::Chart', |
|
12 |
column_map => { income_accno_id_0 => 'id' }, |
|
13 |
}, |
|
14 |
income_account_0 => { |
|
15 |
type => 'many to one', |
|
16 |
class => 'SL::DB::Chart', |
|
17 |
column_map => { income_accno_id_0 => 'id' }, |
|
18 |
}, |
|
19 |
income_account_1 => { |
|
20 |
type => 'many to one', |
|
21 |
class => 'SL::DB::Chart', |
|
22 |
column_map => { income_accno_id_1 => 'id' }, |
|
23 |
}, |
|
24 |
income_account_2 => { |
|
25 |
type => 'many to one', |
|
26 |
class => 'SL::DB::Chart', |
|
27 |
column_map => { income_accno_id_2 => 'id' }, |
|
28 |
}, |
|
29 |
income_account_3 => { |
|
30 |
type => 'many to one', |
|
31 |
class => 'SL::DB::Chart', |
|
32 |
column_map => { income_accno_id_3 => 'id' }, |
|
33 |
}, |
|
34 |
expense_account_0 => { |
|
35 |
type => 'many to one', |
|
36 |
class => 'SL::DB::Chart', |
|
37 |
column_map => { expense_accno_id_0 => 'id' }, |
|
38 |
}, |
|
39 |
expense_account_1 => { |
|
40 |
type => 'many to one', |
|
41 |
class => 'SL::DB::Chart', |
|
42 |
column_map => { expense_accno_id_1 => 'id' }, |
|
43 |
}, |
|
44 |
expense_account_2 => { |
|
45 |
type => 'many to one', |
|
46 |
class => 'SL::DB::Chart', |
|
47 |
column_map => { expense_accno_id_2 => 'id' }, |
|
48 |
}, |
|
49 |
expense_account_3 => { |
|
50 |
type => 'many to one', |
|
51 |
class => 'SL::DB::Chart', |
|
52 |
column_map => { expense_accno_id_3 => 'id' }, |
|
53 |
}, |
|
54 |
); |
|
55 |
|
|
56 |
__PACKAGE__->meta->initialize; |
|
57 |
|
|
58 |
|
|
8 | 59 |
sub income_accno_id { |
9 | 60 |
my ($self, $taxzone) = @_; |
10 | 61 |
my $taxzone_id = ref $taxzone && $taxzone->isa('SL::DB::TaxZone') ? $taxzone->id : $taxzone; |
... | ... | |
21 | 72 |
return $self->$method; |
22 | 73 |
} |
23 | 74 |
|
75 |
sub income_account { |
|
76 |
my ($self, $taxzone) = @_; |
|
77 |
my $taxzone_id = ref $taxzone && $taxzone->isa('SL::DB::TaxZone') ? $taxzone->id : $taxzone; |
|
78 |
my $method = 'income_account_' . $taxzone_id; |
|
79 |
|
|
80 |
return $self->$method; |
|
81 |
} |
|
82 |
|
|
83 |
sub expense_account { |
|
84 |
my ($self, $taxzone) = @_; |
|
85 |
my $taxzone_id = ref $taxzone && $taxzone->isa('SL::DB::TaxZone') ? $taxzone->id : $taxzone; |
|
86 |
my $method = 'expense_account_' . $taxzone_id; |
|
87 |
|
|
88 |
return $self->$method; |
|
89 |
} |
|
90 |
|
|
24 | 91 |
1; |
92 |
__END__ |
|
93 |
|
|
94 |
=pod |
|
95 |
|
|
96 |
=encoding utf8 |
|
97 |
|
|
98 |
=head1 NAME |
|
99 |
|
|
100 |
SL::DB::Buchungsgruppe - RDBO wrapper for the C<buchungsgruppen> table |
|
101 |
|
|
102 |
=head1 FUNCTIONS |
|
103 |
|
|
104 |
=over 4 |
|
105 |
|
|
106 |
=item C<expense_accno_id $taxzone> |
|
107 |
|
|
108 |
Return the chart ID for the expense account for the given taxzone |
|
109 |
(either an integer between 0 and 3 inclusively or an instance of |
|
110 |
L<SL::DB::TaxZone>). |
|
111 |
|
|
112 |
=item C<expense_account> |
|
113 |
|
|
114 |
Return the chart (an instance of L<SL::DB::Chart>) for the expense |
|
115 |
account for the given taxzone (either an integer between 0 and 3 |
|
116 |
inclusively or an instance of L<SL::DB::TaxZone>). |
|
117 |
|
|
118 |
=item C<income_accno_id> |
|
119 |
|
|
120 |
Return the chart ID for the income account for the given taxzone |
|
121 |
(either an integer between 0 and 3 inclusively or an instance of |
|
122 |
L<SL::DB::TaxZone>). |
|
123 |
|
|
124 |
=item C<income_account> |
|
125 |
|
|
126 |
Return the chart (an instance of L<SL::DB::Chart>) for the income |
|
127 |
account for the given taxzone (either an integer between 0 and 3 |
|
128 |
inclusively or an instance of L<SL::DB::TaxZone>). |
|
129 |
|
|
130 |
=back |
|
131 |
|
|
132 |
=head1 BUGS |
|
133 |
|
|
134 |
Nothing here yet. |
|
135 |
|
|
136 |
=head1 AUTHOR |
|
137 |
|
|
138 |
Sven Schöling E<lt>s.schoeling@linet-services.deE<gt>, |
|
139 |
Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt> |
|
140 |
|
|
141 |
=cut |
Auch abrufbar als: Unified diff
SL::DB::Buchungsgruppen: Verknüpfungen und Hilfsmethoden