NEXT BUTTON

31. Januar 2012 14:05

Hallo,
Ich habe in der Form Debitorenprüfung einen neuen Reiter erstellt.
Ziel : alle Artikel, bei denen der Debitor einen Rabatt hat, aufisten.
Lösung : SUBFORM Debitor Artikelrabatte, kinderleicht.
Code:
//Debitoren Nummer Filtern
DebRabatte.SETRANGE(DebRabatte."Debitornr.","Nr.");

IF DebRabatte.FIND('-') THEN BEGIN
 //Lokale Var.
  ArtikelNr:=DebRabatte."Artikelnr.";

 //Preis aus der ArtikelTabelle holen
  IF Artikel.GET(ArtikelNr) THEN  VKPreis:=Artikel."VK-Preis 3";
 //Lokale Var.
Rabatt:=DebRabatte."Debitor-Artikelrabatt %";
Sonderrabatt:=DebRabatte."Sonderrabatt %";
Netto1:=VKPreis*((100-Rabatt)/100);
Netto2:=Netto1*((100-Sonderrabatt)/100);
END;


alles klappt wunderbar mit dem ersten Artikel, bearbeitung usw...
Problem : ich habe einen Button erstellt und möchte mit dem Push zum nächsten Artikel in der SUBFORM springen

und habe folgendes ausprobiert:
Code:
DebRabatte.NEXT

aber damit springt er zum nächsten Debitor.

Ich brauche wiedermal eure Hilfe
Zuletzt geändert von solionte am 21. Februar 2012 15:48, insgesamt 5-mal geändert.

Re: NEXT BUTTON IN SUBFORM

31. Januar 2012 14:11

Versuch dich doch mal am Befehl FIND.

Re: NEXT BUTTON IN SUBFORM

31. Januar 2012 14:51

