Verkaufsreklamation - Lagerortcode vorbelegen/not Editable

9. Juni 2011 16:33

Hallo Community,

ich bin relative neu in der NAV Programmierung und habe folgendes Problem.

Wenn ich in der Form Verkaufsreklamation bin und ich einen neuen Datensatz anlegen will, soll im SalesHeader unter der VRKL-Nummer automatisch ein bestimmter Lagerortcode angewählt sein.

Mein erster Schritt war das Feld nicht Editierbar zu machen, damit das schonmal aus der Form aus nicht verändert werden kann.
Schritt zwei will ich nun, dass das Feld Lagerortcode in der Form schon mit dem Lagerort das ich haben will vorbelegt ist.
Dieser soll wie oben schon beschrieben in die Tabelle SalesHeader eingetragen werden.

Kann mir da jemand vielleicht ein Tip geben, wie ich da an die Lösung kommen könnte.

Vielen Dank schonmal

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

9. Juni 2011 20:14

Also du möchtest quasi ein fixes Reklamations/Retourenlager eintragen?

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

10. Juni 2011 07:34

Genau...
Momentan ist das so, dass die TextBox Lagerortcode die SourceExpression "Location" hat.
Bedeutet, das er ja die komplette Tabelle im zugriff hat.
Der User darf hier nicht die möglichkeit haben einen anderen Lagerort als den von mir vorgegeben auszuwählen.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 07:38

Guten Morgen,

hat keiner einen Tipp wie ich das lösen könnte?

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 07:53

Im Prinzip müsstest du jetzt den Lagerortcode nur noch im OnInsert vorbelegen.

Achten musst du aber eigentlich auf den Lagerortcode in den Zeilen, da ausschlaggebend ist, was dort steht. Und dann gibt es doch sicher noch Funktionen, die den Beleg mit Zeilen füllen? Da müsstest du dann auch noch schauen, dass diese Zeilen mit deinem Lagerortcode vorbelegt werden. Falls die Logik in den Reklamationen es überhaupt zulässt, einen anderen Lagerortcode als in den Belgen zu verwenden, auf die man sich bezieht.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 08:08

Hi,

wenn ich das richtig verstehe, meinst du mit Beleg einen Report, oder?
Ich bewege mich aber noch nicht in einem Report...ich befinde mich erstmal in einem Formular wo ich den Wareneingang von der Reklamation buche.
Es gibt z.B. Lagerorte wie "HL01, HL02, HL03, WL01, WL02, WL03, KL01, KL02, KL03".
Da HL01 der erste in der Tabelle Location ist füllt NAV mir die Textbox im Formular immer automatisch mit diesem.
Ich möchte aber hier den WL03 ausgewählt haben.

Hoffe das ich deine Antwort richtig verstanden habe, und mich noch etwas deutlicher ausdrücken konnte.

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 08:11

OcchiX hat geschrieben:Hi,

wenn ich das richtig verstehe, meinst du mit Beleg einen Report, oder?
Ich bewege mich aber noch nicht in einem Report...ich befinde mich erstmal in einem Formular wo ich den Wareneingang von der Reklamation buche.
Es gibt z.B. Lagerorte wie "HL01, HL02, HL03, WL01, WL02, WL03, KL01, KL02, KL03".
Da HL01 der erste in der Tabelle Location ist füllt NAV mir die Textbox im Formular immer automatisch mit diesem.
Ich möchte aber hier den WL03 ausgewählt haben.

Hoffe das ich deine Antwort richtig verstanden habe, und mich noch etwas deutlicher ausdrücken konnte.

Ciao
Cristian


Hallo, in NAV bedeutet Beleg eine Form mit Kopf und Zeilen. Das "Gegenteil" davon ist ein Buchblatt, das nur Zeilen hat.
Verkaufsbeleg := VK-Auftrag, VK-Rechnung, VK-Gutschrift, VK-RA, VK-Reklamation etc.

edit: wär es nicht überlegenswert den Lagerortcode in der Benutzereinrichtung als zusätzliches Feld einzufügen und so jeder USERID einzeln einen Lagerortcode zuzuweisen?
Zuletzt geändert von Freestyler am 14. Juni 2011 10:16, insgesamt 1-mal geändert.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 10:14

OcchiX hat geschrieben:wenn ich das richtig verstehe, meinst du mit Beleg einen Report, oder?

Nö, meinte ich nicht, sondern wie im vorherigen Beitrag beschrieben.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 10:45

Nö, meinte ich nicht, sondern wie im vorherigen Beitrag beschrieben.


Sorry, kenne mich noch nicht so gut aus in der ganzen NAV Umgebung.

Im Prinzip müsstest du jetzt den Lagerortcode nur noch im OnInsert vorbelegen.


Solange das Feld die SourceExpression "Location" hat, bekomme ich das nicht hin dem Feld mein gewünschten Lagerortcode vorzubelegen.
Wenn ich dem Feld aber als SourceExpressen eine Variable gebe, die dann mit dem Lagerortcode "WL03" fülle, dann steht das zwar im Feld drin, wird aber nicht in die SalesHeader mit übernommen. Dort steht immer "HL01".
Wie kann ich aus der Codeunit die Textbox mit der SourceExpressen "Location" ansprechen und ihr dann sagen sie soll den Lagerortcode "WL03"auswählen?

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 10:59

