31. März 2010 11:10
Buchblattzeile.setrange( "Journal Template Name", 'ITEM');
Buchblattzeile.setrange( "Journal Batch Name" , 'STANDARD');
form.run( form::"item journal", buchblattzeile);
31. März 2010 11:35
31. März 2010 11:46
31. März 2010 14:02
Buchblattzeile.setrange( "Journal Template Name", 'ITEM');
Buchblattzeile.setrange( "Journal Batch Name" , 'STANDARD');
IF Buchblattzeile.FINDFIRST THEN
form.run( form::"item journal", buchblattzeile);
31. März 2010 14:23
Melanie hat geschrieben:Ob das deine Fehlermeldung löst, weiß ich nicht, aber nach deinem SETRANGE musst du ein FINDFIRST machen. Sonst filtert er nicht.
- Code:
Buchblattzeile.setrange( "Journal Template Name", 'ITEM');
Buchblattzeile.setrange( "Journal Batch Name" , 'STANDARD');
IF Buchblattzeile.FINDFIRST THEN
form.run( form::"item journal", buchblattzeile);
31. März 2010 14:32
Danjo hat geschrieben:Oder kann das jemand bestätigen das Filter nur gesetzt werden wenn man danach einen FIND nutzt?
31. März 2010 14:57
31. März 2010 15:17
McClane hat geschrieben:Das Record wird im OnOpenForm gesetzt, abhängig von der Variable CurrentJnlBatchName. Man muss also dafür Sorgen, dass im OnOpen da der richtige Buchblattname drin steht und nicht von dem letzten Buchblattnamen, mit dem die Form benutzt wurde, überschrieben wird.
Natalie hat geschrieben:Oben in der Form gibt es eine Eingabemöglichkeit des aktuell gewählten Buchblattes. Dies referenziert auf eine globale Variable CurrentJnlBatchName. Diese Variable solltest du im OnOpenForm-Trigger (am Ende) auf 'STANDARD' ändern (ist das nicht per default sowieso der Fall??) - dann macht die Form automatisch das, was du möchtest.
1. April 2010 08:57
1. April 2010 09:14
habreli hat geschrieben:Tja, hat jemand eine Idee, WAS GENAU die Fehlermeldung bedeutet. Ich werd nicht schlau draus.
CheckTemplateName(ItemJnlLine.GETRANGEMAX("Journal Template Name"),CurrentJnlBatchName);
ItemJnlLine.FILTERGROUP := 2;
ItemJnlLine.SETRANGE("Journal Batch Name",CurrentJnlBatchName);
ItemJnlLine.FILTERGROUP := 0;
6. April 2010 17:35
Buchblattzeile.SETFILTER( "Journal Template Name", 'ITEM..ITEM');
Buchblattzeile.setrange( "Journal Batch Name" , 'STANDARD');
form.run( form::"item journal", buchblattzeile);
7. April 2010 08:28
17. Juni 2010 09:01
Natalie hat geschrieben:
Fazit: nicht die Form gefiltert aufrufen.
Erstelle eine Funktion, die hinten im OnForm-Trigger die globale Variable auf deinen Wunschwert setzt.
17. Juni 2010 09:29
7. Dezember 2010 18:26
ItemJnlMgt.TemplateSelectionFromBatch(Rec);
OpenFromBatch := TRUE;
ItemJnlTemplate.GET(ItemJnlBatch."Journal Template Name");
ItemJnlTemplate.TESTFIELD("Form ID");
ItemJnlBatch.TESTFIELD(Name);
ItemJnlLine.FILTERGROUP := 2;
ItemJnlLine.SETRANGE("Journal Template Name",ItemJnlTemplate.Name);
ItemJnlLine.FILTERGROUP := 0;
ItemJnlLine."Journal Template Name" := '';
ItemJnlLine."Journal Batch Name" := ItemJnlBatch.Name;
FORM.RUN(ItemJnlTemplate."Form ID",ItemJnlLine);
// >> NEU
OpenedFromBatch := ("Journal Batch Name" <> '') AND ("Journal Template Name" = '');
IF OpenedFromBatch THEN BEGIN
CurrentJnlBatchName := "Journal Batch Name";
ItemJnlMgt.OpenJnl(CurrentJnlBatchName,Rec);
EXIT;
END;
// << NEU
ItemJnlMgt.TemplateSelection(FORM::"Item Journal",0,FALSE,Rec,JnlSelected);
IF NOT JnlSelected THEN
ERROR('');
ItemJnlMgt.OpenJnl(CurrentJnlBatchName,Rec);