Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision b989d7cf

Von Kivitendo Admin vor mehr als 10 Jahren hinzugefügt

  • ID b989d7cfb4bd8de5c3e290b8df0519ad34d5dd0c
  • Vorgänger f207efd1
  • Nachfolger f5c454e3

Auf Datenbankebene Steuerzonen konfigurierbar gemacht

Damit können jetzt mehr als die 4 Standardsteuerzonen eingerichtet
werden. Die bisherigen Steuerzonen wurden aus der Tabelle
buchungsgruppen in die neue Tabelle taxzone_charts ausgelagert.

Konzeption siehe Ticket #2295

Es wurden noch keinerlei Veränderungen an der Kivitendo
Benutzeroberfläche durchgeführt, durch dieses Upgrade können die
Buchungsgruppen also nicht mehr konfiguriert werden, dies muß auf
Datenbankebene passieren.

Rose schon angepasst.

Conflicts:

SL/DB/MetaSetup/Buchungsgruppe.pm

Unterschiede anzeigen:

SL/IC.pm
319 319

  
320 320
  if ($form->{"item"} ne "assembly") {
321 321
    $subq_expense =
322
      qq|(SELECT bg.expense_accno_id_0
323
          FROM buchungsgruppen bg
324
          WHERE bg.id = | . conv_i($form->{"buchungsgruppen_id"}, 'NULL') . qq|)|;
322
      qq|(SELECT tc.expense_accno_id
323
          FROM taxzone_charts tc
324
          WHERE tc.buchungsgruppen_id = | . conv_i($form->{"buchungsgruppen_id"}, 'NULL') . qq| and tc.taxzone_id = 0)|;
325 325
  } else {
326 326
    $subq_expense = "NULL";
327 327
  }
......
348 348
         buchungsgruppen_id = ?,
349 349
         payment_id = ?,
350 350
         inventory_accno_id = $subq_inventory,
351
         income_accno_id = (SELECT bg.income_accno_id_0 FROM buchungsgruppen bg WHERE bg.id = ?),
351
         income_accno_id = (SELECT tc.income_accno_id FROM taxzone_charts tc WHERE tc.taxzone_id = 0 and tc.buchungsgruppen_id = ?),
352 352
         expense_accno_id = $subq_expense,
353 353
         obsolete = ?,
354 354
         image = ?,
......
1541 1541
    SELECT
1542 1542
      p.id, p.inventory_accno_id AS is_part,
1543 1543
      bg.inventory_accno_id,
1544
      bg.income_accno_id_$form->{taxzone_id} AS income_accno_id,
1545
      bg.expense_accno_id_$form->{taxzone_id} AS expense_accno_id,
1544
      tc.income_accno_id AS income_accno_id,
1545
      tc.expense_accno_id AS expense_accno_id,
1546 1546
      c1.accno AS inventory_accno,
1547 1547
      c2.accno AS income_accno,
1548 1548
      c3.accno AS expense_accno
1549 1549
    FROM parts p
1550 1550
    LEFT JOIN buchungsgruppen bg ON p.buchungsgruppen_id = bg.id
1551
    LEFT JOIN taxzone_charts tc on bg.id = tc.buchungsgruppen_id
1551 1552
    LEFT JOIN chart c1 ON bg.inventory_accno_id = c1.id
1552
    LEFT JOIN chart c2 ON bg.income_accno_id_$form->{taxzone_id} = c2.id
1553
    LEFT JOIN chart c3 ON bg.expense_accno_id_$form->{taxzone_id} = c3.id
1554
    WHERE p.id IN ($in)
1553
    LEFT JOIN chart c2 ON tc.income_accno_id = c2.id
1554
    LEFT JOIN chart c3 ON tc.expense_accno_id = c3.id
1555
    WHERE 
1556
    tc.taxzone_id = '$form->{taxzone_id}' 
1557
    and 
1558
    p.id IN ($in)
1555 1559
SQL
1556 1560

  
1557 1561
  my $sth_tax = prepare_query($::form, $dbh, <<SQL);

Auch abrufbar als: Unified diff