Kreditorenartikelnummer als Schlüsselfeld

23. September 2008 11:51

Bei der Erstellung eines Verkaufsauftrags soll in der Verkaufszeile die Kreditorenartikelnummer und nicht die Artikelnummer eingegeben werden.
Die Kreditorenartikelnummer sollte daher ein Schlüsselfeld sein. Das Feld kann ich auch als zusätzliches Schlüsselfeld zum Schlüsselfeld Artikelnummer zuweisen.

Bei der Eingabe der Kreditorenartikelnummer in eine Verkaufszeile funktioniert es aber leider nicht.
Als Fehler wird gemeldet, dass das Feld Artikelnummer noch leer ist. :roll:

Hat jemand das Problem schon mal gelöst?

Re: Kreditorenartikelnummer als Schlüsselfeld

23. September 2008 11:58

Langsam: Du möchtest in einem Verkaufsbeleg eine Kreditorenartikelnummer pflegen?

Ich hätte dies so gelöst:
Das Feld Artikelnummer bleibt unangetastet und wird auch weiterhin mit der normalen Artikelnummer gepflegt.
Zusätzlich braucht ihr das Feld Kreditorenartikelnummer (wenn nicht schon vorhanden; ist es im Standard in der VK-Zeile jedenfalls nicht).
Wenn ihr etwas in dieses Feld eingebt, sollte das System automatisch nach einer korrespondierenden Normal-Artikelnr. suchen und diese in das Feld "Nr." eintragen.
So bleibt der Standard erhalten und ihr könnt trotzdem mit der Kreditorenartikelnummer arbeiten.

Wenn du aber in dieses Feld nichts eintragen kannst, dann müsste das halt entsprechend ausprogrammiert werden.

Was das alles nun mit einem Schlüssel zu tun haben soll, bleibt mir aber ein Rätsel ... ;-)

Re: Kreditorenartikelnummer als Schlüsselfeld

23. September 2008 13:17

Warum verwendest Du nicht die Referenzen?

Re: Kreditorenartikelnummer als Schlüsselfeld

23. September 2008 16:37

@Natalie
Was das alles nun mit einem Schlüssel zu tun haben soll, bleibt mir aber ein Rätsel ...

Wenn ich das Rätsel gelöst hätte, dann wäre dieser Thread nicht hier. :-)
In das Feld kann ich eingeben aber dann kommt die folgende Fehlermeldung von Nav:
Das folgende Feld muss Bestandteil des Primärschlüssels sein.
Feld: Kred.-Artikelnr.
Tabelle: Artikel


@BeniHoch
Habe ich bereits ausgetestet.
Die Referenzen eignen sich leider nur bedingt in diesem Fall.

Re: Kreditorenartikelnummer als Schlüsselfeld

23. September 2008 16:52

WieMa hat geschrieben:In das Feld kann ich eingeben aber dann kommt die folgende Fehlermeldung von Nav:
Das folgende Feld muss Bestandteil des Primärschlüssels sein.
Feld: Kred.-Artikelnr.
Tabelle: Artikel

Aaaah *erleuchtet*
Die Meldung sieht mir spontan nach einer ungültigen TableRelation auf dem Feld Kred.-Artikelnr. aus.

Da ich aber nicht hellsehen kann, solltest du den Debugger um Rat fragen, wo er denn so hängen bleibt :-)

Re: Kreditorenartikelnummer als Schlüsselfeld

24. Oktober 2008 15:09

Natalie hat geschrieben:
WieMa hat geschrieben:
Das folgende Feld muss Bestandteil des Primärschlüssels sein.
Feld: Kred.-Artikelnr.
Tabelle: Artikel

Die Meldung sieht mir spontan nach einer ungültigen TableRelation auf dem Feld Kred.-Artikelnr. aus.

Da ich aber nicht hellsehen kann, solltest du den Debugger um Rat fragen, wo er denn so hängen bleibt :-)

Da wir hier gerade bei einem Kunden dieselbe Fehlermeldung (beim Umbenennen eines Artikels) erhalten, hier unsere Erkenntnisse:

Ursache war, dass in einer anderen Tabelle (also nicht in der Tabelle 27) eine TableRelation auf die Kred.-Artikelnr. der Tabelle Artikel gesetzt war, ohne jedoch irgendwelche Filter und/oder Bedinungen mitzuliefern.
Löscht/Korrigiert man diese TableRelation, so funktioniert der Rename des Artikels einwandfrei.

Somit hilft hier kein Debugger, da kein C/AL-Code dafür verantwortlich ist.
Nur das Developer's Toolkit half hier, als wir "Where used" auf das Feld Item."Vendor Item No." ausführten.

Was dies jetzt konkret mit der Umbenennung eines Artikels zu tun hat wissen wohl nur die NAV-Programmierer von Microsoft in Dänemark :roll:

Re: Kreditorenartikelnummer als Schlüsselfeld

24. Oktober 2008 16:01

Hallo,

deute ich deine Aussage dahingehend richtig, dass du bei der Eingabe einer Auftragszeile nicht nach der internen Artikelnr. suchen möchtest, sondern nach einer Kreditoren-Artikelnr., um die interne Artikelnr. zu finden ?

Falls ja, nützt es dir nicht sehr viel, die Kreditoren Artikelnr. als Schlüssel zu haben, denn die ist nicht unbedingt eindeutig (jeder Kreditor kann für sich die Nr. 0815 als seine Artikelnr. festlegen, d.h. eine Kreditoren-Artikelnr. kann bei beliebig vielen Artikeln vorkommen).

Sollte vorgennantes zutreffen, benötigst du keinen Schlüssel, sondern eine Suchfunktion, die den Artikel/Lieferantenkatalog (besser) oder den Artikelstamm (findet nur den Hauptlieferanten) nach der Kred.-Artikelnr. durchsucht. Sollte die Kred.-Artikelnr. mehrfach vorkommen, benötigst du noch eine Auswahl der gefundenen Artikel. Die Artikelnummer, die dann ausgewählt wird, wird dann in die Nr. der VK-Zeile übertragen.

Wenn dir das zuviel Aufwand ist, und du sicher bist, das jede Kred. Artikelnr. nur einmal im System vorkommt, könnte man noch folgenden Trick versuchen:

Im Artikelstamm gibt es auf dem Feld 'No.' das Property 'AltSearchField', dieses könnte man auf die Kreditoren- Artikelnr. ändern, danach suchen die Belege nicht mehr nach dem Artikel- Suchbegriff, sondern nach der Kred.- Artikelnr.

Gruß, Fiddi