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/IR.pm
221 221
      my $taxzone = $form->{taxzone_id} * 1;
222 222
      $query =
223 223
        qq|SELECT i.id, i.qty, i.allocated, i.trans_id, i.base_qty,
224
             bg.inventory_accno_id, bg.expense_accno_id_${taxzone} AS expense_accno_id, a.transdate
225
           FROM invoice i, ar a, parts p, buchungsgruppen bg
224
             bg.inventory_accno_id, tc.expense_accno_id AS expense_accno_id, a.transdate
225
           FROM invoice i, ar a, parts p, buchungsgruppen bg, taxzone_charts tc
226 226
           WHERE (i.parts_id = p.id)
227 227
             AND (i.parts_id = ?)
228 228
             AND ((i.base_qty + i.allocated) > 0)
229 229
             AND (i.trans_id = a.id)
230 230
             AND (p.buchungsgruppen_id = bg.id)
231
             AND (tc.buchungsgruppen_id = p.buchungsgruppen_id)
232
             AND (tc.taxzone_id = ${taxzone})
231 233
           ORDER BY transdate|;
232 234
           # ORDER BY transdate guarantees FIFO
233 235

  
......
980 982
        FROM invoice i
981 983
        JOIN parts p ON (i.parts_id = p.id)
982 984
        LEFT JOIN chart c1 ON ((SELECT inventory_accno_id             FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c1.id)
983
        LEFT JOIN chart c2 ON ((SELECT income_accno_id_${taxzone_id}  FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c2.id)
984
        LEFT JOIN chart c3 ON ((SELECT expense_accno_id_${taxzone_id} FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c3.id)
985
        LEFT JOIN chart c2 ON ((SELECT tc.income_accno_id FROM taxzone_charts tc where tc.taxzone_id = '$taxzone_id' and tc.buchungsgruppen_id = p.buchungsgruppen_id) = c2.id)
986
        LEFT JOIN chart c3 ON ((SELECT tc.expense_accno_id FROM taxzone_charts tc where tc.taxzone_id = '$taxzone_id' and tc.buchungsgruppen_id = p.buchungsgruppen_id) = c3.id)
985 987
        LEFT JOIN project pr    ON (i.project_id = pr.id)
986 988
        LEFT JOIN partsgroup pg ON (pg.id = p.partsgroup_id)
987 989

  
......
1248 1250
           FROM buchungsgruppen
1249 1251
           WHERE id = p.buchungsgruppen_id) = c1.id)
1250 1252
       LEFT JOIN chart c2 ON
1251
         ((SELECT income_accno_id_${taxzone_id}
1252
           FROM buchungsgruppen
1253
           WHERE id = p.buchungsgruppen_id) = c2.id)
1253
         ((SELECT tc.income_accno_id
1254
           FROM taxzone_charts tc 
1255
           WHERE tc.taxzone_id = '$taxzone_id' and tc.buchungsgruppen_id = p.buchungsgruppen_id) = c2.id)
1254 1256
       LEFT JOIN chart c3 ON
1255
         ((SELECT expense_accno_id_${taxzone_id}
1256
           FROM buchungsgruppen
1257
           WHERE id = p.buchungsgruppen_id) = c3.id)
1257
         ((SELECT tc.expense_accno_id
1258
           FROM taxzone_charts tc
1259
           WHERE tc.taxzone_id = '$taxzone_id' and tc.buchungsgruppen_id = p.buchungsgruppen_id) = c3.id)
1258 1260
       LEFT JOIN partsgroup pg ON (pg.id = p.partsgroup_id)
1259 1261
       LEFT JOIN price_factors pfac ON (pfac.id = p.price_factor_id)
1260 1262
       WHERE $where|;

Auch abrufbar als: Unified diff