Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ec022a58

Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt

  • ID ec022a581e19d03e34ae31e7ba53ee4dde66ea73
  • Vorgänger 0a25d5a4
  • Nachfolger e8a42733

Umstellung der Kontenübersicht und der Buchungslisten auf die Verwendung von ReportGenerator.

Unterschiede anzeigen:

bin/mozilla/ca.pl
32 32
#
33 33
#======================================================================
34 34

  
35
use POSIX qw(strftime);
36

  
35 37
use SL::CA;
38
use SL::ReportGenerator;
39

  
40
require "bin/mozilla/report_generator.pl";
36 41

  
37 42
1;
38 43

  
......
69 74
sub chart_of_accounts {
70 75
  $lxdebug->enter_sub();
71 76

  
72
  CA->all_accounts(\%myconfig, \%$form);
73

  
74
  @column_index = qw(accno description debit credit);
75

  
76
  $column_header{accno} =
77
    qq|<th class=listheading>| . $locale->text('Account') . qq|</th>\n|;
78
  $column_header{description} =
79
    qq|<th class=listheading>| . $locale->text('Description') . qq|</th>\n|;
80
  $column_header{debit} =
81
    qq|<th class=listheading>| . $locale->text('Debit') . qq|</th>\n|;
82
  $column_header{credit} =
83
    qq|<th class=listheading>| . $locale->text('Credit') . qq|</th>\n|;
84

  
85 77
  $form->{title} = $locale->text('Chart of Accounts');
86 78

  
87
  $colspan = $#column_index + 1;
79
  CA->all_accounts(\%myconfig, \%$form);
88 80

  
89
  $form->header;
81
  my @columns     = qw(accno description debit credit);
82
  my %column_defs = (
83
    'accno'       => { 'text' => $locale->text('Account'), },
84
    'description' => { 'text' => $locale->text('Description'), },
85
    'debit'       => { 'text' => $locale->text('Debit'), },
86
    'credit'      => { 'text' => $locale->text('Credit'), },
87
  );
90 88

  
91
  print qq|
92
<body>
89
  my $report = SL::ReportGenerator->new(\%myconfig, $form);
93 90

  
94
<table border=0 width=100%>
95
  <tr><th class=listtop colspan=$colspan>$form->{title}</th></tr>
96
  <tr height="5"></tr>
97
  <tr class=listheading>|;
91
  $report->set_options('output_format'         => 'HTML',
92
                       'title'                 => $form->{title},
93
                       'attachment_basename'   => $locale->text('chart_of_accounts') . strftime('_%Y%m%d', localtime time),
94
                       'std_column_visibility' => 1,
95
    );
96
  $report->set_options_from_form();
98 97

  
99
  map { print $column_header{$_} } @column_index;
98
  $report->set_columns(%column_defs);
99
  $report->set_column_order(@columns);
100 100

  
101
  print qq|
102
  </tr>
103
|;
101
  $report->set_export_options('chart_of_accounts');
104 102

  
105
  foreach $ca (@{ $form->{CA} }) {
103
  $report->set_sort_indicator($form->{sort}, 1);
106 104

  
107
    $description      = $form->escape($ca->{description});
105
  my %totals = ('debit' => 0, 'credit' => 0);
108 106

  
109
    $href =
110
      qq|$form->{script}?action=list&accno=$ca->{accno}&login=$form->{login}&password=$form->{password}&description=$description|;
107
  foreach my $ca (@{ $form->{CA} }) {
108
    my $row = { };
111 109

  
112
    if ($ca->{charttype} eq "H") {
113
      print qq|<tr class=listheading>|;
114
      map { $column_data{$_} = "<th>$ca->{$_}</th>"; } qw(accno description);
115
    } else {
116
      $i++;
117
      $i %= 2;
118
      print qq|<tr class=listrow$i>|;
119
      $column_data{accno}      = "<td><a href=$href>$ca->{accno}</a></td>";
120
      $column_data{description} = "<td>$ca->{description}</td>";
121
    }
122
    my $debit = "";
123
    my $credit = "";
124
    if ($ca->{debit}) {
125
      $debit = $form->format_amount(\%myconfig, $ca->{debit}, 2, "&nbsp;");
110
    foreach (qw(debit credit)) {
111
      $totals{$_} += $ca->{$_} * 1;
112
      $ca->{$_}    = $form->format_amount(\%myconfig, $ca->{$_}, 2) if ($ca->{$_});
126 113
    }
127
    if ($ca->{credit}) {
128
      $credit = $form->format_amount(\%myconfig, $ca->{credit}, 2, "&nbsp;");
129
    }
130
    $column_data{debit} =
131
        "<td align=right>"
132
      . $debit
133
      . "</td>\n";
134
    $column_data{credit} =
135
        "<td align=right>"
136
      . $credit
137
      . "</td>\n";
138

  
139
    $totaldebit  += $ca->{debit};
140
    $totalcredit += $ca->{credit};
141

  
142
    map { print $column_data{$_} } @column_index;
143

  
144
    print qq|
145
</tr>
146
|;
147
  }
148 114

  
149
  map { $column_data{$_} = "<td>&nbsp;</td>"; }
150
    qw(accno description);
115
    map { $row->{$_} = { 'data' => $ca->{$_} } } @columns;
151 116

  
152
  $column_data{debit} =
153
    "<th align=right class=listtotal>"
154
    . $form->format_amount(\%myconfig, $totaldebit, 2, 0) . "</th>";
155
  $column_data{credit} =
156
    "<th align=right class=listtotal>"
157
    . $form->format_amount(\%myconfig, $totalcredit, 2, 0) . "</th>";
117
    map { $row->{$_}->{align} = 'right'       } qw(debit credit);
118
    map { $row->{$_}->{class} = 'listheading' } @columns if ($ca->{charttype} eq "H");
158 119

  
159
  print "<tr class=listtotal>";
120
    $row->{accno}->{link} = build_std_url('action=list', 'accno=' . E($ca->{accno}), 'description=' . E($ca->{description}));
160 121

  
161
  map { print $column_data{$_} } @column_index;
122
    $report->add_data($row);
123
  }
162 124

  
163
  print qq|
164
</tr>
165
<tr>
166
  <td colspan=$colspan><hr size=3 noshade></td>
167
</tr>
168
</table>
125
  my $row = { map { $_ => { 'class' => 'listtotal', 'align' => 'right' } } @columns };
126
  map { $row->{$_}->{data} = $form->format_amount(\%myconfig, $totals{$_}, 2) } qw(debit credit);
169 127

  
170
</body>
171
</html>
172
|;
128
  $report->add_separator();
129
  $report->add_data($row);
130

  
131
  $report->generate_with_headers();
173 132

  
174 133
  $lxdebug->leave_sub();
175 134
}
......
255 214
sub list_transactions {
256 215
  $lxdebug->enter_sub();
257 216

  
258
  CA->all_transactions(\%myconfig, \%$form);
259

  
260
  $description      = $form->escape($form->{description});
261
  $department       = $form->escape($form->{department});
262
  $projectnumber    = $form->escape($form->{projectnumber});
263
  $title            = $form->escape($form->{title});
264

  
265
  # construct href
266
  $href =
267
    "$form->{script}?action=list_transactions&accno=$form->{accno}&login=$form->{login}&password=$form->{password}&fromdate=$form->{fromdate}&todate=$form->{todate}&description=$description&accounttype=$form->{accounttype}&l_heading=$form->{l_heading}&l_subtotal=$form->{l_subtotal}&department=$department&projectnumber=$projectnumber&project_id=$form->{project_id}&title=$title";
268

  
269
  $description      = $form->escape($form->{description},      1);
270
  $department       = $form->escape($form->{department},       1);
271
  $projectnumber    = $form->escape($form->{projectnumber},    1);
272
  $title            = $form->escape($form->{title},            1);
273

  
274
  # construct callback
275
  $callback =
276
    "$form->{script}?action=list_transactions&accno=$form->{accno}&login=$form->{login}&password=$form->{password}&fromdate=$form->{fromdate}&todate=$form->{todate}&description=$description&accounttype=$form->{accounttype}&l_heading=$form->{l_heading}&l_subtotal=$form->{l_subtotal}&department=$department&projectnumber=$projectnumber&project_id=$form->{project_id}&title=$title";
277

  
278
  # figure out which column comes first
279
  $column_header{transdate} =
280
      qq|<th><a class=listheading href=$href&sort=transdate>|
281
    . $locale->text('Date')
282
    . qq|</a></th>|;
283
  $column_header{reference} =
284
      qq|<th><a class=listheading href=$href&sort=reference>|
285
    . $locale->text('Reference')
286
    . qq|</a></th>|;
287
  $column_header{description} =
288
      qq|<th><a class=listheading href=$href&sort=description>|
289
    . $locale->text('Description')
290
    . qq|</a></th>|;
291
  $column_header{debit}   = qq|<th>| . $locale->text('Debit') . qq|</th>|;
292
  $column_header{credit}  = qq|<th>| . $locale->text('Credit') . qq|</th>|;
293
  $column_header{balance} = qq|<th>| . $locale->text('Balance') . qq|</th>|;
294

  
295
  @column_index =
296
    $form->sort_columns(qw(transdate reference description debit credit));
297

  
298
  if ($form->{accno}) {
299
    push @column_index, "balance";
300
  }
217
  $form->{title} = $locale->text('Account') . " $form->{accno} - $form->{description}";
301 218

  
302
  $form->{title} = $locale->text('Account') .
303
    " $form->{accno} - $form->{description}";
219
  CA->all_transactions(\%myconfig, \%$form);
304 220

  
221
  my @options;
305 222
  if ($form->{department}) {
306
    ($department) = split /--/, $form->{department};
307
    $options = $locale->text('Department') . " : $department<br>";
223
    my ($department) = split /--/, $form->{department};
224
    push @options, $locale->text('Department') . " : $department";
308 225
  }
309 226
  if ($form->{projectnumber}) {
310
    $options .= $locale->text('Project Number');
311
    $options .= " : $form->{projectnumber}<br>";
227
    push @options, $locale->text('Project Number') . " : $form->{projectnumber}<br>";
312 228
  }
313 229

  
230
  my $period;
314 231
  if ($form->{fromdate} || $form->{todate}) {
232
    my ($fromdate, $todate);
233

  
315 234
    if ($form->{fromdate}) {
316 235
      $fromdate = $locale->date(\%myconfig, $form->{fromdate}, 1);
317 236
    }
......
319 238
      $todate = $locale->date(\%myconfig, $form->{todate}, 1);
320 239
    }
321 240

  
322
    $form->{period} = "$fromdate - $todate";
241
    $period = "$fromdate - $todate";
242

  
323 243
  } else {
324
    $form->{period} =
325
      $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
244
    $period = $locale->date(\%myconfig, $form->current_date(\%myconfig), 1);
326 245
  }
327 246

  
328
  $options .= $form->{period};
247
  push @options, $period;
329 248

  
330
  $form->header;
249
  my @columns     = qw(transdate reference description debit credit balance);
250
  my %column_defs = (
251
    'transdate'   => { 'text' => $locale->text('Date'), },
252
    'reference'   => { 'text' => $locale->text('Reference'), },
253
    'description' => { 'text' => $locale->text('Description'), },
254
    'debit'       => { 'text' => $locale->text('Debit'), },
255
    'credit'      => { 'text' => $locale->text('Credit'), },
256
    'balance'     => { 'text' => $locale->text('Balance'), },
257
  );
258
  my %column_alignment = map { $_ => 'right' } qw(debit credit balance);
331 259

  
332
  print qq|
333
<body>
260
  my @hidden_variables = qw(accno fromdate todate description accounttype l_heading l_subtotal department projectnumber project_id sort);
334 261

  
335
<table width=100%>
336
  <tr>
337
    <th class=listtop>$form->{title}</th>
338
  </tr>
339
  <tr height="5"></tr>
340
  <tr>
341
    <td>$options</td>
342
  </tr>
343
  <tr>
344
    <td>
345
      <table width=100%>
346
       <tr class=listheading>
347
|;
262
  my $link = build_std_url('action=list_transactions', grep { $form->{$_} } @hidden_variables);
263
  map { $column_defs{$_}->{link} = $link . "&sort=$_" } qw(transdate reference description);
348 264

  
349
  map { print "$column_header{$_}\n" } @column_index;
265
  $form->{callback} = $link . '&sort=' . E($form->{sort});
350 266

  
351
  print qq|
352
       </tr>
353
|;
267
  my $report = SL::ReportGenerator->new(\%myconfig, $form);
354 268

  
355
  # add sort to callback
356
  $callback = $form->escape($callback . "&sort=$form->{sort}");
269
  $report->set_options('top_info_text'         => join("\n", @options),
270
                       'output_format'         => 'HTML',
271
                       'title'                 => $form->{title},
272
                       'attachment_basename'   => $locale->text('list_of_transactions') . strftime('_%Y%m%d', localtime time),
273
                       'std_column_visibility' => 1,
274
    );
275
  $report->set_options_from_form();
357 276

  
358
  if (@{ $form->{CA} }) {
359
    $sameitem = $form->{CA}->[0]->{ $form->{sort} };
360
  }
277
  $report->set_columns(%column_defs);
278
  $report->set_column_order(@columns);
361 279

  
362
  $ml = ($form->{category} =~ /(A|E)/) ? -1 : 1;
363
  if ($form->{accno} && $form->{balance}) {
280
  $report->set_export_options('list_transactions', @hidden_variables);
364 281

  
365
    map { $column_data{$_} = "<td>&nbsp;</td>" } @column_index;
282
  $report->set_sort_indicator($form->{sort}, 1);
366 283

  
367
    $column_data{balance} =
368
        "<td align=right>"
369
      . $form->format_amount(\%myconfig, $form->{balance} * $ml, 2, 0)
370
      . "</td>";
284
  $column_defs->{balance}->{visible} = $form->{accno} ? 1 : 0;
371 285

  
372
    $i++;
373
    $i %= 2;
374
    print qq|
375
        <tr class=listrow$i>
376
|;
377
    map { print $column_data{$_} } @column_index;
378
    print qq|
379
       </tr>
380
|;
286
  my $ml = ($form->{category} =~ /(A|E)/) ? -1 : 1;
287

  
288
  if ($form->{accno} && $form->{balance}) {
289
    my $row = {
290
      'balance' => {
291
        'data'  => $form->format_amount(\%myconfig, $form->{balance} * $ml, 2),
292
        'align' => 'right',
293
      },
294
    };
295

  
296
    $report->add_data($row);
381 297
  }
382 298

  
383
  foreach $ca (@{ $form->{CA} }) {
299
  my $idx       = 0;
300
  my %totals    = ( 'debit' => 0, 'credit' => 0 );
301
  my %subtotals = ( 'debit' => 0, 'credit' => 0 );
384 302

  
385
    if ($form->{l_subtotal} eq 'Y') {
386
      if ($sameitem ne $ca->{ $form->{sort} }) {
387
        &ca_subtotal;
388
      }
303
  foreach my $ca (@{ $form->{CA} }) {
304
    $form->{balance} += $ca->{amount};
305

  
306
    foreach (qw(debit credit)) {
307
      $subtotals{$_} += $ca->{$_};
308
      $totals{$_}    += $ca->{$_};
309
      $ca->{$_}       = $form->format_amount(\%myconfig, $ca->{$_}, 2) if ($ca->{$_} != 0);
389 310
    }
390 311

  
391
    # construct link to source
392
    $href =
393
      "<a href=$ca->{module}.pl?action=edit&id=$ca->{id}&login=$form->{login}&password=$form->{password}&callback=$callback>$ca->{reference}</a>";
394
    my $debit = ($ca->{debit} != 0) ? $form->format_amount(\%myconfig, $ca->{debit}, 2, "&nbsp;") : "&nbsp;";
395
    $column_data{debit} =
396
      "<td align=right>$debit</td>";
397
    my $credit = ($ca->{credit} != 0) ? $form->format_amount(\%myconfig, $ca->{credit}, 2, "&nbsp;") : "&nbsp;";
398
    $column_data{credit} =
399
      "<td align=right>$credit</td>";
312
    $ca->{balance} = $form->format_amount(\%myconfig, $form->{balance} * $ml, 2);
400 313

  
401
    $form->{balance} += $ca->{amount};
402
    $column_data{balance} =
403
        "<td align=right>"
404
      . $form->format_amount(\%myconfig, $form->{balance} * $ml, 2, 0)
405
      . "</td>";
406

  
407
    $subtotaldebit  += $ca->{debit};
408
    $subtotalcredit += $ca->{credit};
409

  
410
    $totaldebit  += $ca->{debit};
411
    $totalcredit += $ca->{credit};
412

  
413
    $column_data{transdate}   = ($ca->{"index"} ne $last || $form->{sort} ne "transdate") ? qq|<td>$ca->{transdate}</td>| : qq|<td></td>|;
414
    $column_data{reference}   = ($ca->{"index"} ne $last) ? qq|<td>$href</td>| : qq|<td></td>|;
415
    $column_data{description} = ($ca->{"index"} ne $last) ? qq|<td>$ca->{description}</td>| : qq|<td></td>|;
416
    
417
    $i++ if($ca->{"index"} ne $last);
418
    $i %= 2;
419
    $last=$ca->{"index"};
420
    print qq|
421
        <tr class=listrow$i>
422
|;
314
    my $row = { };
423 315

  
424
    map { print $column_data{$_} } @column_index;
316
    foreach (@columns) {
317
      $row->{$_} = {
318
        'data'  => $ca->{$_},
319
        'align' => $column_alignment{$_},
320
      };
321
    }
425 322

  
426
    print qq|
427
        </tr>
428
|;
323
    $row->{reference}->{link} = build_std_url("script=$ca->{module}.pl", 'action=edit', 'id=' . E($ca->{id}), 'callback');
429 324

  
430
  }
325
    $report->add_data($row);
431 326

  
432
  if ($form->{l_subtotal} eq 'Y') {
433
    &ca_subtotal;
434
  }
435

  
436
  map { $column_data{$_} = "<td>&nbsp;</td>" } @column_index;
327
    if (($form->{l_subtotal} eq 'Y')
328
        && (($idx == scalar @{ $form->{CA} } - 1)
329
            || ($ca->{$form->{sort}} ne $form->{CA}->[$idx + 1]->{$form->{sort}}))) {
330
      $report->add_data(create_subtotal_row(\%subtotals, \@columns, \%column_alignment, 'listsubtotal'));
331
    }
437 332

  
438
  $column_data{debit} =
439
    "<th align=right>"
440
    . $form->format_amount(\%myconfig, $totaldebit, 2, "&nbsp;") . "</th>";
441
  $column_data{credit} =
442
    "<th align=right>"
443
    . $form->format_amount(\%myconfig, $totalcredit, 2, "&nbsp;") . "</th>";
444
  $column_data{balance} =
445
    "<th align=right>"
446
    . $form->format_amount(\%myconfig, $form->{balance} * $ml, 2, 0) . "</th>";
333
    $idx++;
334
  }
447 335

  
448
  print qq|
449
	<tr class=listtotal>
450
|;
336
  $report->add_data($row_set) if ($row_set);
451 337

  
452
  map { print $column_data{$_} } @column_index;
338
  $report->add_separator();
453 339

  
454
  print qq|
455
	</tr>
456
      </table>
457
    </td>
458
  </tr>
459
  <tr>
460
    <td><hr size=3 noshade></td>
461
  </tr>
462
</table>
340
  my $row = create_subtotal_row(\%totals, \@columns, \%column_alignment, 'listtotal');
341
  $row->{balance}->{data} = $form->format_amount(\%myconfig, $form->{balance} * $ml, 2);
342
  $report->add_data($row);
463 343

  
464
</body>
465
</html>
466
|;
344
  $report->generate_with_headers();
467 345

  
468 346
  $lxdebug->leave_sub();
469 347
}
470 348

  
471
sub ca_subtotal {
349
sub create_subtotal_row {
472 350
  $lxdebug->enter_sub();
473 351

  
474
  map { $column_data{$_} = "<td>&nbsp;</td>" } @column_index;
475

  
476
  $column_data{debit} =
477
    "<th align=right>"
478
    . $form->format_amount(\%myconfig, $subtotaldebit, 2, "&nbsp;") . "</th>";
479
  $column_data{credit} =
480
    "<th align=right>"
481
    . $form->format_amount(\%myconfig, $subtotalcredit, 2, "&nbsp;") . "</th>";
482

  
483
  $subtotaldebit  = 0;
484
  $subtotalcredit = 0;
352
  my ($totals, $columns, $column_alignment, $class) = @_;
485 353

  
486
  $sameitem = $ca->{ $form->{sort} };
354
  my $row = { map { $_ => { 'data' => '', 'class' => $class, 'align' => $column_alignment->{$_}, } } @{ $columns } };
487 355

  
488
  print qq|
489
      <tr class=listsubtotal>
490
|;
356
  map { $row->{$_}->{data} = $form->format_amount(\%myconfig, $totals->{$_}, 2) } qw(credit debit);
491 357

  
492
  map { print "$column_data{$_}\n" } @column_index;
493

  
494
  print qq|
495
      </tr>
496
|;
358
  map { $totals->{$_} = 0 } qw(debit credit);
497 359

  
498 360
  $lxdebug->leave_sub();
361

  
362
  return $row;
499 363
}
locale/de/all
1267 1267
  'bis'                         => 'bis',
1268 1268
  'button'                      => '?',
1269 1269
  'cash'                        => 'E/?-Rechnung (Ist-Versteuerung)',
1270
  'chart_of_accounts'           => 'kontenuebersicht',
1270 1271
  'choice'                      => 'ausw?hlen',
1271 1272
  'choice part'                 => 'Artikel ausw?hlen',
1272 1273
  'close'                       => 'schlie?en',
......
1298 1299
  'list'                        => 'auflisten',
1299 1300
  'list_of_payments'            => 'zahlungsausgaenge',
1300 1301
  'list_of_receipts'            => 'zahlungseingaenge',
1302
  'list_of_transactions'        => 'buchungsliste',
1301 1303
  'localhost'                   => 'lokaler Rechner',
1302 1304
  'logout'                      => 'abmelden',
1303 1305
  'mark as paid'                => 'als bezahlt markieren',
locale/de/ca
1 1
$self->{texts} = {
2
  'ADDED'                       => 'Hinzugef?gt',
2 3
  'Account'                     => 'Konto',
3 4
  'Apr'                         => 'Apr',
4 5
  'April'                       => 'April',
5 6
  'Aug'                         => 'Aug',
6 7
  'August'                      => 'August',
7 8
  'Balance'                     => 'Bilanz',
9
  'Bin List'                    => 'Lagerliste',
10
  'CANCELED'                    => 'Storniert',
11
  'CSV export -- options'       => 'CSV-Export -- Optionen',
8 12
  'Chart of Accounts'           => 'Konten?bersicht',
13
  'Confirmation'                => 'Auftragsbest?tigung',
14
  'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.',
15
  'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.',
16
  'Could not write the html2ps config file.' => 'Die tempor&auml;re html2ps-Konfigurationsdatei konnte nicht geschrieben werden.',
17
  'Could not write the temporary HTML file.' => 'Eine tempor&auml;re HTML-Datei konnte nicht geschrieben werden.',
9 18
  'Credit'                      => 'Haben',
19
  'Credit Note'                 => 'Gutschrift',
20
  'DELETED'                     => 'Gel?scht',
21
  'DUNNING STARTED'             => 'Mahnprozess gestartet',
22
  'Dataset upgrade'             => 'Datenbankaktualisierung',
10 23
  'Date'                        => 'Datum',
11 24
  'Debit'                       => 'Soll',
12 25
  'Dec'                         => 'Dez',
13 26
  'December'                    => 'Dezember',
14 27
  'Department'                  => 'Abteilung',
28
  'Dependency loop detected:'   => 'Schleife in den Abh&auml;ngigkeiten entdeckt:',
15 29
  'Description'                 => 'Beschreibung',
30
  'ELSE'                        => 'Zusatz',
31
  'Error in database control file \'%s\': %s' => 'Fehler in Datenbankupgradekontrolldatei \'%s\': %s',
16 32
  'Feb'                         => 'Feb',
17 33
  'February'                    => 'Februar',
18 34
  'From'                        => 'Von',
19 35
  'Include in Report'           => 'In Bericht aufnehmen',
36
  'Invoice'                     => 'Rechnung',
20 37
  'Jan'                         => 'Jan',
21 38
  'January'                     => 'Januar',
22 39
  'Jul'                         => 'Jul',
......
24 41
  'Jun'                         => 'Jun',
25 42
  'June'                        => 'Juni',
26 43
  'List Transactions'           => 'Buchungsliste',
44
  'MAILED'                      => 'Gesendet',
27 45
  'Mar'                         => 'M?rz',
28 46
  'March'                       => 'M?rz',
29 47
  'May'                         => 'Mai',
30 48
  'May '                        => 'Mai',
49
  'Missing \'description\' field.' => 'Fehlendes Feld \'description\'.',
50
  'Missing \'tag\' field.'      => 'Fehlendes Feld \'tag\'.',
51
  'More than one control file with the tag \'%s\' exist.' => 'Es gibt mehr als eine Kontrolldatei mit dem Tag \'%s\'.',
31 52
  'Nov'                         => 'Nov',
32 53
  'November'                    => 'November',
33 54
  'Oct'                         => 'Okt',
34 55
  'October'                     => 'Oktober',
56
  'PAYMENT POSTED'              => 'Rechung gebucht',
57
  'PDF export -- options'       => 'PDF-Export -- Optionen',
58
  'POSTED'                      => 'Gebucht',
59
  'POSTED AS NEW'               => 'Als neu gebucht',
60
  'PRINTED'                     => 'Gedruckt',
61
  'Packing List'                => 'Lieferschein',
62
  'Pick List'                   => 'Sammelliste',
63
  'Proforma Invoice'            => 'Proformarechnung',
35 64
  'Project Number'              => 'Projektnummer',
65
  'Purchase Order'              => 'Lieferantenauftrag',
66
  'Quotation'                   => 'Angebot',
67
  'RFQ'                         => 'Anfrage',
36 68
  'Reference'                   => 'Referenz',
69
  'SAVED'                       => 'Gespeichert',
70
  'SAVED FOR DUNNING'           => 'Gespeichert',
71
  'SCREENED'                    => 'Angezeigt',
37 72
  'Sep'                         => 'Sep',
38 73
  'September'                   => 'September',
74
  'Storno Invoice'              => 'Stornorechnung',
75
  'Storno Packing List'         => 'Stornolieferschein',
39 76
  'Subtotal'                    => 'Zwischensumme',
77
  'The \'tag\' field must only consist of alphanumeric characters or the carachters - _ ( )' => 'Das Feld \'tag\' darf nur aus alphanumerischen Zeichen und den Zeichen - _ ( ) bestehen.',
78
  'The list has been printed.'  => 'Die Liste wurde ausgedruckt.',
40 79
  'To'                          => 'An',
80
  'Unknown dependency \'%s\'.'  => 'Unbekannte Abh&auml;ngigkeit \'%s\'.',
81
  'bin_list'                    => 'Lagerliste',
82
  'chart_of_accounts'           => 'kontenuebersicht',
83
  'invoice'                     => 'Rechnung',
84
  'list_of_transactions'        => 'buchungsliste',
85
  'packing_list'                => 'Versandliste',
86
  'pick_list'                   => 'Entnahmeliste',
87
  'proforma'                    => 'Proforma',
88
  'purchase_order'              => 'Auftrag',
89
  'report_generator_dispatch_to is not defined.' => 'report_generator_dispatch_to ist nicht definiert.',
90
  'report_generator_nextsub is not defined.' => 'report_generator_nextsub ist nicht definiert.',
91
  'request_quotation'           => 'Angebotsanforderung',
92
  'sales_order'                 => 'Kundenauftrag',
93
  'sales_quotation'             => 'Verkaufsangebot',
41 94
};
42 95

  
43 96
$self->{subs} = {
44
  'ca_subtotal'                 => 'ca_subtotal',
45 97
  'chart_of_accounts'           => 'chart_of_accounts',
98
  'create_subtotal_row'         => 'create_subtotal_row',
46 99
  'list'                        => 'list',
47 100
  'list_transactions'           => 'list_transactions',
101
  'report_generator_back'       => 'report_generator_back',
102
  'report_generator_dispatcher' => 'report_generator_dispatcher',
103
  'report_generator_do'         => 'report_generator_do',
104
  'report_generator_export_as_csv' => 'report_generator_export_as_csv',
105
  'report_generator_export_as_pdf' => 'report_generator_export_as_pdf',
106
  'weiter'                      => 'continue',
48 107
  'buchungsliste'               => 'list_transactions',
49 108
};
50 109

  

Auch abrufbar als: Unified diff