23. August 2010 10:16
Ich lasse im OnPush-Trigger eines Controlls der Bericht 5405 laufen, der über bestimmte Fertigungsaufträge geht und alle Komponenten findet, die die Buchungsmethode = manuell haben! Diese Positionen werden dann in das Verbrauchs –Buch. Blatt geschrieben. Im zweiten Schritt möchte ich, dass diese Positionen auch gleich gebucht werden. Wie kann ich das machen?
Ich würde gerne der vorhandene Code hier (Verbrauchs –Buch. Blatt --> Button Buchen) verwenden wollen. Der Programmcode lautet:
CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);
CurrentJnlBatchName := GETRANGEMAX("Journal Batch Name");
CurrForm.UPDATE(FALSE);
Ich habe einiges probiert und ich bin leider zu keinem positiven Ergebnis gekommen! Vielleicht habt Ihr so was schon mal gehabt und Ihr könnt helfen!
Danke im Voraus…
23. August 2010 10:32
Hallo,
was für ein Fehler erscheint denn?
Im Normalfall sollte die erste Zeile deines Codes ausreichen.
23. August 2010 10:39
Hallo,
ich habe die erste Zeile "CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);" übernommen und habe versucht zu kompilieren!
Ich bekomme dann diese Fehlermeldung:
---------------------------
Microsoft Business Solutions-Navision
---------------------------
Sie haben eine unbekannte Variable angegeben.
REC
Definieren Sie die Variable unter 'C/AL Globale Variablen'.
---------------------------
OK
---------------------------
23. August 2010 13:55
Wo hast du den Code hingeschrieben?
das funktioniert bei mir einwandfrei:
- Code:
Control100000000 - OnPush()
REPORT.RUN(5405);
CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);
23. August 2010 14:08
So sieht es bei mir aus:
- Code:
IF Zeile.FIND('-') THEN
REPEAT
FAKopf.RESET;
FAKopf.SETFILTER("No.",FA_Nr);
Verbrauchberechnen.SETTABLEVIEW(FAKopf);
Verbrauchberechnen.RUN();
UNTIL
Zeile.NEXT = 0;
CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);
Zuletzt geändert von amouslih am 23. August 2010 16:31, insgesamt 1-mal geändert.
23. August 2010 14:56
Es wäre schön ,wenn du das in CodeTags setzen könntest [code][/code].Edit: Danke
Wenn ich das richtig lese, dann musst du nachdem dein Code alles berechnet hat, dir die entsprechenden Artikelbuchblattzeilen suchen und diese dann verbuchen. Dabei wäre dann "Rec" = eine beliebige Variable vom Typ "Record 83" gefiltert auf die entsprechenden Sätze.
25. August 2010 12:49
Ich habe das jetzt so gemacht:
- Code:
ItemJournalLine.RESET;
ItemJournalLine.SETFILTER("Journal Template Name",'VERBRAUCH');
ItemJournalLine.SETFILTER("Journal Batch Name",'AUTOMATIC');
IF ItemJournalLine.FINDSET THEN
CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);
Und schon beim Kompilieren bekomme ich die Fehlermeldung: Sie haben eine unbekannte Variable angegeben…
25. August 2010 12:54
Komisch, in den ersten vier Zeilen hast du's - mal abgesehen von den SetFilters, SetRanges wären schöner gewesen - richtig gemacht
25. August 2010 13:14
amouslih hat geschrieben:Ich habe das jetzt so gemacht:
- Code:
ItemJournalLine.RESET;
ItemJournalLine.SETRANGE("Journal Template Name",'VERBRAUCH');
ItemJournalLine.SETRANGE("Journal Batch Name",'AUTOMATIC');
IF ItemJournalLine.FINDSET THEN
CODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",ItemJournalLine);
Und schon beim Kompilieren bekomme ich die Fehlermeldung: Sie haben eine unbekannte Variable angegeben…
Es wäre besser die Buchblattvorlage und -namen irgendwo im Setup zu hinterlegen, damit bei einer eventuellen Änderung nicht der Code geändert werden muss
so müsste es gehen!
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.