Hallo allerseits ! Bin Anfänger und hänge an folgendem Problem : Ich möchte in einer Verkaufszeile die Artikelposten zu dem Artikel , den ich gerade fakturieren möchte , für den aktuellen Debitor mir anzeigen lassen . Beispiel : Kunde X bestellt Artikel Y . Ich möchte auf Tastendruck ( z.B. MenüItem ) erfahren was der Kunde zuletzt für diesen Artikel bezahlt hat . Die Relation “Artikel zu Artikelposten” krieg ich noch hin , jedoch “Artikel zu Artikelposten zu Debitor” ist mir nach langem Probieren nicht gelungen . Wer kann mir helfen und evtl. den Code nennen ?
Ich bin nicht sicher, ob ich Dir da helfen kann. Das liegt daran, dass mir die Tabelle “Artikelposten” nicht bekannt ist (ich arbeite ja schliesslich mit der Schweizer Navision Version). Frage: Ist “Artikelposten” = Tabelle 32 (was bei uns Lagerposten heisst)? Wenn ja, dann … (wenn nein, kannst Du aufhören zu lesen) Die Felder heissen in der deutschen Version vielleicht anders, deshalb definiere ich mal die Feldnummern: Feld 41, ist die Quellenart Feld 5 ist die Quellennummer Über Quellenart=Quellenart::Debitor und Quellennummer=Debitor.Nummer kannst Du - zusammen mit Nummer=Artikel.Nummer alle Lagerposten (Artikelposten) filtern. Mit entsprechend schlau gesetzten Keys lässt sich das dann recht schnell bewerkstelligen: Du brauchst einen Key auf >Postenart, Quellenart,Quellennr.,Artikelnummer,Buchungsdatum<, kannst dann Setrange auf Postenart::Verkauf, Quellenart::Debitor, Quellennr. und Artikelnummer setzen und mit Find(’+’) den letzten Posten des Debitors finden. … zumindest den letzten Posten, der gebucht worden ist! Vielleicht wäre es in diesem Falle besser, die Gebuchten Verkaufsrechnungszeilen (Tabelle 113) in ähnlichem Stil nach dem letzten Eintrag für diesen Debitor zu durchforsten. Es kommt ein bisschen darauf an, wie bei Euch (bzw. Deinem Kunden) die Rechnungen erstellt werden: Ist jeder Auftrag zugelich eine Rechnung, die sofort gebucht wird? oder werden monatliche Sammelrechnungen erstellt? In einigen Projekten hatte ich ähnliche Anforderungen. Dort aber führen wir pro Kunden eine Preisliste, die alle Artikel und Preise enthält, die dieser Kunde in den letzten x Tagen geordert hat. Aber das würde jetzt etwas zu weit führen. Oder doch nicht? Beschreib’ mir mal Deine Situation. Ich bin sicher, wir finden eine Lösung. Tschüss Marcus Fabian m.fabian@thenet.ch
Danke Fabian ! Der Tip die Table 113 zugrundezulegen war wichtig. Ich habe eine neue Form erstellt , die auf die Table 113 verweist . Dann habe ich diese Form unter RunObject in einem MenuItem untergebracht. In Den Properties dieses MenuItems habe ich unter RunFormLink die Tables " Verk. an Debitor " von der Verkaufsrechnungszeile mit " Verk. an Debitor " des Verkaufkopfs verlinked. Ich weiß aber nicht wie ich den Artikel in der Verkaufsrechnungszeile mit dem aktuellen Artikel der gegenwärtigen Verkaufszeile verlinke . PS: Habe noch keinen Code eingetragen ( erlichgesagt habe ich , wenns um Codes geht keine Erfahrung .
quote:
Ich weiß aber nicht wie ich den Artikel in der Verkaufsrechnungszeile mit dem aktuellen Artikel der gegenwärtigen Verkaufszeile verlinke .
Vielleicht gehst Du schon zu weit, wenn Du zwei Forms (Debitor und Geb. Verkaufsrechnungszeilen) erstellst. Das Subform (auf T113) würde doch eigentlich schon reichen: Verknüpfe einfach von der Verkaufszeile (T37) auf die Geb. RgZeile T113 mit Auftraggebernummer und Artikelnummer. Damit hast Du eigentlich schon alles. Viel Spass! Marcus Fabian m.fabian@thenet.ch
Hallo Fabian , Wie soll es denn möglich sein die Verkaufszeile T37 auf die T113 zu verlinken ? Wenn ich tablefilter setzen will legt er immer den Verkaufskopf zugrunde . Vielleicht mach ich ja grundsätzlich etwas falsch . Ich weiß nur nicht was . Wie sollte ich grundsätslich dieses Problem ( als NF-Anfänger ) angehen ?
quote:
Wie soll es denn möglich sein die Verkaufszeile T37 auf die T113 zu verlinken ?
Nur nicht soweit denken! Du brauchst genau vier Zeilen Code. Nehmen wir ein Beispiel: Voraussetzung ist, dass Du auf T113 einen Schlüssel auf Auftraggebernr.,Artikelnr. hast. Ansonsten kann’s tierisch lange dauern. Nun möchtest Du im Form 46, der Verkaufsauftragszeile auf Feld Nummer (= Artikelnummer) mit Drilldown (oder Button) die Liste aller gebuchten Verkaufsrechnungszeilen (T113), die der Auftraggeber jemals geordert hat. ok? Also: Im Form 46, Feld Nummer, Trigger: OnDrilldown:
GebVKZ.Setcurrentkey("Auftraggebernr.",Nummer);
GebVKZ.SETRANGE(GebVKZ."Auftraggebernr.","Auftraggebernr.");
GebVKZ.SETRANGE(Nummer,Nummer);
FORM.RUNMODAL(FORM::"Geb. Verkaufsrechnung Subform",GebVKZ);
— Hierbei ist GebVKZ (= Gebuchte Verkaufszeile) eine Variable vom Typ Record 113. das Form musst Du entsprechend ändern, ich habe Form 113 (Geb. Verkaufsrechnung Subform) verwendet. Ist noch irgend etwas klar? Tschüss Marcus Fabian m.fabian@thenet.ch
Klasse Fabian !!! Noch´n Blumenstrauß von mir ! Es hat wunderbar geklappt . Es ist genau das was ich haben wollte ! Ich werde die Funktionalität auch im Kreditoren / Einkauf implementieren . Jedoch mit dem Drilldown ist es nicht sehr komfortabel , da ich die Tastenkombination Alt+“pfeil unten” für die Übersicht nutze , diese aber durch die neue Funktionalität nicht mehr Möglich ist. Was außer Drilldown ist noch möglich ( am liebsten wäre eine Tastenkombi. )
Klasse Fabian !!! Noch´n Blumenstrauß von mir ! Es hat wunderbar geklappt . Es ist genau das was ich haben wollte ! Ich werde die Funktionalität auch im Kreditoren / Einkauf implementieren . Jedoch mit dem Drilldown ist es nicht sehr komfortabel , da ich die Tastenkombination Alt+“pfeil unten” für die Übersicht nutze , diese aber durch die neue Funktionalität nicht mehr Möglich ist. Was außer Drilldown ist noch möglich ( am liebsten wäre eine Tastenkombi. )