Wo denn nun - in der Form oder einer Codeunit?

Da du aber sagtest, dass dieser Lagerort generell für Reklamationen gelten soll, wäre das am besten in der Tabelle aufgehoben. Falls es sich um eine Reklamation handelt, setzt du den Lagerort.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 11:16

Ich habe angenommen, das ich das aus der Codeunit machen müsste, mit dem setzen des Lagerortcode Wertes in der Textbox.
So hab ich es zumindest versucht und es hat leider nicht funktioniert.

Ist Zustand:
- In der Tabelle "Location" gibts den Lagerortcode "WL03"
- Die Textbox "Lagerortcode" in der Form 6630 hat als SourceExpresson die Tabelle "Location"


Falls es sich um eine Reklamation handelt, setzt du den Lagerort.


Wie mach ich das...das ist leider die Problematik an der ich scheitere.

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 11:32

Nicht, dass wir uns missverstehen - wovon sprichst du genau? Wird die Reklamation aus einer Codeunit erstellt? Nach deinem ersten Beitrag vermutlich nicht, da du dort die Form Verkaufsreklamation erwähnt hast.

Wo und wie hast du es denn bisher probiert?

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 11:47

Ne, schon richtig, ich gehe in die Form Verkaufsreklamation und drücke auf der Tastatur "F3" damit ich eine neue Verkaufsreklamation erstellen kann.

Ich habe bis jetzt folgendes gemacht:
- Textbox nicht editierbar => funktioniert
- Textbox von SourceExpression "Location" auf SourceExpression "VariablenName" geändert
- Variable im OnOpenForm Trigger mit dem "WL03" gesetzt => funktioniert, WL03 wird in Textbox angezeigt sobald ich die Form öffne und in den Reiter gehe
- im OnNewRecord versucht den neuen Datensatz mit dem "WL03" wegzuschreiben => funktioniert nicht
- das selbe hab ich versucht im OnInsertRecord und im OnBeforPutRecord => funktioniert nicht

so versuche ich das wegzuschreiben:
Code:
SalesHeader.Location := Variable;
SalesHeader.Modify;


Hoffe die Infos reichen aus

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 12:14

Das mit der Variable wäre nicht nötig. Das Problem ist, dass der Lagerortcode in der Tabelle neu geschrieben wird (über OnInsert und dann die Funktion InitRecord), und dann beim Eintragen der Debitornummer möglicherweise noch einmal, falls dem Debitoren ein fester Lagerort zugeordnet ist. Es dürfte also ausreichen, im OnValidate des Feldes Customer No. einzugreifen, besser jedoch auch im InitRecord.

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 14:32

Das OnValidate im Customer No. hab ich gefunden, kann leider nirgens das InitRecord finden.

Damit wüsste ich wo ich da eingreifen muss...aber wie ich da eingreifen muss, das ist mein größeres Problem.
Wie sag ich der TextBox, das er sich den WL03 Eintrag aus der Tabelle Location holen soll?

Ciao
Cristian

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 15:37

OcchiX hat geschrieben:Das OnValidate im Customer No. hab ich gefunden, kann leider nirgens das InitRecord finden.

So war's auch gemeint.

OcchiX hat geschrieben:Wie sag ich der TextBox, das er sich den WL03 Eintrag aus der Tabelle Location holen soll?

Wenn sich der Lagerort für Reklamationen nicht ändert, kannst du den Wert ganz einfach zuweisen. Oder versteh ich etwas falsch?

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 15:55

Ne, hast es schon richtig verstanden...
Auf dieser Karte werden nur Reklamationen eingetragen, die in dem "WL03" Lagerort eingelagert werden.
Meine Wissenslücke besteht ja darin, das ich nicht weiß, wie ich den Wert "WL03" zuweise.
Ich muss meiner Meinung nach der Textbox sagen können, nimm den Wert "WL03" aus der Tabelle "Location".

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

14. Juni 2011 16:32

Sowas wie a:=b oder validate(a,b) kennst du aber?

Re: Verkaufsreklamation - Lagerortcode vorbelegen/not Editab

15. Juni 2011 00:28

OcchiX hat geschrieben:Ne, hast es schon richtig verstanden...
Auf dieser Karte werden nur Reklamationen eingetragen, die in dem "WL03" Lagerort eingelagert werden.
Meine Wissenslücke besteht ja darin, das ich nicht weiß, wie ich den Wert "WL03" zuweise.
Ich muss meiner Meinung nach der Textbox sagen können, nimm den Wert "WL03" aus der Tabelle "Location".


Früher sagte mein Französischlehrer: "pour les problemes du vocabulaire il y a la medicine microrobert" (Micro Robert von Pons)

Sinngemäß würde ich heute sagen: "pour les problemes essentiels du C/AL il y a les liens suivantes:"

http://www.navision24.de/befehle/index.html

Sonst:

http://www.amazon.de/Programming-Micros ... 200&sr=8-1

Des is ned bös gemeint, aber vielleicht wär es gut die Grundlagen im Netz nachzulesen?

Ich schick dir gern 2 PDFs mit Programming 1 + 2 unter NAV 4.03 (gilt auch für 5.01), wenn du mir ne PM schreibst.