Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 6ff01fdb

Von Moritz Bunkus vor mehr als 15 Jahren hinzugefügt

  • ID 6ff01fdb61880344c2826c86955ef4c1e8f47db4
  • Vorgänger 450a0e2f
  • Nachfolger 8beef6f5

Einführung einer ID-Spalte in acc_trans

Die Benutzung der von PostgreSQL zur Verfügung gestellten
Spalte "oid" hat ihre Tücken. Über diese wird in Lx-Office die
Reihenfolge der Einträge in acc_trans geregelt. Wird aber ein
UPDATE-SQL-Query auf acc_trans ausgeführt, so kann es (anscheinend
je nach Datenbankversion) dazu kommen, dass die Zeile eine neue
oid erhält, wodurch die Reihenfolge nicht mehr stimmt.

Unterschiede anzeigen:

SL/DATEV.pm
332 332
  my %all_taxchart_ids = selectall_as_map($form, $dbh, qq|SELECT DISTINCT chart_id, TRUE AS is_set FROM tax|, 'chart_id', 'is_set');
333 333

  
334 334
  my $query    =
335
    qq|SELECT ac.oid, ac.transdate, ac.trans_id,ar.id, ac.amount, ac.taxkey,
335
    qq|SELECT ac.acc_trans_id, ac.transdate, ac.trans_id,ar.id, ac.amount, ac.taxkey,
336 336
         ar.invnumber, ar.duedate, ar.amount as umsatz,
337 337
         ct.name,
338 338
         c.accno, c.taxkey_id as charttax, c.datevautomatik, c.id, c.link,
......
347 347

  
348 348
       UNION ALL
349 349

  
350
       SELECT ac.oid, ac.transdate, ac.trans_id,ap.id, ac.amount, ac.taxkey,
350
       SELECT ac.acc_trans_id, ac.transdate, ac.trans_id,ap.id, ac.amount, ac.taxkey,
351 351
         ap.invnumber, ap.duedate, ap.amount as umsatz,
352 352
         ct.name,
353 353
         c.accno, c.taxkey_id as charttax, c.datevautomatik, c.id, c.link,
......
362 362

  
363 363
       UNION ALL
364 364

  
365
       SELECT ac.oid, ac.transdate, ac.trans_id,gl.id, ac.amount, ac.taxkey,
365
       SELECT ac.acc_trans_id, ac.transdate, ac.trans_id,gl.id, ac.amount, ac.taxkey,
366 366
         gl.reference AS invnumber, gl.transdate AS duedate, ac.amount as umsatz,
367 367
         gl.description AS name,
368 368
         c.accno, c.taxkey_id as charttax, c.datevautomatik, c.id, c.link,
......
374 374
         AND $fromto
375 375
         $filter
376 376

  
377
       ORDER BY trans_id, oid|;
377
       ORDER BY trans_id, acc_trans_id|;
378 378

  
379 379
  my $sth = prepare_execute_query($form, $dbh, $query);
380 380

  

Auch abrufbar als: Unified diff