[gelöst] alphabetische Sortierung von Artikelpositionen

27. Juli 2006 14:11

Hallo zusammen,

ich habe folgendes Problem:
Ein Kunde erstellt einen Auftrag mit verschiedenen Artikelpositionen.
Diese sind sortiert nach der Zeilennummer. Auf dem erzeugten Rechnungsbeleg sollen sie aber alphabetisch sortiert erscheinen. (Key liegt auf Description, Description2)
Wenn ich im Report 206 mit SetCurrentKey auf Description, Description2 setze dauert die Ausgabe des Belegs sehr lange (3-4 Minuten). Wahrscheinlich liegt es an der Anzahl der Datensätz (> 1Mio) Gibt es noch andere Möglichkeiten eine alphabetische Sortierung zu ermöglichen?

Vielen Dank schon mal im voraus und viele Grüße.

fragglet
Zuletzt geändert von fragglet am 4. September 2006 08:50, insgesamt 1-mal geändert.

27. Juli 2006 14:57

Wenn ich diese Problematik haette, würde ich folgendes Vorschlagen, und zwar, eine Funktion programmieren, welche, im noch, ungebuchten Auftrag, die Verkaufszeilen, neu sortiert, mit Vergabe von neuer ZeilenNr.

In der Tabelle Sales Invoice Line , ein neuen Key erstellen, waere doch auch denkbar, oder ?

hi fragglet

28. Juli 2006 08:36

wie elTorito schon sagte:

Neuer Key in der Tab. Sales Invoice Line mit folgenden Feldern:

Type,No.

Musste nämlich auch mal die Artikel in den Lines sortieren.

28. Juli 2006 10:26

Hallo,

ich bin zwar der Meinung, dass die Sortierung nach der Beschreibung eigentlich Unfug ist und man dies dem Kunden ausreden sollte, wenn es aber unbedingt sein muss, dann doch bitte den Key folgendermaßen aufbauen:

"Document No.",Description,"Description 2"

Oder sollen wirklich bei jedem Rechnungsdruck alle geb. Rechnungszeilen durchgelesen werden.

MfG
Josef Metz

alphabetische Sortierung von Artikelpositionen

28. Juli 2006 13:44

Danke für die Denkanstöße.
Ich habe die Funktion RecreateSalesLines der Tabelle 36 modifiziert und sie auf den Button "Buchen" bzw. "Buchen und drucken" vor den Aufruf der Codeunits 82 und 81 gelegt.
Die Funktion wird normalerweise bei der Änderung der Debitorennummer in einem bestehenden Auftrag verwendet. Eine temporäre Tabelle SalesLineTmp nimmt die Verkaufszeilen auf. Danach wird der Key auf dieses Tabelle gelegt und die Verkaufszeilen werden in die Tabelle Sales Line zurückgeschrieben (aus ihr wurden die Zeilen vorher entfernt).