IRGENDWAS MACHE ICH FALSCH :-(
wie soll ich Find einsetzen ?
im Button.ONPUSH() !!!

Re: NEXT BUTTON IN SUBFORM

31. Januar 2012 16:53

FIND('>'). Vielleicht ist das etwas für dich. Grundsätzlich wüsste ich auch nicht was am NEXT verkehrt sein sollte. Wichtig ist halt, dass die Record-Variable richtig gefiltert ist und auf den korrekten Satz steht.

NEXT BUTTON

17. Februar 2012 16:37

Danke für deine Unterstüzung.
Lösungsvorschlag:

bei jedem Record (DebitorNr) läuft eine Schleife über die Artikel (Repeat Until Next=0)
mit Rec.Next Springe ich zum nächsten Debitor (ist klar)
Ich habe das als Funktion mit einem Integer Parameter.
Beim ersten Aufruf mit Berechnung(0) bin ich beim ersten Artikel. :-D
Mit einem Button möchte ich zum nächsten Artikel
Beim ONPUSH() rufe ich die Funktion Berechnung(+1)
Code:
DebRabatte.SETRANGE(DebRabatte."Debitornr.","Nr."); //Filter
IF DebRabatte.FIND('-') THEN BEGIN //der Debitor wird gefunden
DebRabatte.NEXT(Para); //zum Artikel springen
ArtikelNr:=DebRabatte."Artikelnr.";//in einer Variable speichern
END;

ES KLAPPT NICHT: :-(
kann mir bitte jemand helfen

Re: NEXT BUTTON

20. Februar 2012 10:05

Ich würde gern helfen, verstehe aber absolut nicht, was du gerne erreichen möchtest.
solionte hat geschrieben:Ich habe in Debitorenprüfung einen neuen Reiter erstellt.

Was ist "Debitorenprüfung"? Eine Form? Der neue Reiter enthält eine Subform? Auf die Tabelle "Debitoren Artikelrabatte"?

solionte hat geschrieben:Ziel2 : Einen Rechner erstellen, mit dem man jeden Artikel aus der SUBFORM ,
bearbeiten kann ohne die Quelldaten zu ändern.

Was bedeutet das? Man soll in einem Feld irgendetwas berechnen können, was aber nicht gespeichert wird und somit spätestens beim Schließen der Form verworfen wird?

solionte hat geschrieben:alles klappt wunderbar mit dem ersten Artikel, bearbeitung usw...
Problem : ich habe einen Button erstellt und möchte mit dem Push zum nächsten Artikel in der SUBFORM springen

Hier komme ich einfach nicht mehr mit. In einer Subform muss ich doch nur die Pfeil-Taste nach unten drücken, um zum nächsten Datensatz zu kommen, warum benötigst du einen Button?

Mag sein, dass ich eine falsche Vorstellung davon habe, wie die Form aussieht, aber bitte erkläre noch mal die Anforderung, dann kann man dir bestimmt helfen.

Re: NEXT BUTTON

21. Februar 2012 16:21

Hallo,
siehe Anhang
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: NEXT BUTTON

21. Februar 2012 17:11

OK, jetzt habe ich verstanden was du willst. In der SubForm erstellst du dir eine Funktion NextRec mit folgendem Inhalt:
Code:
NEXT;
CurrForm.UPDATE(FALSE);

Auf der MainForm vergibst du für das SubForm-Control einen Namen (Property Name), z.B. CustItemDiscounts. Dann kannst du im OnPush-Trigger des Buttons folgenden Code platzieren:
Code:
CurrForm.CustItemDiscounts.FORM.NextRec;

Nicht schön, sollte aber funktionieren.

Re: NEXT BUTTON

22. Februar 2012 09:53

Erstmal Danke,

Code:
CurrForm.CustItemDiscounts.FORM.NextRec;

Nicht schön, sollte aber funktionieren.


leider kommt eine Fehlermeldung

Unbekante Variable "NextRec"
und so klappt es auch nicht.
Code:
CurrForm.CustItemDiscounts.FORM.NextRec();

Re: NEXT BUTTON

22. Februar 2012 10:01

Dann hast du die Funktion in der SubForm nicht erstellt oder ihr einen anderen Namen gegeben. Oder du hattest die MainForm im Designer geöffnet, während du die Funktion in der SubForm angelegt hast; dann einmal unkompiliert speichern und wieder öffnen.

Re: NEXT BUTTON

22. Februar 2012 10:17

Super!
Vielen Dank, das sieht schon mal gut aus.

ich muss nur den Artikel unten links anzeigen können.

Re: NEXT BUTTON

22. Februar 2012 10:28

Die Frage sei erlaubt: warum ist jetzt eigentlich der NEXT-Button notwendig? Man muss doch nur mit der Maus in der SubForm einen Datensatz tiefer klicken. Ist doch auch nur ein Klick?

Re: NEXT BUTTON

22. Februar 2012 10:36

Das soll nich im Subform gezeigt werden sondern UNTEN LINKS (siehe oben Bild). und im Code.

Re: NEXT BUTTON

22. Februar 2012 10:43

Schon klar, aber warum? Ich meine der NEXT-Button ist doch vermutlich dazu da, damit der Anwender draufklickt. Wenn er drauf klickt, kann er doch auch gleich im SubForm einfach einen Datensatz tiefer anklicken. Das verstehe ich nicht. Wo ist der Nutzen? Warum macht man sowas? Zumal es ja auch keinem Design-Standard entspricht, so dass man die Bedienung für diese Form einem Anwender extra erklären muss. Versteh mich nicht falsch: ich habe dir gerne eine Lösung aufgezeigt und in seiner eigenen Datenbank kann man ja machen was man will, ich wollte nur den Nutzen erkennen.

Re: NEXT BUTTON

22. Februar 2012 11:16

Die Aufgabe:
Es muss einen weg geben um für jeden Artikel bei jedem Debitor eine Rabatt-Vorkalkulation zu rechnen ohne die zu übernehmen,und ohne die Stammdaten zu verändern. Und das, muss unter der Debitorenprüfung-Form realisiert werden.
mein Gedanke:
unter der Form Debitoren ArtikelRabatte hat man alle Infos die man braucht, aber nur in eine Liste von Artikeln.
also ich brauche einen Weg bei dem gleischen Debitor die Artikel nach und nach, und nicht alle auf einmal, zu bearbeiten.